
#Java多线程
Athement
这个作者很懒,什么都没留下…
展开
-
Java高并发(六)-Java8/9/10
1 Java8的函数式编程函数式编程特点函数可作为返回值限制副作用:限制修改函数外部的状态的途径 显式函数:函数与外界交换数据的唯一渠道是参数和返回值 隐式函数:除参数和返回值外,还会读取或改变外部信息声明式:操作被封装到程序库中,不需要指定明确的执行语句,只需声明需求 public void imperative() { int[] iArr= {1,3,4,5,6,2}; ...原创 2019-11-15 09:55:22 · 320 阅读 · 0 评论 -
Java高并发(五)--并行模式与算法
单例模式单例模式的优点对于频繁使用的对象,可以省略new操作花费的时间减少了对象的数据,减低了内存占用,也减轻了GC压力单例模式的特点类构造器私有持有自己类型的属性对外提供获取实例的静态方法单例模式的实现参考文章:安全懒汉式:https://www.jianshu.com/p/3bfd916f2bb2枚举懒汉式:https://www.cnblogs.com/chic...原创 2019-11-08 14:54:42 · 620 阅读 · 0 评论 -
Java高并发(三.四)-JMH性能测试
性能测试的原因部分并发程序是由串行程序改造而来,需要比较两种算法的性能由于业务原因引入多线程,多线程并发控制导致性能损耗,评估损耗比重是否能够接受.4.1 JMHJMH ( Java Microbenchmark Harness ) 是一个在 OpenJDK 项目中发布的, 专门用于性能测试的框架, 其精度可以到达毫秒级.4.2 JMH简单使用导入JMH包使用Maven导入,p...原创 2019-10-30 10:30:29 · 781 阅读 · 0 评论 -
Java高并发(三.三)--JDK并发容器
JDK并发容器ConcurrentHashMap:线程安全的HashMapCollections.synchronizedMap()public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) { return new SynchronizedMap<>(m);}Synchronize...原创 2019-10-29 15:25:09 · 224 阅读 · 0 评论 -
java高并发(三.二)--线程复用:线程池
线程的生命周期线程在创建后,通过start执行了run方法后,会被自动回收。复用线程的原因线程频繁创建和关闭花费大量时间线程本身占用内存,创建过多线程可能导致OOM线程池线程池中存放空闲线程,每当有任务执行,不再创建线程而是从线程池中获取,任务执行完后,将线程归还给线程池.JDK对线程池的支持...原创 2019-10-24 20:26:02 · 285 阅读 · 0 评论 -
java高并发(三.一)--JDK并发包之同步控制
多线程的团队协作: 同步控制同步控制方法synchronized关键ziwait(),notify()方法重入锁关键字 synchronized 的功能扩展: 重入锁重入锁可以替代synchronized重入锁使用 java.uti1.concurrent.Locks.ReentrantLock 类来实现在这里插入代码片...原创 2019-10-23 14:17:34 · 251 阅读 · 0 评论 -
java高并发(二)--Java并行程序基础
有关线程必须知道的事进程:程序运行的实体,是系统资源分配和调度的基本单位.线程:进程是线程的容器,而线程是轻量级进程;是cpu调度的基本单位.因此线程切换的成本远小于进程.线程的生命周期线程的状态保存在Thread中的State枚举中public enum State {NEW,RUNNABLE,BLOCKED,WAITING,TIMED _WAITING,WAITING,...原创 2019-10-20 15:26:52 · 291 阅读 · 0 评论 -
Java高并发(一)--走进并行世界
何去何从的并行计算并行计算遇到的问题 1. Linus Torvalds认为并行计算只能用于图像处理和服务端编程 2. 摩尔定律失效:CPU 主频的提升己经明显遇到了一些暂时 不可逾越的瓶颈并行计算的进步1. 新摩尔定律:每24/18月,cpu核心数翻一番并行的基本概念同步:同步方法一经调用,调用者必须要等到方法结束后才能进行后续操作异步:类似消息传递,异步方法一旦开始,...原创 2019-10-09 00:00:23 · 749 阅读 · 0 评论