Java的内存回收

Java的内存回收

Java的引用种类
是否回收一个对象在于,是否有引用对象引用该对象。
只要有引用对象,垃圾回收机制就不会回收它。

强引用;
软引用;当系统内存空间不足时,被回收。
弱引用;不管系统内存是否足够,总会回收该对象所占用内存。
虚引用;

强引用时造成java内存泄漏的主要原因之一。
跟踪,并监控每一个Java对象,当某个对象处于不可达状态时,回收该对象所占用的内存。
清理内存分配,回收过程中产生内存碎片。

窜行回收;不管系统中有多少个cpu,适终用一个cpu来执行垃圾回收。
并行回收;让多个cpu并行回收,效率很高,但复杂度增加。副作用,内存碎片多。

Yong代。
old代。
permanet代,装载class,生成动态代理。

-Xmx;堆内存最大容量
-Xms;堆内存最小容量
-XX:MinHeapFreeRatio = 40 堆内存最小空间百分比
-XX:MaxHeapFreeRatio = 70 对内存最大空间百分比
-XX:NewRatio = 2 Yong/Old内存的比例
-XX:NewSize = 64m Yong代默认容量
-XX:SurvivorRatio = 8;eden/surver
-XX:MaxNewSize = 128m Yong代内存的最大容量

内存管理的技巧
尽量使用直接量
使用StringBuilder,StringBuffer进行字符窜链接
尽早释放元对象的引用
尽量少用静态变量
避免在,循环中创建Java对象。
缓存经常使用的对像,OSCache,Ehcache等缓存
尽量不要使用finallize方法
当用数组时考虑使用SoftReference
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值