Stella981 Stella981
3年前
JVM真香系列:堆内存详解
 关注“Java后端技术全栈”回复“000”获取大量电子书前面的文章中已经有所提到过堆,只是大致介绍了一下。本文就来详细聊聊JVM中的堆。!(https://oscimg.oschina.net/oscnet/up85e97a87d67cb3c72ba34b743e15d569.png)在 JVM中,堆被划分成两个不同的区域:
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内存调优(Gc 和Fullgc)hotspot\Xms40m 最小堆内存\Xmx512m最大值内存\verboose:gc\XX:PrintGCDetails\XX:printGCDateStamps\Xloggc:D:/gc/gc.log调优主要调到Gc\PSYoungGen:
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年前
EKT Java企业级关键技术强化 Enterprise Edition
EKTenterprisekeytechlology企业关键技术本章目标:1.理解Class类2.理解JAVA类加载体系结构3.理解类的加载过程Class对象由JVM自动产生,每当一个类被加载时,JVM就自动为其生成一个Class对象,通过Class对象可以获得类的相关信息。将类信息读到内存中过程,称为类加载
Wesley13 Wesley13
3年前
JavaGuide
JavaGuide(https://snailclimb.gitee.io/javaguide/)1.概述(https://snailclimb.gitee.io/javaguide//docs/java/jvm/%E6%9C%80%
Stella981 Stella981
3年前
JVM的年轻代
1.为什么会有年轻代   我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,
Stella981 Stella981
3年前
JVM垃圾回收算法
一、如何判断对象时候需要回收1.引用计数法        给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;引用失效时,计数器减1。计数器为0的对象就表示不可用。      优点:效率高,实现简单。      缺点:对象间如果存在循环引用的情况,就会导致计数器不可能为0,计数器无法通知GC进行回收。2.可达性分析算法