JAVA ---- JVM

 

 1.方法区(Method Area):共享区间 所有线程共享,该区域储存所有定义的方法的信息<所有字段,方法字节码,以及一些特殊的方法如构造函数,接口代码都在此定义>

静态变量 + 常量 + 类信息(构造方法/接口定义) + 运行时常量池存放在方法区

2.Java栈(Java stack):栈内存,主管Java程序的运行,在线程创建时创建,生命周期跟随线程的生命周期,线程结束栈内存释放;对于栈来说,不存在垃圾回收问题;

    8种基本数据类型的的变量 + 对象的引用变量 + 实例方法都是在函数的栈内存中分配

运行原理:先进后出,后进先出

3.本地方法接口:融合不同的编程语言为Java所用

4.PC寄存器:每个线程都有一个,是线程私有的,就是一个指针,指向方法区中的方法字节码

5.堆:分为三部分----新生+养老+永久

 6.JVM内存垃圾回收算法

    1>1.复制算法 (用于新生代)-----------占用内存大

    2>标记清除算法 (用于老年代)-----------效率低,易产生磁盘碎片

    3>3.标记整理压缩算法 (用于老年代)-------代价高,效率低

7.永久区:常驻内存

    Jdk1.6及以前  :有永久代,常量池1.6在方法区

    Jdk1.7  :             有永久代,常量池1.7在堆

    Jdk1.8及以后  :无永久代,常量池1.8在原空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值