
java并发编程
surepeng26
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发基础常用方法
1、线程和进程进程等于一个资源(即内存映射表)+多个指令执行序列,当切换进程的时候我们不仅要切换指令序列,而且要切换内存映射表,但是线程之间的切换只是在同一个内存映射表之间的指令切换(在java中切换pc,虚拟机栈,本地方法栈,不切换堆和方法区),线程既保留了并发的特点,又避免了线程切换的代价2、start和run调用start方法会新建一个线程,让这个新建的线程去调用run方...原创 2019-07-24 15:27:50 · 127 阅读 · 0 评论 -
两个线程交替打印数字到100
1、等待唤醒机制import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @author: surepeng * @description: * @date: 2019/07/24 **/public class MultiThreadPrint { ...原创 2019-07-25 01:30:53 · 842 阅读 · 0 评论 -
HashMap、ConcurrentHashMap总结
HashMap我们都知道hashmap 的底层数据结构是数组+链表的node,node的key值通过一系列hash得到一个hashcode,根据hashcode放入数组某个位置。当这个hashcode之前不存在时,就new一个节点放入数组;当hashcode已经存在时,这时有两种原因:1、一种是hashcode冲突了,也就是两个不同的key算出来了一个hashcode,这时就把节点...原创 2019-08-15 01:50:55 · 155 阅读 · 0 评论 -
锁和锁的优化
jdk对锁的优化:1、偏向锁,可以用-XX:+UseBiasedLocking参数开启偏向锁,偏向锁的意思就是当程序没有竞争时,当前线程拿到了锁,便进入偏向模式,下次又是这个线程再次申请,不许要同步操作又能拿到锁,但是如果期间有其他线程进行了锁请求,就会退出偏向模式。这种不适用于竞争特别激烈的多线程环境,因为竞争特别激烈的每次都是不同的线程来访问,反而会降低性能2、轻量级锁 不太理解3...原创 2019-08-11 23:24:01 · 111 阅读 · 0 评论