02 2021 档案

摘要:一:Metaspace介绍 我们都知道jdk8之前有perm这一整块内存来存klass等信息,我们的参数里也必不可少地会配置-XX:PermSize以及-XX:MaxPermSize来控制这块内存的大小,jvm在启动的时候会根据这些配置来分配一块连续的内存块,但是随着动态类加载的情况越来越多,这块内 阅读全文
posted @ 2021-02-24 21:45 蒙恬括 阅读(868) 评论(0) 推荐(0) 编辑
摘要:1:关于visualVM的使用介绍 参见:https://www.cnblogs.com/krock/p/14419459.html 2:测试 环境:jdk1.8, window 1)Metaspace OOM 测试代码: public static void main(String[]args) 阅读全文
posted @ 2021-02-20 15:34 蒙恬括 阅读(2868) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/lizhonghua34/p/7307139.html 阅读全文
posted @ 2021-02-20 14:49 蒙恬括 阅读(125) 评论(0) 推荐(0) 编辑
摘要:参考原博文:https://blog.csdn.net/weixin_34026276/article/details/85930598 Java VisualVM默认没有安装Visual GC插件,需要手动安装,JDK的安装目录的bin目录下双击jvisualvm.exe,即可打开Java Vis 阅读全文
posted @ 2021-02-20 10:17 蒙恬括 阅读(1333) 评论(0) 推荐(0) 编辑
摘要:1:标准参数 标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化。 我们可以通过 -help 命令来检索出所有标准参数。 关于这些命令的详细解释,可以参考官网:https://docs.oracle.com/javase/7/docs/techno 阅读全文
posted @ 2021-02-19 17:09 蒙恬括 阅读(240) 评论(0) 推荐(0) 编辑
摘要:JVM内存结构 主要参考在CSDN写的一篇内容:https://blog.csdn.net/A7_A8_A9/article/details/106007906 Java内存模型和JVM内存结构的对比主要参考:https://zhuanlan.zhihu.com/p/29881777 补充: JDK 阅读全文
posted @ 2021-02-19 15:47 蒙恬括 阅读(69) 评论(0) 推荐(0) 编辑
摘要:public static String getLocalIp() { String ip=""; if (System.getProperty("os.name").toLowerCase().indexOf("windows")>-1) { try { ip= InetAddress.getLo 阅读全文
posted @ 2021-02-19 11:18 蒙恬括 阅读(443) 评论(0) 推荐(0) 编辑
摘要:前言: 所有的垃圾回收算法都要经历标记阶段。如果GC线程在标记的时候暂停所有用户线程(STW),那就没三色标记什么事了。但是这样会有一个问题,用户线程需要等到GC线程标记完才能运行,给用户的感觉就是很卡,用户体验很差。 现在主流的垃圾收集器都支持并发标记。什么是并发标记呢?就是标记的时候不暂停或少暂 阅读全文
posted @ 2021-02-17 22:30 蒙恬括 阅读(897) 评论(0) 推荐(0) 编辑
摘要:G1及其后出现的垃圾收集器ZGC、Shenandoah,它们都是基于Region的内存布局形式。它们垃圾收集的目标范围不再是整个新生代(Minor GC)、老年代(Majon GV)、整个堆(Full GC),而是一个一个的Region。因为这样的内存布局,所以G1能做到面向局部收集。 每个Regi 阅读全文
posted @ 2021-02-17 22:14 蒙恬括 阅读(1608) 评论(0) 推荐(1) 编辑
摘要:对象是否存活判断算法: 即判断JVM中的所有对象,哪些对象是存活的,哪些对象可回收的算法。 1:引用计数。 最简单的垃圾判断算法。 在对象中添加一个属性用于标记对象被引用的次数,每多一个其他对象引用,计数+1,当引用失效时,计数-1,如果计数=0,表示没有其他对象引用,就可以被回收。 但是这个算法无 阅读全文
posted @ 2021-02-17 14:35 蒙恬括 阅读(311) 评论(0) 推荐(0) 编辑
摘要:前言: Oop-Klass体系回顾,在JVM第一篇中讲过了这部分内容,今天的内容也涉及,回顾一下。 ooPDesc MarkOopDesc:存放锁的信息,分代年龄等等 InstanceOopDesc:非数组对象 arrayOopDesc:数组对象 typeArrayOopDesc:基本数据类型数组, 阅读全文
posted @ 2021-02-01 23:37 蒙恬括 阅读(1017) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示