虚拟机字节码执行引擎
1. 所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的有效过程,输出的是执行结果。
2. 运行时栈帧结构:
栈帧是支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息,每一个方法调用从调用开始到执行完成都对应着一个栈帧在虚拟机栈里...
分类:
其他好文 时间:
2016-04-07 07:12:17
阅读次数:
183
Class类是什么? Class类是一个由当前对象类建模的一个类型, 由当前类的字节码文件生成的对象 当前类文件是String.class, 生成对象类型为Class 当前类文件时User.class, 生成对象的类型为Class 如果这个类是未知的, 那么生成的类是Class. Class 类的实... ...
分类:
其他好文 时间:
2016-04-07 01:29:16
阅读次数:
123
原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码。 一般情况下,很少有人使用javap对class文件进行反编译,因为有很多成熟的反编译工具可以使用,比如jad。但是,javap还可以查看java编译器 ...
分类:
编程语言 时间:
2016-04-03 23:30:37
阅读次数:
238
一、查看class编译JDK版本:javap -verbose <ClassName> 得到的信息如下: Compiled from "Test.java" public class Test extends java.lang.Object SourceFile: "Test.java" mino ...
分类:
其他好文 时间:
2016-04-02 18:47:46
阅读次数:
118
.java为Java的源文件后缀,编写的代码需要写在.java文件中。 Javac编译器,用于读取Java源代码,并将其编译成字节代码。经过javac编译后形成.class,是字节码文件。 Java虚拟机(JVM)运行.class文件从而实现程序的运行。 1、JVM——java virtual ma ...
分类:
编程语言 时间:
2016-03-29 16:23:13
阅读次数:
171
一、 java开发工具Editplus:Editplus与jdk的连接配置,如:javac(编译)、java(运行)、javap(查看字节码)
a) 配置内容:
i. javac(编译):参数为 -d . (FileName);初始目录(FileName);初始目录 (FileDir)
ii. java(运行):参数为 (CurSel).(CurSel).(FileNameNoExt);初始...
分类:
编程语言 时间:
2016-03-29 12:54:53
阅读次数:
263
【0】README
0.1)本文总结于 Clas字节码文件,旨在理清 Class字节码文件的大体结构;
【1】干货开始
对上图的分析(Analysis):
A1)offset=0
A1.1)头四个字节为CAFEBABE:表示魔数;A1.2)第5、6个字节是0x0:表示Class文件的次版本号;A1.3)第7、8个字节是0x34:表示主版本号;A1.4)第9...
分类:
其他好文 时间:
2016-03-29 10:57:34
阅读次数:
194
【0】README
0.1)本文部分文字描述转自 “深入理解jvm”,旨在学习
类文件结构 的基础知识;
0.2)本文荔枝以及荔枝的分析均为原创;
【1】类文件概述
1)各种不同平台的虚拟机与所有平台都统一使用存储格式——字节码,他是构成平台无关性的基石;
2)时至今日,商业机构和开源机构已经在 java语言外发展出一大批在 jvm 上运行的语言,如 Groovy, JRub...
分类:
编程语言 时间:
2016-03-28 00:18:51
阅读次数:
314
1)什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2)JDK和JRE的区别...
分类:
编程语言 时间:
2016-03-28 00:17:51
阅读次数:
306
一、Java程序运行机制 Java语言编写的程序需要经过编译生成与平台无关的字节码(.class文件)。 这种字节码必须使用Java解释器(JVM)来解释执行。 JVM是可运行Java字节码文件的虚拟计算机,将字节码转换成特定系统的机器码执行。 二、JDK安装目录下文件及其作用 1、bin:该路径存 ...
分类:
编程语言 时间:
2016-03-26 18:50:57
阅读次数:
182