虚拟机
CaseStatiC
这个作者很懒,什么都没留下…
展开
-
操作码5:浮点运算
原创 2014-02-25 17:08:56 · 387 阅读 · 0 评论 -
JVM2:Jvm方法区
1. 当虚拟机装载某个类型时,它使用装载器定位相应的class文件,然后读入这个class文件,虚拟机提取其中的类型信息,并将这些信息存储到方法区,该类的类变量也同样存储在方法区。2.所有的线程共享方法区,对方法区的访问必须线程安全,方法区可以不必连续,方法区也可以被垃圾收集,当某个类不在被引用,可以卸载这个类。a.类型信息 对每个装载的类型,虚拟机都会再方法区存储:这个类型的原创 2014-02-26 11:47:11 · 440 阅读 · 0 评论 -
操作码4:逻辑运算
Java虚拟机的逻辑运算只要针对int和long类型ishl 向左对int类型进行移位操作 ishr 向右对int类型进行移位 >>(向右平移,符号为正,高位补0,符号位负,高位补1)iushr向有对int类型进行逻辑移位操作 ,(无论正负,在高位都补0)lshl 向左对long类型值进行移位操作lshrlushr位逻辑运算iand 对两个i原创 2014-02-25 17:08:28 · 638 阅读 · 0 评论 -
操作码3:整数运算
原创 2014-02-25 17:07:57 · 471 阅读 · 0 评论 -
操作码2:类型转换
Java转换,先从栈顶弹出一个值,对它进行装换,然后再把转化结果压入栈i2l int转为li2fi2dl2il2fl2df2if2lf2dd2id2ld2f把int类型转化为占据更小的数据类型,先从操作数栈中弹出一个int类型值,将他转换为能用byte,short或char类型描述的int类型值,然后再把这个转化后的int类型值压入栈。原创 2014-02-25 17:07:27 · 501 阅读 · 0 评论 -
JVM6:Jvm程序计数器,Java栈,本地方法栈,本地方法接口
原创 2014-02-26 11:52:08 · 540 阅读 · 0 评论 -
JVM5:Jvm执行引擎
原创 2014-02-26 11:50:12 · 397 阅读 · 0 评论 -
JVM4:Jvm栈帧
原创 2014-02-26 11:49:34 · 376 阅读 · 0 评论 -
JVM3:Jvm堆
原创 2014-02-26 11:48:06 · 348 阅读 · 0 评论 -
操作码1:栈和局部变量操作
int和float都是一个字长的值,Java栈的每个位置的长度都是一个字长(至少32位宽),每当一个int或者float类型被压入栈时,它都将占据一个位置。iconst_ml 将int类型值-1压入栈iconst_0 将int类型值0压入栈iconst_1 将int类型值1压入栈iconst_2将int类型值2压入栈iconst_3 将int类型值3压入栈icons原创 2014-02-25 17:06:41 · 614 阅读 · 0 评论 -
操作码9:finally子句
字节码中的finally子句在方法内部的表现很像“微型子例程”,每个try语句块与其后面的结尾处都会调用finally子例程,finally子句结束后,隶属于这个finalyy子句的微型子例程执行返回操作,程序在第一次调用微型子例程的地方继续执行后面的语句。jsr 跳转到子例程jsr ,branchbyte1,branchbyte21.Java虚拟机首先将紧随jsr指令原创 2014-02-25 17:11:29 · 479 阅读 · 0 评论 -
操作码10:方法的调用与返回
原创 2014-02-25 17:12:00 · 379 阅读 · 0 评论 -
操作码6:对象和数组
原创 2014-02-25 17:09:22 · 373 阅读 · 0 评论 -
操作码11:线程同步
原创 2014-02-25 17:12:24 · 356 阅读 · 0 评论 -
操作码8:异常
原创 2014-02-25 17:10:55 · 410 阅读 · 0 评论 -
操作码7:控制流
原创 2014-02-25 17:09:52 · 441 阅读 · 0 评论 -
JVM1:概述
1.一个Java虚拟机的天职就是:负责运行一个Java程序,Java虚拟机通过调用某个类的main方法来运行程序的2.每个Java虚拟机有一个类装载器子系统,他更具给定的全限定名来装入类型,每个Java虚拟机都有一个执行引擎,他负责执行那些包含在被装载类的方法中的指令。3.每个Java虚拟机实例都有一个方法区和一个堆,他们有虚拟机中所有的线程共有,当虚拟机装载一个class文件时,他从这个原创 2014-02-26 11:46:40 · 610 阅读 · 0 评论