微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jvm小结

1.jvm组成部分:类加载器,运行数据区也就是内存,字节码执行引擎
2.虚拟机栈也就是线程栈,jvm给方法单独开辟一个空间,栈针可以理解为栈的id
3.先分配的内存最后释放
4.操作数栈是给放入栈的局部变量赋值运算的临时栈
5.程序计数器的值是由执行引擎修改
6.栈里面有栈针,通过指针引用就可以找到堆里面的对象
7.本地方法栈的空间也是在线程栈里
8.元空间里是常量静态变量,类信息
9.对象先存到eden区 满了之后由执行引擎开启垃圾收集minor gc
10.可达性分析也就是以gc root 查找对象引用,有引用的对象被标记然后放到survior区,
每次gc的对象年龄就加1,超过15就进入老年代
11.老年代满了触发full gc 如果不能回收就oom了
12.Jvm调优是减少full gc通过减少full gc 避免stw
13.之所以设计stw目的是查找gc对象,保证对象的正常状态
14对象变量的计算=类型属性之和一般不超过一个对象不超过1kb
15.例如每秒60m的对象放入eden
16大的对象可能直接放入老年代触发full gc
解决办法:调大新生代内存
17 G1把内存分为各个小块,这样清理和插入并行,效率提高,不会出现stw

18.三种回收内存的方法
1.ms ,copy,mc copy效率最高不会产生碎片
2.G1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐