
JVM
weijx_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM学习之常用的查看JVM的工具
常用的查看JVM的工具 1使用jdk自带的 jconsole 直接在cmd命令中打入jconsole,就会弹出一个窗体 然后选择对应的pid即可 2 使用jvisualvm,同上,直接命令输入 安装 visual GC 可本地连接,也可远程连接 Arthas也可以查看,不举例了。 3.MAT Java堆分析器,用于查找内存泄漏 Heap Dump,称为堆转储文件,是Jav...原创 2020-02-25 17:02:09 · 1045 阅读 · 0 评论 -
JVM学习之JVM参数和常用命令
JVM参数 JVM参数分为四种: 标准参数、-X参数 、-XX参数、其他参数 1.标准参数 -version、 -help、 -server、 -cp 2. -X参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 3. -XX参数 使用得最多的参数类型:非标准化参数,...原创 2020-02-18 14:46:02 · 344 阅读 · 0 评论 -
JVM学习之垃圾回收
如何确定一个对象是垃圾? 对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何指针对其引用,它就是垃圾。 通过GC Root的对象,开始向下寻找,看某个对象是否可达 例子:opt2==引用—》引用其他对象—》其他对象person 只要这条链路上的对象被引用,那么就不能称他们为垃圾,即不可回收; 一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不...原创 2020-02-10 14:25:37 · 284 阅读 · 0 评论 -
JVM学习之 Java对象内存布局
Java对象内存布局 一个Java对象在内存中包括3个部分:对象头、实例数据和对齐填充 一块是非堆区,一块是堆区。 堆区分为两大块,一个是Old区,一个是Young区。 Young区分为两大块,一个是Survivor区(S0+S1),一块是Eden区。 Eden:S0:S1=8:1:1 S0和S1一样大,也可以叫From和To。 根据之前对于Heap的介绍可以知道,一般对象和数组的创...原创 2020-02-07 17:14:56 · 193 阅读 · 0 评论 -
JVM学习之运行时数据区(方法区、堆、虚拟机栈、本地方法栈、程序计数器)
运行时数据区 (程序运行时在jvm的一个状态;内存模型(JMM:分为metaspace和heap)) 重点为 方法区、堆、虚拟机栈 左边是线程共享的(方法区、堆),右边是线程私有的(虚拟机栈、本地方法栈、计数器) 线程私有的生命周期都比较短 Method Area(方法区) 方法区是各个线程共享的内存区域,在虚拟机启动时创建。 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的...原创 2020-02-05 14:59:01 · 507 阅读 · 0 评论 -
JVM学习之类加载机制、类装载器、双亲委派
编译过程 Person.java -> 词法分析器 -> tokens流 -> 语法分析器 -> 语法树/抽象语法树 -> 语义分析器-> 注解抽象语法树 -> 字节码生成器 -> Person.class文件 类加载机制 (类的生命周期) 也就是class文件到虚拟机 loading、linking、initalizing 装载、链接、初始化...原创 2020-01-22 11:17:57 · 301 阅读 · 0 评论