JVM
文章平均质量分 89
A泽予
万般皆下品,唯有读书高
展开
-
JVM-垃圾回收
方法区的垃圾回收虽然不如堆区频繁,但依然是JVM内存管理的重要部分,尤其是在长时间运行和高动态性的应用中。主要涉及类卸载和常量池的回收,确保内存的有效利用和防止内存泄漏。垃圾回收器的组合关系虽然很多,但是针对几个特定的版本,比较好的组合选择如下:JDK8及之前:ParNew + CMS(关注暂停时间)、Parallel Scavenge + Parallel Old (关注吞吐量)、 G1(JDK8之前不建议,较大堆并且关注暂停时间)JDK9之后:G1(默认)原创 2024-08-05 17:12:11 · 1193 阅读 · 0 评论 -
JVM-运行时数据区
运行时数据区是Java虚拟机(JVM)在程序运行时用于管理和存储数据的内存区域。程序计数器作用: 存储当前线程正在执行的字节码指令的地址。线程共享否,每个线程有独立的程序计数器。内存溢出不常见,程序计数器通常占用很少的内存。虚拟机栈作用: 存储每个线程的局部变量、操作栈、方法调用和返回信息。线程共享否,每个线程有独立的虚拟机栈。内存溢出可能,深度过大的方法调用会导致,或虚拟机栈空间不足会导致。本地方法栈作用: 存储本地方法的调用和数据。线程共享否,每个线程有独立的本地方法栈。内存溢出可能。原创 2024-08-03 15:42:09 · 1079 阅读 · 0 评论 -
JVM-类加载器和双亲委派机制
定义:自定义类加载器是由开发者定义的类加载器,用于从特定来源加载类文件。通过自定义类加载器,可以实现从文件系统、网络、数据库等非标准路径加载类文件。实现:自定义类加载器通常通过继承类并重写其方法来实现。例如,重写findClass方法来定义类的加载逻辑。加载路径:自定义类加载器可以从任何指定的路径加载类文件,这取决于自定义的实现逻辑。@Override// 检查类是否已经加载Class原创 2024-08-03 14:26:36 · 967 阅读 · 0 评论 -
字节码文件(Class文件)的组成
字节码文件由魔数、版本信息、常量池、访问标志、类和父类索引、接口集合、字段表、方法表和属性表组成。查看字节码可使用javap -v指令或者jclasslib软件或者阿里arthas。原创 2024-08-02 13:25:01 · 709 阅读 · 0 评论 -
JVM是什么?
JVM(Java 虚拟机)是一个执行 Java 字节码的虚拟化运行环境,提供内存管理、垃圾回收和跨平台支持等功能,使得 Java 程序能够在不同操作系统上运行而无需修改。原创 2024-07-31 14:11:30 · 549 阅读 · 0 评论