欢迎来到尧图网

客户服务 关于我们

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

JVM基础

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

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虚拟机栈

栈帧

局部变量表

操作数栈

帧数据---动态链接

帧数据---方法出口

帧数据---异常表

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

本地方法栈

方法区

直接内存

自动垃圾回收器

方法区的回收

观察类被加载和卸载

堆回收

垃圾标记算法

几种对象引用

垃圾回收算法

垃圾回收器

底部

版权声明:

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

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