JVM,JMM,类加载机制,垃圾回收知识点

JVM,JMM

  • 1.JVM
    • 1.JVM5个组成部分
    • 2.类加载机制(JVM加载)双亲委派模型,破坏双亲委派模型的3个场景
    • 3.垃圾回收
  • 2.JMM(Java内存模型)
    • 1.内存组成:
    • 2.工作内存和主内存操作的8方法
    • 3.JMM3个特征
    • 4. volatile型变量的特殊规则

1.JVM

1.JVM5个组成部分

JVM布局(HotSpot):JDK1.8

1.堆(线程共享):
所有的对象都存在此区域,此区域也是JVM中最大的一块区域。JVM垃圾回收就是针对此区域

2.JVM栈(Java虚拟机栈)线程私有
(1)局部变量表:8大基础数据类型,对象的引用
(2)操作栈:每个方法都会对应一个操作栈
(3)动态链接:指向常量池的方法引用
(4)方法返回地址:PC寄存器的地址

3.本地方法栈(线程私有):
与Java虚拟机栈比较类似,只不过Java虚拟机栈是给Java和jvm使用的,而本地方法栈是给本地方法(c/c++)服务的

4.程序计数器:用来记录线程执行的行号(线程私有)
5.元空间(线程共享)(JDK1.8)、方法区(JDK1.7)使用永久代实现,
JDK1.7的时候的方法区包含有 运行时常量信息,字符串常量池,类的元信息。。
元空间(JDK1.8):本地内存,并且将字符串常量池移动到堆里面
移动到本地内存优点:它的大小就不受JVM最大内存制约了。

堆划分
(1)新生代:第一次创建的对象都会分配到此区域
(2)老年代:经历了一定的垃圾回收之后,依然存活下来的对象会移动到

你可能感兴趣的:(web,java,jvm)