第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

jvm 與java內(nèi)存模型相關(guān)簡(jiǎn)要概念

標(biāo)簽:
Android

来源:http://www.jianshu.com/p/7e0833df599b ,感谢po主分享,下面做一些简化整理,方便查找记忆:

    jvm

    jvm执行引擎执行由jvm类加载器加载完毕的各个类的字节码文件,由java编译器将java源代码编译为.class字节码文件

        

    jvm在执行java程序过程中,将自己管理的内存划分为若干不同的数据区域

    

    Java内存的概念:jvm分配的一段空间,用来管理程序运行时的数据与相关信息,被称为运行时数据区Runtime Data Area;

    运行时数据区:两部分,线程私有和共享数据区。线程私有包括本地方法区、虚拟机栈、程序计数器;共享数据区包含java堆、方法区(内含常量池)

    程序计数器:记录正在执行的虚拟机字节码文件地址

    虚拟机栈:方法执行的内存区方法执行时会在栈中创建栈帧,生命周期与线程相同,方法执行过程对应入栈出栈

    本地方法区:为虚拟机使用的Native方法提供的内存空间

    java堆:jvm管理的内存中最大的一块,gc管理的主要区域。在主内存中,随着jvm的创建,存储对象本身及数组

    方法区:存放已被虚拟机加载的类信息、常量、静态变量、编译器编译后的代码等数据

    常量池:存放编译器生存的各种字面量和符号引用,方法区的一部分

    内存模型:jmm,java memory model 。定义了jvm在计算机内存ram中的工作方式,java线程间通信由jmm控制,决定一个线程对共享变量的写入何时对另一个线程可见

    抽象角度:jmm定义了线程与主内存之间的抽象关系,线程之间的共享变量存储在主内存(堆内存),线程私有的本地内存存储了读写共享变量的副本

    线程之间通信机制:共享内存和消息传递

    内存模型与运行时数据区的区别:jvm运行时数据区定义了jvm运行期内存的管理划分,内存模型定义了程序中共享变量的访问规则,保障原子性有序性可见性实现线程协同及数据安全

jvm回收策略:在 jvm管理的内存空间将堆空间分老年代及年轻代,创建没多久就会消亡的对象存在年轻代,生命周期长久的实例对象存放老年代

jvm判断对象是否应该被回收?建立有向图的方式,通过gc roots向下遍历,对象不可达状态,标记,后期gc回收

原文链接:http://www.apkbus.com/blog-35555-68636.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消