欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > JVM基础

JVM基础

2024/10/25 23:30:57 来源:https://blog.csdn.net/weixin_64742764/article/details/142389112  浏览:    关键词:JVM基础

目录

JVM组成部分

字节码

一般信息

常量池

方法

面试常见问题

查看字节码的工具

javap(适用于程序部署后)

jclasslib插件(适用于本地调试)

arthas(适用于程序处于运行中使用)

arthas的安装

查看 dashboard

dump查看字节码

jad查看原代码

类的生命周期

类加载

连接

验证

准备

解析

初始化

初始化的内容

触发类初始化的时机

不会触发初始化的情况

类加载器

类加载器的分类

使用arthas查看程序中类加载器的情况

启动类加载器

拓展类加载器与应用程序加载器

双亲委派机制

面试:类的双亲委派机制是什么?

打破双亲委派机制的三种方式

自定义类加载器​编辑

线程上下文类加载器

使用阿里arthas不停机解决线上问题

JDK9后加载器的变化

运行时数据区

程序计数器

Java虚拟机栈

栈帧

局部变量表

操作数栈

帧数据---动态链接

帧数据---方法出口

帧数据---异常表

内存溢出与虚拟机栈的大小设置

本地方法栈

方法区

intern() 

直接内存

自动垃圾回收器

方法区的回收

堆回收

垃圾标记算法

几种对象引用

垃圾回收算法

垃圾回收器

底部


JVM组成部分

字节码

字节码文件的查看工具:https://github.com/ingokegel/jclasslib

一般信息

JDK与字节码版本不兼容报错异常如下:

常量池

方法

面试常见问题

i++时,i的值为0;而++1时,i的值为1

public class A {public static void main(String[] args) {int i = 0, j = 0, k = 0;i++;j = j + 1;k += 1;}
}

查看字节码的工具

javap(适用于程序部署后)

jclasslib插件(适用于本地调试)

arthas(适用于程序处于运行中使用)

下载 | arthas (aliyun.com)icon-default.png?t=O83Ahttps://arthas.aliyun.com/doc/download.html

arthas的安装

安装请按照官方文档执行

快速入门 | arthas (aliyun.com)icon-default.png?t=O83Ahttps://arthas.aliyun.com/doc/quick-start.html#_1-%E5%90%AF%E5%8A%A8-math-game

查看 dashboard

dashboard | arthas (aliyun.com)icon-default.png?t=O83Ahttps://arthas.aliyun.com/doc/dashboard.html

dump查看字节码

jad查看原代码

类的生命周期

类加载

类加载器将类的信息加载到内存中,jvm在方法区和堆区各分配一个对象,用于保存类的信息

连接

验证

准备

解析

初始化

初始化的内容

触发类初始化的时机

不会触发初始化的情况

类加载器

类加载器的分类

使用arthas查看程序中类加载器的情况

启动类加载器

拓展类加载器与应用程序加载器

双亲委派机制

面试:类的双亲委派机制是什么?

打破双亲委派机制的三种方式

自定义类加载器

线程上下文类加载器

使用阿里arthas不停机解决线上问题

JDK9后加载器的变化

运行时数据区

程序计数器

Java虚拟机栈

栈帧

局部变量表

操作数栈

帧数据---动态链接

帧数据---方法出口

帧数据---异常表

内存溢出与虚拟机栈的大小设置

本地方法栈

方法区

intern() 

直接内存

自动垃圾回收器

方法区的回收

观察类被加载和卸载

堆回收

垃圾标记算法

几种对象引用

垃圾回收算法

垃圾回收器

底部

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com