文章目录

GeekTom | Blog

Be profound be funny or be quiet .

分类: 虚拟机 (4) 记录与Java虚拟机相关的

JVM | 知识总结

最近入手了《深入理解Java虚拟机》第三版,正好也在面试,就将一些比较重要的知识点列出来了。 Java内存区域 Java的内存区域分为程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区,运行时常量池。 其中线程私有的是:程序计数器,Java虚拟机栈和本地方法栈 HotSpot将Java虚拟机栈和本地方法栈合二为一。 对象内存分配方式:指针碰撞和空闲列表 在类加载完成过后,就会给对象分配内存空间(对象在类加载完成后所需要的内存大小是完全确定) 指针碰撞:假设Java堆中的内存是绝对完整的,所有被使用过的内存放在一边,空闲的内存放在一边,中间放着一个指针作为分界点的指示器,那所分配的内存就是把那个指针向空闲空间方面挪动一段与对象大小相等的距离,这种分配方式叫做指针碰撞(Bump The Pointer) 空闲列表:如果Java堆中的内存并不是规整的,已经使用的内存和空闲的内存相互交错在一起,那就没有办法进行指针碰撞了,这时候虚拟机就必须维护一个列表,记录那些内存是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实列,并更新表上的记录,这种方式被称为空闲列表。 虚拟....

JVM - 走进方法区的前世今生

方法区是一种Jvm规范,从JDK的发展来探究他的实现。

JVM - Java虚拟机结构

了解jvm的过程就像从喜欢到恋爱的过程,刚开始懵懵懂懂,然后心生胆怯,最后沉迷于此。

JVM - 初识java虚拟机(JVM)    

Java虚拟机(JVM)是运行Java字节码的虚拟机,它是java编程语言的核心。当我们运行程序时,JVM负责将字节代码转换为特定于机器的代码。JVM还依赖于平台,并提供核心Java函数,如内存管理,垃圾收集,安全性等。 JVM被称为虚拟,因为它提供的接口不依赖于底层操作系统和机器硬件。这种与硬件和操作系统的独立性使得java程序可以在任何地方进行一次写入。 在现实世界中,JVM是一种规范,它提供了一个可以执行Java字节码的运行时环境。