文章目录
- 1. 堆的核心概述
-
-
- 堆的核心概述:内存分析
-
- 2.设置堆内存大小与OOM
-
-
- (1)堆空间大小的设置
- (2)OOM(OutOfMemoyr)举例
-
- 3.年轻代与老年代
- 4.图解对象分配的一般过程
-
-
- 总结:
- 争对s0,s1区:复制之后有交换,谁空谁是to。
- 关于垃圾回收:平凡新生区回收,很少在养老区回收,几乎不在元空间收集。
-
- 5.Minor GC、Major GC、Full GC
-
-
-
- 1、调优的主要目的:希望程序运行期间GC的次数要少一些
- 2、Major GC和Full GC用的时间在Minor GC的10倍以上。所以调优主要减少Major GC和Full GC的次数。
- (1)Minor GC
- (2)Major GC
- (3)Full GC:
-
-
- 6.堆空间分代思想
- 7.内存分配策略
- 8.为对象分配内存:TLAB
-
-
-
- 1、为什么需要有TLAB?(Thread Local Allocation Buffer)
- 2、什么是TLAB?(Thread Local Allocation Buffer)
- 3、TLAB再说明:
-
-
- 9.小结堆空间的参数设置
- 10、逃逸分析
-
-
- 1.堆是分配空间的唯一选择吗
- 2、逃逸分析概述
- 对象没有发生逃逸——就在栈上分配该对象的空间;
- 对象发生逃逸——就在堆分配该对象的空间;
-
- 结论:开发中能使用局部变量的,就不要在方法外部定义了
- 3、逃逸分析:代码优化
-
- 1、栈上分配
- 2、同步省略。
- 3、分离对象或者标量替换
- 关于逃逸分析的小结:
-
- 11、本章小结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40259.html