JVM
zhj574182446
养成一种习惯,决定不了一个命运,却可能改变命运。
展开
-
定位jvm问题实操
https://tech.meituan.com/2019/01/03/spring-boot-native-memory-leak.html这一篇是美团一位兄弟定位堆外内存泄露的思路。https://blog.51cto.com/wulingdong/2043898这篇是使用的gperftools安装流程。两篇皆为干货原创 2020-10-13 14:51:30 · 124 阅读 · 0 评论 -
类加载与方法调用
1.jvm是啥jvm 是java语言的运行平台,写c/c++就要知道cpu和内存管理,csapp是本好书,那么,想知道java是怎么实施内存管理和内存回收的呢,在聊此二者前,先知道java是怎么在jvm上运行的,为什么会有多态、匿名类、static field、final为什么很特殊背后的实现原理又是什么?并发的时候为什么要做thread-safe的code,thread-safe 的代码是指...原创 2018-03-06 23:48:12 · 376 阅读 · 0 评论 -
jvm---垃圾回收机制
1.如何判断你是垃圾: 1)引用计数法原理:每个对象都维护着一个引用计数器,没被引用一次就加1,引用的地方置为null就减去1,垃圾回收器扫描一个包含所有对象的列表,如果计数器为0那就回收内存。缺点:循环引用 不能回收废弃的对象。2)引用链法每个heap中的对象都必须要能找对对象的源头,G.Root对象的引用链,如果该对象没有到Root对象的引用链就说明没有引用,垃圾回收。...原创 2019-03-10 23:46:02 · 118 阅读 · 0 评论 -
结合JMM聊聊volatile的功能
今天聊volatile关键字,定义:volatile修饰的实例变量(instance variable---类加载阶段将symbolic reference转为district reference 并保存到 method area)在线程内部每次使用都强制从工作内存中读取值。edited at 2019 03.12 23:37----------------------------------...原创 2018-03-08 23:54:23 · 220 阅读 · 0 评论