软件工程师-Java字节码开发深入解析教程解释.docx

软件工程师-Java字节码开发深入解析教程解释.docx

ID:50500232

大小:18.42 KB

页数:6页

时间:2020-03-06

软件工程师-Java字节码开发深入解析教程解释.docx_第1页
软件工程师-Java字节码开发深入解析教程解释.docx_第2页
软件工程师-Java字节码开发深入解析教程解释.docx_第3页
软件工程师-Java字节码开发深入解析教程解释.docx_第4页
软件工程师-Java字节码开发深入解析教程解释.docx_第5页
资源描述:

《软件工程师-Java字节码开发深入解析教程解释.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文将对Java字节码进行解析,以及一些效率问题。AD:一:Java字节代码的组织形式类文件{OxCAFEBABE,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组}二:查看方法---javap命令例子:有一个Java类Demo.java1.public class Demo { 2.    private String str1; 3.    private String str2; 4.    private int num1; 5.

2、    private int num2; 6.    public static final String STATIC_DATA = "hello world"; 7.     8.    private void sayHello1(){ 9.        System.out.println("this is method1..."); 10.    } 11.    private void sayHello2(){ 12.        System.out.println("this is method2..."); 13.    } 14.    pu

3、blic void sayHello3(){ 15.        System.out.println("this is method3..."); 16.    } 17.} 通过jdk自带的反编译工具命令javap可以查看class文件的字节码信息D:>javap-verboseDemo>>Demo.txtDemo.txt:1.Compiled from "Demo.java" 2.public class Demo extends java.lang.Object 6/61.  SourceFile: "Demo.java" 2.  minor version

4、: 0 3.  major version: 49   4.  5.  Constant pool: 6.const #1 = class      #2;   //  Demo 7.const #2 = Asciz     Demo; 8.const #3 = class      #4;   //  java/lang/Object 9.const #4 = Asciz     java/lang/Object; 10.const #5 = Asciz     str1; 11.const #6 = Asciz     Ljava/lang/String;; 12.

5、const #7 = Asciz     str2; 13.const #8 = Asciz     num1; 14.const #9 = Asciz     I; 15.const #10 = Asciz   num2; 16.const #11 = Asciz   STATIC_DATA; 17.const #12 = Asciz   ConstantValue; 18.const #13 = String  #14; //  hello world 19.const #14 = Asciz   hello world; 20.const #15 = Asciz 

6、  ; 21.const #16 = Asciz   ()V; 22.const #17 = Asciz   Code; 23.const #18 = Method       #3.#19;   //  java/lang/Object."":()V 24.const #19 = NameAndType    #15:#16;//  "":()V 25.const #20 = Asciz   LineNumberTable; 26.const #21 = Asciz   LocalVariableTable; 27.const #2

7、2 = Asciz   this; 28.const #23 = Asciz   LDemo;; 29.const #24 = Asciz   sayHello1; 30.const #25 = Field   #26.#28;  //  java/lang/System.out:Ljava/io/PrintStream; 31.const #26 = class    #27; //  java/lang/System 32.const #27 = Asciz   java/lang/System; 33.const #28 = Nam

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。