Stella981 Stella981
3年前
JVM中的Safepoints
点击上方的蓝字关注我吧_程序那些事_!(https://oscimg.oschina.net/oscnet/dc95e4f667570fbf4dae8b47e7e7e537d65.gif)简介java程序员都听说过GC,大家也都知道GC的目的是扫描堆空间,然后将那些标记为删除的对象从堆空间释放,以提升可用的
Stella981 Stella981
3年前
JVM调优总结
抄来的,没来得及看,先摘下来1.堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32bt还是64bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,JDK5.0
Stella981 Stella981
3年前
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
    JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。  现实企业级Java(https://www.oschina.net/action/GoTo
Stella981 Stella981
3年前
JVM调优整理
友情链接查看JVM加载的类及对应类加载器的方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fz00377750%2Fp%2F9167768.html)
Stella981 Stella981
3年前
JVM调优思路
一、jvm内存调优(Gc 和Fullgc)hotspot\Xms40m 最小堆内存\Xmx512m最大值内存\verboose:gc\XX:PrintGCDetails\XX:printGCDateStamps\Xloggc:D:/gc/gc.log调优主要调到Gc\PSYoungGen:
Stella981 Stella981
3年前
JVM性能调优
http://blog.csdn.net/rodesad/article/details/51545109http://blog.csdn.net/rodesad/article/details/51544977http://blog.csdn.net/rodesad/article/details/51545039ht
Stella981 Stella981
3年前
JVM 对象分配过程
!(https://oscimg.oschina.net/oscnet/upb8323bc8f9d61db79ccfc742a320dd28ad6.png)对象分配过程1)依据逃逸分析,判断是否能栈上分配?如果可以,使用标量替换方式,把对象分配到VMStack中。如果线程销毁或方法调用结束后,自动
Stella981 Stella981
3年前
JVM 的基本结构
一 基本结构   !(https://static.oschina.net/uploads/space/2018/0127/110055_rYaE_3218528.png)二 程序计数器(PC)  PC寄存器是每个线程的私有空间,JAVA虚拟机会为每一个JAVA线程创建PC寄存器。任意时刻,一个JAVA
Stella981 Stella981
3年前
JVM的年轻代
1.为什么会有年轻代   我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,
Stella981 Stella981
3年前
JVM垃圾回收算法
一、如何判断对象时候需要回收1.引用计数法        给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;引用失效时,计数器减1。计数器为0的对象就表示不可用。      优点:效率高,实现简单。      缺点:对象间如果存在循环引用的情况,就会导致计数器不可能为0,计数器无法通知GC进行回收。2.可达性分析算法