java内存管理的学习笔记
来源:互联网 发布:python数据采集 pdf 编辑:程序博客网 时间:2024/04/30 16:14
现行的垃圾回收机制:分代的方式采用不同的垃圾回收设计——把堆内存分成三代
Young 采用复制算法,遍历算法那些处于可到达状态的对象 经过时间考验提升为old代
Old 执行频率不需要太高,需要更长的时间进行垃圾回收
Permanent 主要用于装载Class、方法等信息
常见的垃圾回收器
1、串行的垃圾回收
2、并行的垃圾回收
3、并行压缩回收器
4、并发标示清理垃圾回收器
内存管理的小技巧
1、尽量使用直接量
用string s = "hello" //JVM的字符串缓存池会缓存hello
不用 string s = new String("hello"); //除了缓存字符串意外 s引用的String对象底层还包含一个char[]数组,一次存放 h e l l o
2、使用StringBuilder和StringBuffer进行字符串的连接
3、尽早释放无用对象的引用
public void info(){
Object o = new Object();
System.out.println(o.toString());
o = null;//释放引用
}
4、尽量少使用静态变量
最坏的是某个对象被static变量所引用
5、避免在经常调用的方法或者循环中创建对象
6、缓存经常使用的对象
7、尽量少使用finalize方法
8、考虑采用softreference
- java内存管理的学习笔记
- Java虚拟机--内存管理区域的深入学习笔记
- Java学习笔记-JVM内存管理
- 内存管理学习笔记
- java学习个人笔记---java内存管理之Java对象的引用方式
- 个人学习笔记---Linux内存:内存管理的实质
- Java学习笔记(二)——流程,内存管理
- slab内存管理学习笔记
- linux内存管理学习笔记
- IOS学习笔记:内存管理
- JVM学习笔记-内存管理
- C 内存管理学习笔记
- JVM学习笔记内存管理
- linux内存管理学习笔记
- 操作系统学习笔记:内存管理
- 学习笔记六:内存管理
- iOS内存管理学习笔记
- java学习个人笔记---Java内存管理之java对象内存中的状态
- 素数筛选与快速幂取模
- 一道中兴笔试题
- “NETDEV WATCHDOG: eth0: transmit timed out” 后网卡当掉
- FIREFOX与IE兼容性探讨
- 敌国布阵(线段树)
- java内存管理的学习笔记
- mysql 查询替换
- Tempter of the Bone 奇偶剪枝(深搜)
- Extjs继承机制和窗体创建(10级学员 刘根鹏课堂总结)
- Oil Deposits (广搜)
- 让程序更高效的10种方法
- 学习杭电大牛的线段树风格
- 阅读摘要
- 开发笔记5