jvm的GC和内存分配

https://blog.csdn.net/qq_36314960/article/details/79923581?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

JVM是虚拟机,总的来说是一种标准规范,虚拟机有很多实现版本。主要作用就是运行java的类文件的。
而HotSpot是虚拟机的一种实现,它是sun公司开发的,是sun jdk和open jdk中自带的虚拟机,同时也是目前使用范围最广的虚拟机。
HotSpot,顾名思义,它是基于热点代码探测的,有JIT即时编译功能,能提供更高质量的本地代码。
二者区别是一个是标准,一个是实现方式。

https://blog.csdn.net/aijiudu/article/details/72991993?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/niunai112/article/details/81071438?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

jvm运行class文件  

class文件中的内容放到jvm的不同地方(数据区)

class文件中到底有多少种数据类型?

对象,常量,静态变量,成员变量,方法,局部变量,父类,*

怎么划分?为什么这样划分

https://docs.oracle.com/javase/specs/jvms/se8/html/index.html

2.5. Run-Time Data Areas   运行时数据区

2.5.1. The pc Register
2.5.2. Java Virtual Machine Stacks  java虚拟机栈
2.5.3. Heap         堆
2.5.4. Method Area  方法区
2.5.5. Run-Time Constant Pool
2.5.6. Native Method Stacks

 

 

 

 

 

Heap 堆-- 其实就是存储java对象的

posted @ 2020-03-09 18:13  你猜lovlife  阅读(112)  评论(0)    收藏  举报