![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java原理分析
文章平均质量分 93
唯爱、
一枚阳光善良的小小程序猿
展开
-
ASM解析与应用
如何实现无状态转换:查找方法,替换方法,有状态转换:获取Map添加key集合呢?原创 2022-09-08 19:41:17 · 1215 阅读 · 3 评论 -
动态代理源码分析
使用说起动态代理,大家都不陌生,但对其原理却一知半解。经常遇到一个问题,java动态代理为何只能适用接口,why?你有考虑过其底层逻辑原因吗?首先看一个简单的使用public class MyInvocationHandler implements InvocationHandler { private Object target ; public MyInvocationHandler(Object target) { super(); t原创 2022-01-06 10:28:27 · 615 阅读 · 0 评论 -
ThreadPoolExecutor线程池源码和典型问题
思考你是否有此疑问:普通线程使用后即销毁,而对于线程池中核心线程将一直存在,非核心线程会销毁,它是如何做到的?看了这篇文章,相信你能够了解其中缘由!Executor框架主要有三个部分组成任务: 包括被执行任务需要实现的接口:Runnable接口或Callable接口任务的执行:任务执行机制的核心接口Executor,以及继承自Executor的ExecutorService接口(ThreadPoolExecutor和ScheduledThreadPoolExecutor)异步计算的结果:原创 2021-06-08 11:16:10 · 158 阅读 · 0 评论 -
volatile关键字原理分析
Volatile关键字对于volatile关键字我们大家都很熟悉,它的可见性,禁止重排序都很了解,但它是如何做到的,jvm是如何保证这些特性的呢?DCL单例为何需要加volatile?下面我们一起一点点拨开云雾见它实现的底层原理字节码层面了解volatile关键字最好的方式是查看字节码及反汇编代码,这里会使用到HSDIS(Hotspot disassembler)和JITWatch-JIT编译日志分析:工具使用介绍public class VolatileDemo { p原创 2021-06-08 11:14:44 · 121 阅读 · 0 评论 -
Synchronized锁升级底层原理
思考问题首先请您思考下面的问题:Synchronized锁同步机制性能不好嘛?一个对象天生对应一个monitor锁吗?为什么说synchronized是非公平锁?synchronized字节码使用java反编译,javap -c -p -v class文件使用jclasslib插件,更加方便快捷public synchronized int getAge(){ return 18 ;}//synchronized使用在实例方法上标记为ACC_SYNCHRONIZED,如果原创 2021-06-08 11:12:53 · 266 阅读 · 2 评论