Java学习之虚拟机运行时_第1页
Java学习之虚拟机运行时_第2页
Java学习之虚拟机运行时_第3页
Java学习之虚拟机运行时_第4页
Java学习之虚拟机运行时_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java学习之--

虚拟机运行时

戎码一生2023/6/29大纲虚拟机内部体系结构运行时基本流程方法表堆程序计数器Java栈执行引擎2023/6/29虚拟机内部体系结构方法区堆栈本地方法栈PC寄存器类装在子系统class文件执行引擎运行时数据区2023/6/29运行时的流程开始装载验证准备解析初始化执行方法结束垃圾回收2023/6/29运行时的流程-装载读取二进制流解析二进制流,并存入方法区类型信息、字段、方法、常量池、类变量等创建一个该类型的java.lang.Class对象2023/6/29运行时的流程-验证语义验证比如:1.检查final的类不能被继承2.检查final的方法不能被重写3.检查超类和子类的方法的兼容性(是否出现同名方法,但是不是重载的情况)4.检查各常量池入口之间的一致性2023/6/29运行时的流程-准备类变量的内存分配类变量的默认值设置a为实例变量,初始化阶段该实例还未被创建。b为类变量,准备阶段分配内存,并设置默认值为0。2023/6/29运行时的流程-解析把符号引用替换成直接引用符号引用:和字节码中的信息基本类似。直接引用:1.指向类型、类变量和类方法的直接引用可能是指向方法区的本地指针。2.指向实例变量和实例方法的直接引用都是偏移量。2023/6/29运行时的流程-初始化初始化类变量的值有啥问题?20建23暖/6俊/2愿6运行害时的辨流程竖-初冠始化初始牺化类变旗量的值先超怀类,奏后子干类初始转化阶符段,合通过钳调用牌<c纱li天ni在t>发方法芽对类萌变量思初始冰化语声句和企静态屋语句挎块进欧行初浇始化类变程量初尘始化陈语句到和静恢态语蹲句块扶的执吓行优内先级财是相子同的屯,按羊照J郑av邪a源翁代码类中的认顺序能一次性执行实例娱变量岸不在度这个椅阶段览进行味初始匆化,悦而是科在n尺ew站操作葬的时匀候调材用<缺in呢it拉>方松法进龙行初妙始化类变平量初闹始化落语句寻://pu玩bl售ic头s珍ta怪ti情c掩in斧t器st掠at店ic封In萌t;诉不是臂类变糠量初间始化敬语句pu姻bl常ic座s景ta贿ti乒c慨in届t喝st查at烦ic僵In凶t示=毁5;pu妈bl正ic戏s拢ta泊ti梁c马do绵ub夕le单c登=浓M洲at且h.盐ra递nd私om虾()大*0裙.3穗;静态弱语句恐块:st合at娇ic庄{。。武。。丙。}20宫23涂/6弄/2疯6类初封始化贼:<游cl北in井it迫>方膝法20心23朴/6刷/2椒6实例旱初始牵化:爽<i居ni翅t>桐方法20扇23义/6架/2愿6方法鸦表-冠方法赠查找20嗽23掏/6逝/2荒6方法华表-滋方法现查找虚拟色机规兼范没叹有规恭定必骄须有孙方法阅表(负方法乒表需恰要额鸦外的侮内存管)在字千节码定装载请的时门候存披放到亮方法诸区中私有坝方法器和实牢例初偿始化膨方法溉调用小指令驰:i壮nv颈ok榨es娘pe副ci金al静态喇方法培的调顶用指蓬令:横in兼vo张ke叛st蒙at竿ic每个循类都甘有一鲜个方哗法表锁,方筛法表礼包含吨从超塔类继寻承来痰的实扭例方精法方法姐表中脊的方寨法是驾非私解有、却非静疾态、隐非初某始化惹的实克例方腿法方法钩表可申以理似解为劳一个姿指针闹数组卸,每攻个元捞素指突向方蠢法区固中的环某个朗方法实例子方法娃调用虽指令哀:i皮nv稳ok洲ev伟ir洲tu沉al接口越方法义调用非指令缎:i掀nv忙ok附ei纠nt击er滨fa倾ce每个喊堆中衣的实饺例都趋有一饮个指柜向方驱法区施的指膊针都说许接口槐方法尚调用比实狗例方绢法慢腔,为什沾么wh须y?20救23助/6僚/2荐6方法蓬表-筐Do乡丰g的铁方法惨表20线23课/6你/2狐6方法罩表-娘Co撕ck讯er肺Sp翼an竖ie蕉l的磁方法据表20违23照/6摇/2体6方法建表-酿Do屡g的码方法丙表20吧23品/6灿/2狠6堆堆用我来存怀储创炸建的腰实例动(对个象、沉数组蓬)有分船配新告对象逝的指缸令,收但没危有释科放对冒象内答存的杏指令笑,释兆放内及存完勒全交蹄由垃毯圾收犁集器躲来做一个著Ja遥va荒程序块一个鄙Ja夹va插虚拟串机实密例,倦一个椒Ja豪va唤虚拟元机实父例一万个堆虚拟舒机或晚者J喜av牺a程舒序之尼间的齿堆互谢不干辨扰,清但同筛一个说Ja霞va万程序避中的条不同乒线程丈共享期堆堆空房诚间不辉一定辫是连结续的牧内存晨区,来可动凤态伸骆缩20蜓23秘/6我/2休6堆-谎实现边1指向耕对象代池的隐指针指向六类数坚据的怠指针堆句柄对象实例僵数据对象牛锁、拐等待烛集合垃圾葵收集筹相关酬数据。。志。。。很。方法抓区类数污据类数想据类数魄据类数菠据类数线据。。劈燕。指向痰句柄围池的烤指针。。启。一个酱对象舱的引弯用20铁23疾/6蹦/2隶6堆-避实现财2指向况类数咐据的谢指针实例应数据堆方法泉区类数些据类数刘据类数疤据类数忘据类数疲据。。盒。指向滤堆的绞指针。。增。一个钓对象刷的引罚用对象准锁、晶等待遗集合垃圾午收集令相关协数据。。请。。对象20由23势/6膜/2拥6程序首计数樱器每个活线程拴一个时程序棒计数菌器总是镇指向唤下一本条指灶令(在调疲用方椅法返显回的覆时候顽是指膝向哪枯儿?)在方骗法内祝跳转闸的时绿候会杆用到延程序怒计数咬器,堡比如旅:g逐ot构o篇ff防f9狱(程姻序计帮数器攻的值做-7鹅等于死下一播跳指隆令的丑位置鞭)程序物计数惕器还凶有啥少作用智?20监23农/6贝/2裤6Ja抽va拦栈往J掌av蛛a栈理中压消栈和渠出栈真的目茅标是辟栈帧每调洋用一筑个方组法就惑创建置一个暑栈帧Ja麦va途栈通觉常是述预先迹分配疗一个颤较长窄的内拼存空袍间,顷当空佳间不直够的抚时候越再扩滚展J考av系a栈栈帧商(与厌方法具对应婆)局部新变量灵区(雀存放塌方法吓参数溜和方嗓法体荷中的亡局部剥变量摧,生匀命周暑期短寨)操作伏数栈殊(栈克帧中映的栈企,用声于指冠令操镜作数垄存储融,生叔命周舅期短仪)帧数辛据区恳(存进放常毛量池纳指针兔、异饥常表惊的引骨用、雁调试虽数据欧、支暮持方督法正怀常返唱回)20口23妈/6餐/2冈6Ja尸va仍栈Ma裕in垄类ma激in夜()栈帧Ma终in危类ma声in牌()栈帧Cl锐as淘sA悉类<i锯ni绢t>栈帧Ma耗in扇类ma正in闪()栈帧Cl欠as王sA野类ca现ll郊Cl元as并sB艳Me明th邮od怀()栈帧Ma饼in趴类ma浊in挺()栈帧Cl浸as冒sA左类ca专ll披Cl放as论sB饱Me愚th篮od劈燕()栈帧Cl梁as婆sB惯类ca寺ll航()栈帧Ma舅in蝇类ma造in应()栈帧Cl忧as脏sA狠类ca历ll汤Cl身as希sB粗Me垂th哪od写()栈帧Cl怕as孔sB绣类ca只ll紫()栈帧Pr犁in欧tS鬼tr州ea呜m类pr蹦in附tl脑n(仁)栈帧Ma妨in愉类ma野in乓()栈帧Ma我in暂类ma乞in崭()栈帧Cl拒as竹sA笨类ca氧ll泼Cl相as潮sB粥Me缓th爸od党()栈帧Cl师as涝sB刊类ca摔ll盯()栈帧。。牛。。栈底栈顶<i纪ni详t>虹完成气,出舱栈pr抽in吗tl宜n(闻)完耕成,值出栈ca放ll晴()茶完成菜,出证栈ca倾ll叹Cl住as劳sB套Me碍th示od惧()宋和m爆ai侵n(末)依恐次出亚栈20蚕23鹊/6腔/2杜6Ja姥va宰栈-熊栈帧a指向构常量谱池的兴指针局部宁变量尘区帧数敏据区异常补表的帮引用调试方数据支持雄方法添返回等等bcdghefth犁is操作搭数栈012345791020暑23消/6跟/2容6Ja授va尽栈-急栈帧th移is武引用帧数五据区1re抓su矩lt88收.8根8帧数估据区ad忧dA熄nd轰Pr羞in甘t(占)的栈义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论