jvm
文章平均质量分 94
为初级认识并想着了解熟悉jvm计,特次专栏,一些常遇到的问题和知识概念
飞奔的大土豆
今天最好的表现是明天最低的要求
未来早已到来,只是还未普及
展开
-
java-error-check线上故障排查完整套路
目录 CPU 使用jstack分析cpu问题 频繁gc 上下文切换 磁盘 内存 堆内内存 堆外内存 GC问题 youngGC过频繁 youngGC耗时过长 触发fullGC 网络 超时 TCP队列溢出 RST异常 TIME_WAIT和CLOSE_WAIT TIME_WAIT CLOSE_WAIT 转载从: 从 CPU、磁盘、内存、网络、GC 一条龙https://mp.weixin.qq.com/s/OEuFYxrU..转载 2021-02-22 20:32:32 · 611 阅读 · 0 评论 -
synchinzed
对齐 --》对象寻址效率更高 (20byte 补充external的4byte为了8做整除)为什么是8的倍数,cpu处理经验值一个对象实例的size(byte)都是8的倍数? 寻址默认被8整除,hashmap默认size 16都是经验值所谓CAS分段机制,其维护这一个base变量和一个cell数组,当多个线程操作一个变量的时候,先会在这个base变量上进行cas操作,当它发现线程增多的时候,就会使用cell数组。比如当base更新为3的时候发现线程增多(也就是casBas...原创 2020-10-23 10:06:24 · 168 阅读 · 0 评论 -
jvm-内存模型和volatile的可见性和有序性理解
总线:理解“CPU”与“主内存”交互数据的方式是通实际存在电线传输的,MESI协议是“cpu”底层在总线级别的一种实现;实现过程(总线开启MESI):CPU就会对总线的数据开启监听(嗅探)变量值,当某个线程修改了变量值副本值,刷新到主内存时就会触发嗅探,(目的实现缓存一致性,线程可见性)主内存原值失效重新赋值,其他cpu嗅探到时,先失效掉自己value,然后重新到主内存read-get值volatile汇编源码:也就在所在行加了“lock”枷锁,直接写入主内存,同时会经过总线(ESMI)会激..原创 2020-10-03 23:02:46 · 216 阅读 · 0 评论 -
jvm之入门
1:当Eden内存不够时,会触发一次minor gc,过程是:通过gcRoot标记区分垃圾费垃圾,把非垃圾的obj copy到Survivor s0(s1)中,垃圾的obj直接释放掉,提供内存空间使用。2:在obj放入Survivor时,会进行标识此obj一个属性“分代年龄”;当Eden“第二次”发送minor gc时,除重复1动作外,非垃圾copy-》s1,另外Survivor区s0还会判断下,之前存入的obj引用情况,再次进行标记“垃圾-非垃圾”,把空的当作垃圾释放掉,非垃圾直接...原创 2020-10-03 21:41:59 · 123 阅读 · 0 评论 -
关于字节对齐以及内存占用
参考博文:http://www.javamex.com/tutorials/memory/object_memory_usage.shtml本文主要考虑正常情况下一个对象在堆上的内存占用情况:对于下面的特殊情况不作讨论1、某些情况下,JVM可能不会把对象存储在堆上:比如小的线程私有对象原则上会全部存储在栈或寄存器上,严格意义上说并不存在于java堆上2、对象的内存占用可能依赖于它当前的状态,比如说它的同步锁是否处于竞争状态、是否正处于垃圾回收阶段(这些额外的“系统”数据不一定存储在jav...转载 2020-05-12 14:30:20 · 348 阅读 · 0 评论 -
Java虚拟机9:Java类加载机制
1: static /final static定义的常理在 jvm进行初始化的过程不一样,2:进行编译jar时的jdk,与jvm启动时 jdk版本不同的话,在jvm验证过程中会throw error.3: 间接引用(jdk编译时就确定了,)直接引用(jvm进行初始化时内存分配确定 ,jvm准备之后);4:loading->verification->prepartion-&...转载 2020-04-18 21:45:53 · 151 阅读 · 0 评论 -
JVM 新生代老年代
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出...原创 2020-02-26 18:05:33 · 143 阅读 · 0 评论