JVM简单结构

1.类加载子系统与方法区

类加载子系统其实就是我们经常听到的虚拟机中的类加载器,类信息它是负责从文件系统或者网络中加载class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时的常量池信息,包括字符串字面量和数字常量

2.Java堆

Java堆在虚拟机启动的时候建立,它是Java程序中最主要的内存工作区域。几乎所有的Java对象实例都存放在Java堆。堆空间是所有线程共享的

3.直接内存

Java中的NIO库允许Java程序使用直接内存,直接内存是在堆外的,直接向系统申请的内存空间,所以通常访问速度会优于Java堆

4.垃圾回收系统

垃圾回收系统可以对方法区,Java堆和直接内存进行回收。其中Java堆是垃圾收集器的工作重点。不像C/C++的free(),delete()这样的函数释放制定的内存区域,Java中的垃圾回收系统会在后台默默工作,释放垃圾对象

5.Java栈

每一个Java虚拟机线程都有一个私有的Java栈,一个线程的Java栈在线程创建的时候被创建,即线程没有创建时,就没有Java栈。Java栈中保存着一个帧信息,局部变量,方法参数,同时和Java方法的生命周期(即方法的调用和返回)有着密切关系

6.本地方法栈

本地方法栈和Java栈类似,最大的不同则是Java栈用于方法的调用,而本地方法栈则用于本地方法的调用

还有的基础慢慢补充....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值