在JDK的bin文件夹下,有许多自带工具: javap就是其中的一个,对应为 javap.exe

javap可反编译查看Java编译器编译生成的字节码文件,

语法:

  javap [ options ] class

options:
  -help  帮助
  -l  输出行和变量的表
  -public  只输出public方法和域
  -protected  只输出public和protected类和成员
  -package  只输出包,public和protected类和成员,这是默认的
  -p -private  输出所有类和成员
  -s  输出内部类型签名
  -c  输出分解后的代码,例如,类中每一个方法内,包含java字节码的指令,
  -verbose  输出栈大小,方法参数的个数
  -constants  输出静态final常量
 
例如:
 
先进入到class文件的目录,再执行:javap -verbose Helloworld.class   (有时候会报错,说是找不到该class,可以把.class去掉再执行下,只写类名即可。)
 从中可以看到jdk版本, major version: 51
  jdk版本和版本号的对照表
              十六进制    十进制
  JDK1.5      31          49
  JDK1.6      32          50
  JDK1.7      33          51
  JDK1.8      34          52
--------------------------------------------------------------------
javap -c Helloworld > F://Helloworld.txt
可将反编译结果输出到txt文件中
--------------------------------------------------------------------
问题总结:
 
1. 如果该类太长,反编译后导致cmd中看不到关键信息major version, 则需要修改cmd的属性(属性 -> 布局 -> 屏幕缓冲区的高度,调大一些)。
 

JDK自带反编译工具javap的更多相关文章

  1. java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介

    本文对常用的反编译工具进行简单介绍 JD-GUI.procyon-decompiler.luyten.crf   反编译工具分类 JD-GUI JDK7以及之前可以使用   JD-GUI,如果版本&g ...

  2. JDK 的配置和反编译工具的使用---------------Java知识点

    初始Java 1995年5月,sun公司开发了一门新的编程语言------Java 詹姆斯.高斯林(Java之父),Java语言小巧安全具有可移植可跨平台性的优点. 开发java程序的步骤:编写 ,编 ...

  3. Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  4. Eclipse反编译工具Jad及插件JadClipse配置(转)

    Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不 ...

  5. java反编译工具

    由于JAVA语言安全性高.代码优化.跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位. 不过,JAVA最突出的跨平台优势使得它 ...

  6. APK Multi-Tool强大的APK反编译工具终极教程

    一.APK Multi-Tool介绍    APK Multi-Tool 是APK Manager的升级版,是一个强大的APK反编译工具,集多种功能于一身,是居家必备.做ROM必选的工具!    这是 ...

  7. 2: Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  8. Java反编译工具Jad及插件JadClipse配置教程

    Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...

  9. Atitit.java 反编译 工具  attilax 总结

    Atitit.java 反编译 工具  attilax 总结 1. 三大核心核心引擎——1 2. JAD  Jad  attitude推荐这个1 2.1. Jdec.2 2.2. 二. 源码开放的 J ...

随机推荐

  1. 转载:Java知多少(8)类库及其组织结构

    转载地址:http://www.cnblogs.com/Coda/p/4346151.html Java知多少(8)类库及其组织结构 Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个 ...

  2. nginx日志分析命令记录

    这是要注意的 可能因为 线上 nginx日志输出格式的不一样,一下命令未能展示正确的结果 流量速率分析的第三个命令 慢查询分析的第一二个命令 参考文档,nginx日志输出格式为 $remote_add ...

  3. python的模块导入问题

    以下内容参考:http://www.xinxingjiaocheng.com/online/item/7/89 1.给模块起个别名 如果一个模块的名字很长很长,就像这样comput_the_value ...

  4. C语言实现队列(纯C)

    1. [代码][C/C++]代码 #include <stdio.h>#include <stdlib.h>#define ElemType int #define Statu ...

  5. Java常用四大线程池用法以及ThreadPoolExecutor详解

    为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线 ...

  6. javascript(8)

      给对象添加方法还有两种方式: 第一种: function 类名(){ this.属性; } var 对象名=new 类名(); function 函数名(){ //执行 } 对象名.属性名=函数名 ...

  7. smack

    XMPP/Smack/Openfire javax.net.ssl.SSLException: Received fatal alert: internal_error 解决: 1.在链接openfi ...

  8. Python: scikit-image canny 边缘检测

    这个用例说明canny 边缘检测的用法 import numpy as np import matplotlib.pyplot as plt from scipy import ndimage as ...

  9. asterisk ss7 ${CALLERID(rdnis)}变量为空问题

    asterisk 1.8.16+chan_ss7 version 2.1.1b ${CALLERID(rdnis)}变量取不到信息问题,解决 编辑 funcs/func_callerid.c chan ...

  10. uC/OS-II源码分析(二)

    在真正开始分析源代码前,先来看使用uC/OS-II的三个例子 1)使用信号量 #define  TASK_STK_SIZE                 512       /* 每个任务堆栈的大小 ...