jvm 的组成

jvm 是由  类加载子系统   、 java堆  、 方法区 、 java栈 、 内存 、  pc寄存器 、 本地方法栈 、 垃圾回收系统 、 执行引擎  

  • 类的加载放的是系统或者是网络中加载的class信息,类加载的信息存在在地方叫方法区的内存空间,  除了类的信息外, 还放着有运行时的常量信息。
  • java中的堆 是放java对象的实例堆空间是所有线程共享的,垃圾回收系统是java虚拟机的重要组成部分,垃圾回收器可以对方法区、java堆和直接内存进行回收 
  • Java中的栈:每一个java虚拟机线程都有一个私有的java栈,一个线程的java栈在线程创建的时候被创建,java栈中保存着帧信息,java栈中保存着局部变量、方法参数,同时和java方法的调用、返回密切相关。
  • String在堆和栈属于:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,显式的String常量放在常量池,String对象放在堆中。

猜你喜欢

转载自www.cnblogs.com/yishuo/p/12470497.html