JVM简介JVM(Java虚拟机)是一个虚拟的机器,在实际的计算机上通过软件模拟来实现。JVM有自己的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM包括一套字节码指令集、一组寄存器、一个栈、一个堆和一个存储方法域。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的....
分类:
其他好文 时间:
2015-01-19 23:19:10
阅读次数:
249
在JDK7之前方法调用的字节码指令共有四条,invokeinterface、invokespecial、invokestatic、invokevirtual。由这四条指令完成Java中所有类型方法的调用。
invokeinterface(调用接口方法)
无符号数indexbyte1和indexbyte2共同组件一个当前类常量池索引(index),该索引值为(indexby...
分类:
其他好文 时间:
2014-12-18 22:19:37
阅读次数:
350
1. 程序计数器现在多线程越来越普遍了,但是对于单核处理器而言,同一个时刻只能够执行一行指令。多个线程的同时执行,实际上是通过线程切换来实现的。一种简单的方式就是,每个线程执行一段时间后,就切换到另外一个线程去执行。当线程A执行到某行字节码指令时被挂起,这个时候切换到线程B执行一段时间后,又需要切换...
分类:
其他好文 时间:
2014-12-14 11:57:59
阅读次数:
132
JDK1.0核心API,集成API,用户界面API,发布技术,Java虚拟机(JVM)AWTJDK1.1JITb编译器,会把常执行的部分字节码指令先解释好放在内存,以后再次执行该指令时,不用再解释.Reader /Writer,16位读写。新的事件模型,使用ListenerJDK1.2(里程碑) ,...
分类:
其他好文 时间:
2014-12-08 19:20:13
阅读次数:
181
Java的运行数据区域分为:程序计数器、方法区、本地方法栈、虚拟机栈、堆、运行时常量池。 程序计数器:从字面意思上很容易理解错误(第一眼看见我还以为仅仅是Count计数器),其实它的作用是保存字节码指令,即CPU需要哪种操作,便改变这个程序计数器的值来选取下一条字节码指令,分支、循环、跳转、异...
分类:
编程语言 时间:
2014-12-01 22:06:57
阅读次数:
160
dis — Disassembler for Python bytecode,即把python代码反汇编为字节码指令.
使用超级简单:python -m dis xxx.py
当我在网上看到while 1比while True快的时候,我感到很困惑,为何会有这种区别呢?
于是使用dis来深入.
假设est_while.py代码如下.
#coding=utf-8
while 1...
分类:
编程语言 时间:
2014-11-25 12:46:19
阅读次数:
155
This is a list of the instructions that make up theJava bytecode, an abstract machine language that is ultimately executed by theJava virtual machine....
分类:
编程语言 时间:
2014-10-21 21:24:20
阅读次数:
277
java类的加载过程。参考书籍:深入理解JAVA虚拟机 书中错误的地方,p222. 字段解析,在解析一个未解析过的字段时,书中说的是先解析字段表的class_index, 但是,字段表示没有class_index, 跟在字节码指令后边的字段的符号引用是CONSTANT_Field_info。 先对其中的cla..
分类:
其他好文 时间:
2014-09-10 03:02:40
阅读次数:
629
1、程序计数器 是一块较小的内存空间,是唯一一个没有规定任何OutOfMemoryError情况的区域。 作用:当前线程所执行的字节码(.class)的行号指示器。字节码解释器工作是通过改变计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基本功能都需要依赖这个计.....
分类:
编程语言 时间:
2014-08-14 01:23:17
阅读次数:
278
1、程序计数器的作用是当前线程所执行的字节码的行号指示器;
2、虚拟机内存模型里,字节码解析器通过改变程序计数器的值来选取下一条需要执行的字节码指令(分支、循环、跳转、异常处理、线程回复);
3、为了线程...
分类:
其他好文 时间:
2014-07-22 08:19:38
阅读次数:
249