java-forkjoin框架使用和一些原则

2020-01-07
阅读 3 分钟
3.4k
先扯一波使用 两个demo解决 使用RecursiveAction无状态任务拆分(无返回值状态) 注意几个点 awaitQuiescence 是监控这个forkjoin是否都完成 awaitTermination 是监控这个forkjoin是否shutdown 使用execute表示用无返回值的方法来处理异步请求 {代码...} 使用RecursiveTask有状态任务查分 注意一个点 使用 submit 和 futur...

java-多线程编程2-并发性问题-底层实现

2020-01-02
阅读 4 分钟
1.1k
由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无须等待缓慢的内存读写了。

java-多线程编程1-基础

2020-01-02
阅读 7 分钟
1.1k
内核线程(Kernel-Level Thread,KLT)就是直接由操作系统内核(Kernel,下称内核)支持的线程,这种线程由内核来完成线程切换,内核通过操纵调度器(Scheduler)对线程进行调度,并负责将线程的任务映射到各个处理器上。

java8-线程池问题-jvmgc置空回收机制的排查

2020-01-02
阅读 7 分钟
3.4k
问题就在这个不可达上面 , 官方的解释是 可达对象 (reachable object) 是可以从任何活动线程的任何潜在的持续访问中的任何对象;java 编译器或代码生成器可能会对不再访问的对象提前置为 null,使得对象可以被提前回收

dubbo分析(1)-插件化模块化能力类SPI能力设计解析

2020-01-01
阅读 12 分钟
2.1k
基于dubbo 2.7 版本 都说duboo的插件化是基于spi我并不认同着一个观点。 我认为dubbo是自己实现了一波spi类似spring boot 总结:dubbo 并没有使用java的spi而是实现了一种更加强悍的spi机制(自动类加载机制) 核心类ExtensionLoader dubbo 自己实现SPI机制 其实这一块的逻辑很简单,定位到了核心类ExtensionLoader的两个...

java-从java线程池来看java的阻塞队列

2019-12-24
阅读 4 分钟
1.7k
1.ArrayDeque, (数组双端队列) 2.PriorityQueue, (优先级队列) 3.ConcurrentLinkedQueue, (基于链表的并发队列) 4.DelayQueue, (延期阻塞队列)(阻塞队列实现了BlockingQueue接口) 5.ArrayBlockingQueue, (基于数组的并发阻塞队列) 6.LinkedBlockingQueue, (基于链表的FIFO阻塞队列) 7.LinkedBlockingDeque...