基本组成:
jvm的由堆,java栈,本地栈,pc程序计数器,方法区(java8叫元数据区),直接内存,类加载子系统,垃圾回收系统,执行引擎,如图
作用:
类加载子系统:从文件系统或网络中加Class的信息
方法区:存储从类加载子系统加载Class的信息,还会存放运行时常量的信息,包括字符串和数据常量
java堆:在虚拟机创建时建立,它是java程序主要的内存工作区域,几乎所有对象都存放到这里,堆空间是所有Java线程共享的
直接内存:java的NIO库允许java程序直接使用内存。直接内存位于堆外,直接向系统申请的内存区域,适合读写频繁的场合,不适合内存分配频繁的场合,大小默认为堆的大小 (设置参数-XX:MaxDirectMemeorySize)
垃圾回收系统:是jvm重要组成部分,垃圾回收器可以对堆,方法区,直接内存进行回收,垃圾回收是自动的
java栈:每一个java线程都有一个私有的java栈,在线程被创建是创建,jav