JVM
文章平均质量分 91
Keven He
一个热爱技术的大数据开发者
展开
-
快速掌握JVM及垃圾回收器
Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。...原创 2022-08-12 11:12:38 · 732 阅读 · 0 评论 -
后端和大数据面试绕不开的JVM面试题总结
什么是字节码? 因为JVM针对各种操作系统和平台都进行了定制,无论在什么平台,都可以通过javac命令将一个.java文件编译成固定格式的字节码(.class文件)供JVM使用。之所以被称为字节码,是因为**.class文件是由十六进制值组成的,JVM以两个十六进制值为一组,就是以字节为单位进行读取** 格式如下 字节码的组成结构是什么? JVM对字节码的规范是有要求的,要求每一个字节码文件都要有十部分固定的顺序组成,如下图: 魔数 所有的.class文件的前4个字节都是魔数,魔数以一个固定值:0x原创 2022-05-17 14:33:15 · 427 阅读 · 0 评论 -
JVM内存模型及垃圾回收机制(面试常客)
JDK内存模型 程序计数器:线程私有,当前线程所执行的字节码的行号指令集。 虚拟机栈:线程私有,方法执行的动态内存模型,一个方法被执行的时候会创建栈帧,栈帧里记录的是局部变量表、操作帧、动态链接、方法出口等信息,一个方法被执行到结束的过程,就是栈帧入栈出栈的过程。 本地方法栈:线程私有,与虚拟机栈相同,区别是所服务的方法是Native方法。 方法区:线程共享,存储加载的类信息、常量、静态常量等。 堆:线程共享,存放对象实例。除了逃逸分析技术(栈上分配、标量替换)产生的对象,几乎都存放在堆中。 类加载过原创 2022-04-19 09:16:53 · 863 阅读 · 0 评论