风止雨歇

上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页

2020年6月28日

Fork/Join框架

摘要: 一、概念 Fork/Join 框架是 Java7 提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork 就是把一个大任务切分为若干子任务并行的执行,Join 就是合并这些子任务的执行结果,最后得到这个大任务的结果。 Fork/ 阅读全文

posted @ 2020-06-28 23:32 风止雨歇 阅读(425) 评论(0) 推荐(0) 编辑

2020年6月22日

线程池及Executor框架

摘要: 1. 线程的实现方式 讲线程池之前我们先看一下线程的实现方式: Thread,Runnable,Callable // 实现Runnable接口的类将被Thread执行,表示一个基本的任务 public interface Runnable { // run方法就是它所有的内容,就是实际执行的任务 阅读全文

posted @ 2020-06-22 22:10 风止雨歇 阅读(277) 评论(0) 推荐(0) 编辑

2020年6月20日

阻塞队列 BlockingQueued & 条件队列和同步队列

摘要: 一、BlockingQueued BlockingQueued 队列使用 ReentrantLock 和 Condition(AQS实现)来实现的。Condition 只能用于独占模式。 条件队列中的节点永远不会被唤醒,一直阻塞者;要想唤醒,则需要把该节点放到CLH队列中,放入到CLH队列中才有机会 阅读全文

posted @ 2020-06-20 17:26 风止雨歇 阅读(1072) 评论(0) 推荐(0) 编辑

2020年6月17日

Atomic & Unsafe

摘要: 1、Automic Java中 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 所谓原子类说简单点就是具有原子/原子操作特征的类。Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多 阅读全文

posted @ 2020-06-17 23:17 风止雨歇 阅读(284) 评论(0) 推荐(0) 编辑

2020年6月12日

并发工具类 Semaphore & CountDownLatch & CyclicBarrier & Executors & 面试应用

摘要: 1、Semaphore Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源,它是共享锁的方式。 Semaphore可以用于做流量控制,特别是公用资源有限的应用场景。 1.1 构造方法 public Semaphore(int permits 阅读全文

posted @ 2020-06-12 23:35 风止雨歇 阅读(214) 评论(0) 推荐(0) 编辑

2020年6月11日

AbstractQueuedSynchronizer 详解

摘要: 一、AQS的概念及使用 Java并发编程核心在于 java.concurrent.util 包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于 AbstractQueuedSynchronizer 简称AQS,AQS定义了 阅读全文

posted @ 2020-06-11 21:58 风止雨歇 阅读(4537) 评论(0) 推荐(2) 编辑

2020年6月2日

synchronized详解

摘要: 多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况;这种资源可能是:对象、变量、文件等。 由于线程执行的过程是不可控的,所以需要采用同步机制来协同对对象可变状态的访问,那么我们怎么解决线程并发安全问题? 实际上,所有的并发模式在解决线程安全问题时,采用的方案都是 序列化访问临界资源 阅读全文

posted @ 2020-06-02 23:18 风止雨歇 阅读(6341) 评论(0) 推荐(0) 编辑

2020年5月25日

垃圾收集器

摘要: 1、垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现 。 虽然我们现在对各个垃圾收集器进行比较,但并不是选出一个最好的,因为现在还没有一个最好的垃圾收集器出现,更加没有万能的垃圾收集器,我们只是根据各种场景选择适合自己的垃圾收集器。 1.1 Serial 收集器(- 阅读全文

posted @ 2020-05-25 22:38 风止雨歇 阅读(297) 评论(0) 推荐(0) 编辑

2020年5月19日

JVM内存分配机制与垃圾回收算法

摘要: 1、JVM 内存分配与回收 -Xmx:最大堆内存,默认为物理内存的 “1 / 4”; -Xms:初始堆内存,默认为物理内存的 “ 1 / 64”; 1.1 对象优先在 Eden 区分配 大多数情况下,对象在新生代中 Eden 区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次 Mino 阅读全文

posted @ 2020-05-19 21:17 风止雨歇 阅读(558) 评论(0) 推荐(0) 编辑

2020年5月10日

JVM内存模型深度解析

摘要: 一、JVM整体结构和内存模型 上图示例中的代码: public class Math { public static int initData = 666; public static User user = new User(); public int compute() { int a = 1; 阅读全文

posted @ 2020-05-10 23:08 风止雨歇 阅读(614) 评论(1) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页

导航