![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 71
lxm55913153
这个作者很懒,什么都没留下…
展开
-
JAVA锁机制
synchronized和Lock均为可重入锁。即可为该对象多次加锁,通过锁标志+1进行操作;当所标志为0时,释放所。重入锁目的是为防止死锁发生。synchronized:基于系统内核实现线程等待(通过linux系统pthread_mutex_lock命令进行等待)。 a、将线程通过CAS操作放入ContentionList队列头部。 b、当Owne原创 2017-09-26 10:55:22 · 145 阅读 · 0 评论 -
ThreadLocal学习
ThreadLocal是线程变量,主要为防止多线程环境中,变量访问冲突问题。ThreadLocal为每个线程创建了一个变量副本,实际就是在线程Thread类中有个私有属性,如下图:实际数据存储是在ThreadLocal中的ThreadLocalMap中存储,ThreadLocal相当于一层包装,所有的get,set操作都是对这个map进行操作。这个map的key值都原创 2017-09-26 10:54:58 · 120 阅读 · 0 评论 -
JVMGC机制
GC就是找到不用的对象,回收对象,释放内存。名词解释:minor gc:年轻代回收major gc/full gc:年老代回收当进行年老代回收时,往往伴随至少一次年轻代回收。但在PS回收器时,则会选择只进行major gc。对象的移动过程:初始在eden区分配,当进行一次年轻代gc后,放入存活区。当在存活区来回复制N次(可配置),进入年老代。大对象也会直接放原创 2017-09-26 10:51:48 · 196 阅读 · 0 评论 -
Java Thread dump 日志分析
jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIMED_WAITI转载 2018-01-05 11:03:21 · 398 阅读 · 0 评论 -
JMM内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,转载 2018-01-30 16:53:17 · 11704 阅读 · 4 评论