`
gao_20022002
  • 浏览: 164887 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java虚拟机之byte相加

    博客分类:
  • Java
阅读更多

源代码:

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

}

学习学习虚拟机。

分享到:
评论
1 楼 决胜千Li 2010-03-19  
看不懂,可以解释下吗?

相关推荐

    JVM面试总结

    而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽...

    java_2020年常见面试题,java学习材料,java基础知识

    程序从源代码编译成字节码,然后由Java虚拟机(JVM)解释执行。虚拟机加载类文件,将其翻译为操作系统可理解的机器字节码并运行,最后在程序结束时回收内存并销毁虚拟机。 Java中的标识符命名规则要求以字母、...

    coreJava.doc

    在涉及不同类型的变量相加时,会进行类型提升,例如,`byte`和`byte`相加会先提升为`int`类型。赋值运算符`=`、`+=`、`-=`等用于改变变量的值,`a=b`和`a+=2`在语法上有所不同,但功能相近。 总的来说,Java学习...

    Java语录.ppt

    Java的设计目标是提供一个平台无关的运行环境,这主要得益于Java虚拟机(JVM)。JVM允许Java程序在任何支持Java的设备上运行,从而实现了跨平台的执行能力。 Java分为三个主要版本,分别是: 1. JSE(Java Standard...

    java书本答案

    这主要得益于Java虚拟机(JVM),它可以在不同的操作系统上运行相同的字节码,无需重新编译。 #### 题目3: 方法重载 **题目:** 下面属于publicvoiddemo(){}的重载函数的选项是()。 - **选项D:** publicintdemo...

    JAVA选择题复习.txt

    - 设置环境变量`classpath`是为了让Java虚拟机能够找到类文件。 - 正确的设置方式为`set classpath=c:\jdk1.2\bin`。 #### 18. 位移运算符 - Java中的位移运算符包括`&gt;&gt;`(右移)、`(左移)和`&gt;&gt;&gt;`(无符号右移)...

    Java语言规范:基于Java SE 8 文前

    Java语言的设计理念是“一次编写,到处运行”,这得益于Java虚拟机(JVM)的存在。JVM能够在多种平台上解释执行Java字节码,使得Java程序具有高度的可移植性。此外,Java还具备以下特点: - **面向对象**:Java是一种...

    java面试宝典(2016精华版)

    - Java程序编译成字节码(`.class`文件),由Java虚拟机(JVM)负责解析执行,实现了"一次编写,到处运行"的跨平台特性。 3. **String是否为基本数据类型** - 不是,String是对象,属于引用类型。Java没有字符串...

    Java基础入门习题答案.doc

    - **JRE(Java Runtime Environment)**: Java运行环境,包含了Java虚拟机(JVM)以及运行Java程序所需的类库。 3. **javac** - **javac**: Java编译器,用于将Java源代码编译成字节码(.class文件)。 4. **bin...

    常出现的JAVA试题

    3. **Java虚拟机(JVM)**:JVM是Java程序的执行环境,具有异常处理、多线程和动态链接等特点。D选项"简单易学"虽然对Java语言来说是正确的,但不是JVM的执行特点。 4. **Java语言特点**:Java是面向对象的、安全的、...

    1-Java考证基础部分.docx

    1. **程序运行环境**:Java程序的运行顺序是从上到下的,首先是Java程序,然后是Java运行时环境(JRE)或Java虚拟机(JVM),接着是操作系统,最后是硬件。正确顺序是C) Java程序 -&gt; JRE/JVM -&gt; 操作系统 -&gt; 硬件。 ...

    JAVA软件开发模拟练习(初级)含答案.docx

    Java程序需要先经过编译才能在Java虚拟机(JVM)上运行。 2. Java命名约定:Java的标识符应遵循一定的规则,如首字母大写的包名(例如`com.Bi.hr`),首字母大写的类名,以及驼峰命名的变量和方法名。`int ID`和`...

    Java基础练习题-附答案.doc

    3. **Java虚拟机特点**:Java虚拟机(JVM)的特点包括异常处理、多线程和动态链接。选项D的"简单易学"虽然对初学者来说是真实的,但它不是JVM的执行特点。 4. **Java语言特点**:Java语言的主要特点包括分布式、...

    java学习问总结的知识点

    - **ClassPath**: ClassPath环境变量用于指示Java虚拟机(JVM)到何处查找由用户编写的类或库文件。一般情况下,可以通过在ClassPath中添加`.`(表示当前目录)以及JDK提供的标准类库的路径来完成配置。 **2. JDK目录...

    JAVA 从零学习用于复习

    它的设计目标是实现“一次编写,到处运行”,这得益于Java虚拟机(JVM)的存在。Java语言的基础包括面向对象编程(OOP)特性、强大的异常处理和垃圾回收机制,以及跨平台的兼容性。 ### Java执行流程 1. 首先,...

    047471604Java语言程序设计(一).pdf

    1. **Java语言特点**:Java语言具有跨平台性,主要通过Java虚拟机(JVM)实现。它是强类型语言,对语法有严格规定,有助于减少错误。 2. **Java程序类型**:Java分为应用程序和小应用程序(Applet)。应用程序通常...

    基础Java综合测试100含答案.docx

    - 跨平台性:Java通过JVM(Java虚拟机)实现跨平台运行,使得同一份代码可以在不同的操作系统上运行。 - 垃圾回收:Java内置了垃圾收集机制,自动管理内存,避免程序员手动释放内存,减少了内存泄漏和悬挂指针的...

    java面试宝典适合初学者

    Java的跨平台能力源于其“一次编写,到处运行”的特性,这得益于Java虚拟机(JVM)。`String`不是基本数据类型,而是对象,因此不能直接继承。`&`和`&&`在逻辑运算中的区别在于`&`始终会执行两边的操作,而`&&`在左...

Global site tag (gtag.js) - Google Analytics