随笔分类 -  JVM解读

摘要:新生代进入老年代 大对象直接进入老年代 经过多次minor gc依然在survivor区存活,进入老年代(大龄对象) 动态年龄判定:从年龄为1的对象开始累加,大于survivor区(这里指from或to)的一半时,记这个年龄和最大年龄阈值的最小值result,大于这个result的对象进入老年代 空 阅读全文
posted @ 2020-07-15 10:11 饮酒至天明 阅读(1684) 评论(0) 推荐(0)
摘要:JVM调优 单机大内存一个JVM,大内存会导致FULL GC停顿时间太长 使用若干个JVM建立逻辑集群,比如有10G内存,搞5个JVM,每台JVM只分配2G 64位JDK,由于指针膨胀等,比32位消耗更多内存, 要使用64位JDK,管理员能有把握将GC停顿时间控制到最低,低到不会影响用户使用,如何控 阅读全文
posted @ 2020-07-15 10:10 饮酒至天明 阅读(236) 评论(0) 推荐(0)
摘要: 线程池 通过例子理解 例1 ~~~java package com.example.test; import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.concurrent. ; / 核心线程 阅读全文
posted @ 2020-05-14 17:26 饮酒至天明 阅读(316) 评论(0) 推荐(0)
摘要: JVM GC(jdk1.7) 一、minor gc ​ 发生在Eden、From、To之间,垃圾对象清理,存活对象从【Eden、From】复制到To,或者【Eden、To】复制到From ​ 晋升老年代 ​ 在Survivor存活的对象,一般情况下(注意这里用词),年龄达到一定阈值,将晋升到老年 阅读全文
posted @ 2020-05-14 11:33 饮酒至天明 阅读(166) 评论(0) 推荐(0)
摘要:一、概念 程序编译后,生成class文件,经过加载、验证、准备、解析、初始化,最终使程序可以被JVM识别。 二、类的生命周期 类从被加载到虚拟机内存开始,到卸载出虚拟机内存结束,一共经历加载、验证、准备、解析、初始化、使用、卸载七个阶段。 其中验证、准备、解析统称为连接。 借用网上的图: 其中解析过 阅读全文
posted @ 2020-03-16 15:57 饮酒至天明 阅读(121) 评论(0) 推荐(0)
摘要:1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:方法执行时创建方法栈帧,存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域( 阅读全文
posted @ 2019-12-04 09:53 饮酒至天明 阅读(518) 评论(0) 推荐(0)
摘要:原文链接:https://www.jianshu.com/p/0d41057ed973 今天,刚部署的应用上,随便点点,系统崩溃了,看日志 这个是jvm虚拟机崩溃日志 下载下来: 查 可以知道在JDK 9中修正了这个Bug。 For details refer the following :http 阅读全文
posted @ 2019-08-13 18:34 饮酒至天明 阅读(1728) 评论(0) 推荐(0)