上一页 1 2 3 4 5 6 ··· 9 下一页
摘要:使用 ThreadLocal 不当可能会导致内存泄露,是什么原因导致的内存泄漏呢? 我们首先看一个例子,代码如下: 代码(1)创建了一个核心线程数和最大线程数为 6 的线程池,这个保证了线程池里面随时都有 6 个线程在运行。 代码(2)创建了一个 ThreadLocal 的变量,泛型参数为 Loca 阅读全文
posted @ 2018-07-14 23:21 妮蔻 阅读 (1023) 评论 (2) 编辑
摘要:FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过FutureTask的get方法异步获取执行结果,因此,FutureTask非常适合用于耗时的计算,主线 阅读全文
posted @ 2018-07-13 17:32 妮蔻 阅读 (626) 评论 (0) 编辑
摘要:SimpleDateFormat 是 Java 提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个 SimpleDateFormat 实例对日期进行解析或者格式化会导致程序出错,本节就讨论下它为何是线程不安全的,以及如何避免。 为了复现上面所说的不 阅读全文
posted @ 2018-07-12 16:14 妮蔻 阅读 (685) 评论 (5) 编辑
摘要:timer在JDK里面,是很早的一个API了。具有延时的,并具有周期性的任务,在newScheduledThreadPool出来之前我们一般会用Timer和TimerTask来做,但是Timer存在一些缺陷,为什么这么说呢? Timer只创建唯一的线程来执行所有Timer任务。如果一个timer任务 阅读全文
posted @ 2018-07-12 01:47 妮蔻 阅读 (589) 评论 (0) 编辑
摘要:JUC 中 Semaphore 的使用与原理分析,Semaphore 也是 Java 中的一个同步器,与 CountDownLatch 和 CycleBarrier 不同在于它内部的计数器是递增的,那么,Semaphore 的内部实现是怎样的呢? Semaphore 信号量也是Java 中一个同步容 阅读全文
posted @ 2018-07-08 17:23 妮蔻 阅读 (360) 评论 (0) 编辑
摘要:JUC 中 回环屏障 CyclicBarrier 的使用与分析,它也可以实现像 CountDownLatch 一样让一组线程全部到达一个状态后再全部同时执行,但是 CyclicBarrier 可以被复用。那么 CyclicBarrier 内部的实现与 CountDownLatch 有何不同那? Co 阅读全文
posted @ 2018-07-07 22:10 妮蔻 阅读 (275) 评论 (0) 编辑
摘要:JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 CountDownLatch 是比调用线程的 join 方法更好的选择,CountDownLatch 与 线程的 join 方法区别是什么? 日常开发中经常会遇到需要在主线程中开启多线 阅读全文
posted @ 2018-07-06 21:33 妮蔻 阅读 (1104) 评论 (0) 编辑
摘要:JDK 中无界优先级队列PriorityBlockingQueue 内部使用堆算法保证每次出队都是优先级最高的元素,元素入队时候是如何建堆的,元素出队后如何调整堆的平衡的? PriorityBlockingQueue是带优先级的无界阻塞队列,每次出队都返回优先级最好或者最低的元素,内部是平衡二叉树堆 阅读全文
posted @ 2018-06-26 16:34 妮蔻 阅读 (760) 评论 (0) 编辑
摘要:JDK 中基于数组的阻塞队列 ArrayBlockingQueue 原理剖析,ArrayBlockingQueue 内部如何基于一把独占锁以及对应的两个条件变量实现出入队操作的线程安全? 首先我们先大概的浏览一下ArrayBlockingQueue 的内部构造,如下类图: 如类图所示,可以看到Arr 阅读全文
posted @ 2018-06-24 16:58 妮蔻 阅读 (271) 评论 (0) 编辑
摘要:JDK 中基于链表的阻塞队列 LinkedBlockingQueue 原理剖析,LinkedBlockingQueue 内部是如何使用两个独占锁 ReentrantLock 以及对应的条件变量保证多线程先入队出队操作的线程安全?为什么不使用一把锁,使用两把为何能提高并发度? LinkedBlocki 阅读全文
posted @ 2018-06-23 21:45 妮蔻 阅读 (1396) 评论 (0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页