源代码:
class Hello{
public static void main(String[] argv){
byte a = 0x00;
byte b = 0x01;
byte c = (byte)(a+b);
System.out.println("This is a test");
}
}
反编译:
d:\>javap -c Hello
Compiled from "Hello.java"
class Hello extends java.lang.Object{
Hello();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_0
1: istore_1
2: iconst_1
3: istore_2
4: iload_1
5: iload_2
6: iadd
7: i2b
8: istore_3
9: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
12: ldc #3; //String This is a test
14: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
17: return
}
学习学习虚拟机。
分享到:
相关推荐
而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽...
程序从源代码编译成字节码,然后由Java虚拟机(JVM)解释执行。虚拟机加载类文件,将其翻译为操作系统可理解的机器字节码并运行,最后在程序结束时回收内存并销毁虚拟机。 Java中的标识符命名规则要求以字母、...
在涉及不同类型的变量相加时,会进行类型提升,例如,`byte`和`byte`相加会先提升为`int`类型。赋值运算符`=`、`+=`、`-=`等用于改变变量的值,`a=b`和`a+=2`在语法上有所不同,但功能相近。 总的来说,Java学习...
Java的设计目标是提供一个平台无关的运行环境,这主要得益于Java虚拟机(JVM)。JVM允许Java程序在任何支持Java的设备上运行,从而实现了跨平台的执行能力。 Java分为三个主要版本,分别是: 1. JSE(Java Standard...
这主要得益于Java虚拟机(JVM),它可以在不同的操作系统上运行相同的字节码,无需重新编译。 #### 题目3: 方法重载 **题目:** 下面属于publicvoiddemo(){}的重载函数的选项是()。 - **选项D:** publicintdemo...
- 设置环境变量`classpath`是为了让Java虚拟机能够找到类文件。 - 正确的设置方式为`set classpath=c:\jdk1.2\bin`。 #### 18. 位移运算符 - Java中的位移运算符包括`>>`(右移)、`(左移)和`>>>`(无符号右移)...
Java语言的设计理念是“一次编写,到处运行”,这得益于Java虚拟机(JVM)的存在。JVM能够在多种平台上解释执行Java字节码,使得Java程序具有高度的可移植性。此外,Java还具备以下特点: - **面向对象**:Java是一种...
- Java程序编译成字节码(`.class`文件),由Java虚拟机(JVM)负责解析执行,实现了"一次编写,到处运行"的跨平台特性。 3. **String是否为基本数据类型** - 不是,String是对象,属于引用类型。Java没有字符串...
- **JRE(Java Runtime Environment)**: Java运行环境,包含了Java虚拟机(JVM)以及运行Java程序所需的类库。 3. **javac** - **javac**: Java编译器,用于将Java源代码编译成字节码(.class文件)。 4. **bin...
3. **Java虚拟机(JVM)**:JVM是Java程序的执行环境,具有异常处理、多线程和动态链接等特点。D选项"简单易学"虽然对Java语言来说是正确的,但不是JVM的执行特点。 4. **Java语言特点**:Java是面向对象的、安全的、...
1. **程序运行环境**:Java程序的运行顺序是从上到下的,首先是Java程序,然后是Java运行时环境(JRE)或Java虚拟机(JVM),接着是操作系统,最后是硬件。正确顺序是C) Java程序 -> JRE/JVM -> 操作系统 -> 硬件。 ...
Java程序需要先经过编译才能在Java虚拟机(JVM)上运行。 2. Java命名约定:Java的标识符应遵循一定的规则,如首字母大写的包名(例如`com.Bi.hr`),首字母大写的类名,以及驼峰命名的变量和方法名。`int ID`和`...
3. **Java虚拟机特点**:Java虚拟机(JVM)的特点包括异常处理、多线程和动态链接。选项D的"简单易学"虽然对初学者来说是真实的,但它不是JVM的执行特点。 4. **Java语言特点**:Java语言的主要特点包括分布式、...
- **ClassPath**: ClassPath环境变量用于指示Java虚拟机(JVM)到何处查找由用户编写的类或库文件。一般情况下,可以通过在ClassPath中添加`.`(表示当前目录)以及JDK提供的标准类库的路径来完成配置。 **2. JDK目录...
它的设计目标是实现“一次编写,到处运行”,这得益于Java虚拟机(JVM)的存在。Java语言的基础包括面向对象编程(OOP)特性、强大的异常处理和垃圾回收机制,以及跨平台的兼容性。 ### Java执行流程 1. 首先,...
1. **Java语言特点**:Java语言具有跨平台性,主要通过Java虚拟机(JVM)实现。它是强类型语言,对语法有严格规定,有助于减少错误。 2. **Java程序类型**:Java分为应用程序和小应用程序(Applet)。应用程序通常...
- 跨平台性:Java通过JVM(Java虚拟机)实现跨平台运行,使得同一份代码可以在不同的操作系统上运行。 - 垃圾回收:Java内置了垃圾收集机制,自动管理内存,避免程序员手动释放内存,减少了内存泄漏和悬挂指针的...
Java的跨平台能力源于其“一次编写,到处运行”的特性,这得益于Java虚拟机(JVM)。`String`不是基本数据类型,而是对象,因此不能直接继承。`&`和`&&`在逻辑运算中的区别在于`&`始终会执行两边的操作,而`&&`在左...