javap命令经常使用来对java类文件来进行反编译,主要用来对java进行分析的工具,在学习Thinking in Java时,因为须要对类文件反编译。以查看jvm究竟对我们写的代码做了哪些优化和处理,比方我看的使用+=对字符串进行拼接时。jvm的处理方式。

废话不多说。以下直接带上配置的教程:

点击菜单条 Run --->  External tools ---> External tools Configurations...    然后例如以下图点击New

输入:

Name: javap

Locations: 选择jdk的javap.exe文件所在的位置

Working Directory: ${workspace_loc}/${project_name}

Arguments: -classpath bin -c ${java_type_name}

说明:${workspace_loc}表示工作空间所在的路径;

${project_name}表示项目的名称;

${java_type_name}表示所选java文件的类名(全名);

上面的这些变量能够通过每一栏右下方的Variablesbutton去选择。

(关于其它的一些变量读者能够自行去了解)

Arguments的内容: -classpath表示javap命名搜索的类路径(bin表示是相对于项目的相对路径)    -c表示这里将生成JVM字节码

例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

然后点击Run, 可能会出现例如以下的错误:

出现上面那个错误,说明你未选中java文件。然后选择一个java文件。点击javap,查看反编译后的结果。顺便说一下,你们可能不知道配置后的javap命令去那儿点击,看下图就知道去那儿点击javap了:

最新文章

  1. Express4 启航指南
  2. 开园第一篇 - 论移动开发环境 IOS与Android的差异
  3. angularjs with node service
  4. Linq查询操作之聚合操作(count,max,min,sum,average,aggregate,longcount)
  5. tomcat启动时报错
  6. 一个基于ANTLR 4的布尔表达式语句解释器的实现
  7. Lock wait timeout exceeded; try restarting transaction
  8. LittleTools之输出RenderTexture工具
  9. 新辰:4G时代怎样利用手机进行移动APP营销?
  10. 【内网渗透】MSF的exploit和pyload的基础使用
  11. PHP第一天
  12. 201521123052《Java程序设计》第7周学习总结
  13. 用Laravel Sms实现 laravel短信验证码的发送
  14. openssl-1.1.0g reference
  15. 程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,本人已部分修改
  16. jsonModel使用
  17. 学习笔记之Python爬虫
  18. Linux 虚拟内存机制
  19. 第三次随笔--安装虚拟机及学习linux系统初体验
  20. Python3 判断文件和文件夹是否存在、创建文件夹

热门文章

  1. GIT团队实战博客
  2. IE劫持
  3. Kotlin在处理GET和POST请求的数据问题
  4. Qt多线程-QtConcurrent并行运算高级API
  5. Html5新增元素中Canvas 与内联SVG的比较!
  6. spring 整合 struts2 + Hibernate application配置文件(基于注解)
  7. spring学习12 -Spring 框架模块以及面试常见问题注解等
  8. ADOQuery的ltBatchOptimistic状态下的用法
  9. angular 数据内容有重复时不显示问题
  10. 【JavaScript&jQuery】单选框radio,复选框checkbox,下拉选择框select