- 博客(8)
- 收藏
- 关注
原创 JVM调优工具详解
Jmap此命令可以用来查看内存信息,实例个数以及占用内存大小jmap -histo 14660 #查看历史生成的实例jmap -histo:live 14660 #查看当前存活的实例,执行过程中可能会触发一次full gcjmap -heap 1200 #查看该进程的队信息堆内存dumpjmap -dump:format=b,file=eureka.hprof 14660也可以设置内存溢出自动导出dump文件(内存很大的时候,可能会导不出来)-XX:+HeapDumpOnOu
2021-06-19 23:00:50
146
原创 JVM垃圾回收算法与垃圾收集器介绍二
G1收集器(-XX:+UseG1GC)G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器. 以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征.G1将Java堆划分为多个大小相等的独立区域(Region),JVM目标是不超过2048个Region(JVM源码里TARGET_REGION_NUMBER 定义),实际可以超过该值,但是不推荐。一般Region大小等于堆大小除以2048,比如堆大小为4096M,则Region大小为2M,当然
2021-06-15 23:49:00
650
原创 JVM垃圾回收算法与垃圾收集器介绍一
垃圾回收算法垃圾收集理论当前虚拟机一般都采用分带收集算法,这种算法就是根据对象存活周期的不同将内存分为几块。java堆分为新生代与老年代,这样我们就根据各个年代的特点选择的合适的垃圾收集算法。如新生代中都是朝生夕死的,每次收集都会有大量对象死去,所以可以选择复制算法,只需要付出少量的复制成本就可以完成每次的垃圾收集,而老年代的对象存活率都是比较高的,也没有太多额外的空间进行分配担保,所以我们可以选择标记清楚或者标记整理算法进行垃圾收集。注意标记清除与标记整理算法会比复制算法慢十倍以上。标记-复制算法
2021-06-15 07:52:44
304
1
原创 JVM整体结构深度解析三(内存分配机制)
对象的创建对象创建的主要流程:1.类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化等。2.分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类 加载完成后便可完全确定,为对象分配空间的任务等同于把 一块确定大小的内存从Java堆中划分出来。这个
2021-06-04 01:20:43
265
原创 JVM整体结构深度解析二(JVM内存结构)
JVM内存模型深度剖析JVM内存结构写之前先给大家看下一段简单的java代码public class Math { public static final int initData = 666; public int add(){ int a = 1; int b = 2; int c = (a + b) * 10; return c; } public static void main(String[]
2021-05-27 00:59:28
225
原创 JVM整体结构深度解析 一(JVM指令手册)
JVM指令手册栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入操作数栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1压入栈
2021-05-21 21:07:02
275
原创 JVM类加载机制深度解析
类加载机制深度解析类加载运行过程1、加载2、验证3、准备4、解析5、初始化类加载器引导类加载器扩展类加载器自定义加载器类加载器的初始化过程双亲委派机制类加载运行过程package com.wetest.jvm;public class Math { public static final int initData = 666; public static User user = new User(); public int add(){ int a = 1; int b = 2; r
2021-05-20 01:55:41
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人