java之GC笔记

本文探讨了Java对象的大小、JVM堆大小的设置方法,并介绍了增量收集技术如何解决Full GC问题。同时,还提供了几种JVM调优工具及其使用场景。

前言:jvm的世界水还是挺深的,若不是有时间的好奇宝宝还是不要走火入魔啦~~

先抛出一个问题:

    public class Test {  
        static Test2 t1 = new Test2();  
               Test2 t2 = new Test2();  
        public void fn() {  
            Test2 t3 = new Test2();       
        }  
    }  
      
    class Test2 {  
      
    }  

请问:程序中,t1、t2、t3三个变量本身(而不是这三个变量所指向的对象)到底在哪里?答案传送门:http://rednaxelafx.iteye.com/blog/1847971


Java对象的大小

 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。

例如  Object ob = new Object();   它所占的空间为:4byte+8byte。4byte是上面部分所说的Java栈中保存引用的所需要的空间。而那8byte则是Java堆中对象的信息。

基本类型的包装类型往往是很耗内存的。


堆大小设置

java -Xmx3550m -Xms3550m -Xmn2g –Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4-XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0

-Xmx3550m:设置JVM最大可用内存为3550M。

-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn2g:设置年轻代大小为2G。

-Xss128k:设置每个线程的堆栈大小。

-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。

-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。

-XX:MaxPermSize=16m:设置持久代大小为16m。

-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。



传统分代垃圾回收方式,无法解决的一个问题,就是Full GC所带来的应用暂停。而增量收集既支持短的暂停时间,又支持大的内存空间分配。可以很好的解决传统分代方式带来的问题。

增量收集实现了一直边使用边收集的效果,避免了整个堆使用完了再暂停的回收情况。但必须把对堆空间划分成一系列内存块,否则造成碎片(无法压缩)及在暂停时间的控制上还是很弱。



JVM调优工具

Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里

 

JProfiler:商业软件,需要付费。功能强大。详细说明参考这里

 

VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。


线程监控

线程信息和状态监控

Dump线程详细信息:查看线程内部运行情况


死锁检查

CPU热点:检查系统哪些方法占用的大量CPU时间

 内存热点:检查哪些对象在系统中数量最大(一定时间内存活对象和销毁对象一起统计)

快照

    快照是系统运行到某一时刻的一个定格。对比多次快照的对象情况。

内存泄漏检查

内存泄漏是用完的资源没有回收引起错误,而系统超负荷则是系统确实没有那么多资源可以分配了(其他的资源都在使用)。


乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值