![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jdk
雨剑yyy
猿某人文化传播者
展开
-
synchronized 底层原理总结
文章目录一.synchronized介绍二.synchronized使用方式三.java对象组成四.锁的升级过程本文总结下Synchronized关键字的底层实现原理。一.synchronized介绍synchronized是JVM内置锁,通过内部对象Monitor(监视器锁)来实现,基于进入与退出monitor对象来实现方法与代码块的同步,监视器锁的实现,最终依赖操作系统的Mutex lo...原创 2020-03-12 19:15:13 · 354 阅读 · 0 评论 -
Netty系列(一)java NIO详解及使用 Demo
Netty框架基于java NIO实现,本文简单总结下java NIO相关内容及使用demo。使用NIO完成网路通信的3个核心:通道 Channel,负责连接,类似火车轨道;缓冲区 Buffer,负责数据存取,类似火车车厢;选择器 Selector,是SelectableChannel的多路复用器,用于监控SelectableChannel的IO状况。下面是demo,两个方法分别模拟客户端和服务端,客户端向服务端发送信息。public class TestNonBlockingNIO {原创 2020-02-18 10:00:07 · 379 阅读 · 0 评论 -
弱引用WeakReference作用与使用场景
在分析threadLocal源码时,发现有使用弱引用WeakReference,在之前总结GC的时候,也曾简单介绍java引用类型(《jvm GC算法类型》第6节),本文在详细总结下WeakReference的使用方法。java4种引用类型:强:A a=new A(); 此时引用a强引用对象A;不会被GC软:SoftReference.java,在内存不够时引用对象会被GC;弱:Weak...原创 2019-12-29 16:56:03 · 13417 阅读 · 1 评论 -
一个场景Demo分析ThreadLocal使用方法和原理
文章目录1.定义&作用2.使用Demo3.源码分析3.1 set(T value)ThreadLocal使用比较常见,但是一个觉得这个东西哪里怪怪的,给人的感觉不是特别直观,本文通过一个常见使用场景,来分析其来龙去脉。1.定义&作用定义: ThreadLocal叫做线程本地变量,顾名思义,就是Thread的一个内部变量,这个ThreadLocal是属于某个线程的。就好比是某个...原创 2019-12-28 22:59:27 · 2637 阅读 · 5 评论