intellij idea 教程可以逆向工程吗

你的位置: >
> Intellij Idea Jad 反编译class
Jad其实是一个优秀的反汇编工具,在命令行下使用。Jad并不局限于IDEA,在eclipse下也有插件。这里记录一下Jad IDEA下的配置。
插件的安装很简单,请参考。
我想补充的是在 windows下不要把&Jad 解压到带有空格的路径下,会导致反编译失败。安装完成后需要配置一下jad.exe的路径,jad会有智能的提示。
测试一下Jad的反汇编效果。
原始源码:
package&com.hankcs.//:&strings/Concatenation.java
public&class&Concatenation
&&&&public&static&void&main(String[]&args)
&&&&&&&&String&mango&=&&mango&;
&&&&&&&&String&s&=&&abc&&+&mango&+&&def&&+&47;
&&&&&&&&System.out.println(s);
}&/*&Output:
abcmangodef47
先编译后反编译出来的结果:
/*&Decompiled&through&IntelliJad&*/
//&Decompiled&by&Jad&v1.5.8g.&Copyright&2001&Pavel&Kouznetsov.
//&Jad&home&page:&/jad.html
//&Decompiler&options:&packfields(3)&packimports(3)&splitstr(64)&radix(10)&lradix(10)&
//&Source&File&Name:&&&Concatenation.java
package&com.hankcs.
public&class&Concatenation
&&&&public&Concatenation()
&&&&public&static&void&main(String&args[])
&&&&&&&&String&mango&=&&mango&;
&&&&&&&&String&s&=&(new&StringBuilder()).append(&abc&).append(mango).append(&def&).append(47).toString();
&&&&&&&&System.out.println(s);
反编译出来的结果跟原始代码几乎一摸一样,只不过编译的时候String被编译器替换为性能更高的StringBuilder。也许从反编译后的代码可以看出Java编译器的一些优化效果。
转载请注明: &
与本文相关的文章IntelliJ IDEA常见问题-Java-第七城市
IntelliJ IDEA常见问题
转载自/apages/item/e31d7bf2dc16c6ee1a111f0bIntelliJ IDEA常见问题提高性能禁用 拼写检查 spelling = settings - project - inspections - spelling - typo 去掉1. 中文乱码问题:在包含中文文件名或者文件夹的时候会出现??的乱码,解决方法如下:File菜单-&Settings-&Colors & Fonts-&Editor Font=宋体, size=12, line spacing =1.0File菜单-&Settings-&Appearance-& Font Name=Simsun,size=12 2. 如何完美显示中文:Settings-&Appearance中勾选Override default fonts by (not recommended),设置Name:NSimSun,Size:12
3. 如何让光标不随意定位:Settings-&Editor中去掉Allow placement of caret after end of line。
4. 如何显示行号:Settings-&Editor-&Appearance标签项,勾选Show line numbers
5. 如何让IntelliJ IDEA动的时候不打开工程文件:Settings-&General去掉Reopen last project on startup.
6. 在IntelliJ IDEA中为什么无法起动Tomcat: 请使用ZIP版的Tomcat7. 默认代码提示和补全快捷键跟输入法冲突:如何解决:Settings-&Keymap
先copy一份快捷键方案。 再展开。如图:
选择功能,再添加一个新的快捷键
剩下功能,也要改,如上图蓝色字体部分。我只是把原有快捷键中的空格改成了“;”,就是分号,这样会方便很多。
-----------------------------------------& 取消“ Synchronize file on frame activation ”和“ Save files on framedeactivation ”的选择&
同时我们选择& Save files automatically &, 并将其设置为30秒,这样IDEA依然可以自动保持文件,所以在每次切换时,你需要按下 Ctrl+S 保存文件。&
如何让IntelliJ IDEA动的时候不打开工程文件:Settings-&General去掉Reopen last project on startup&
Editor --& Editor Tabs
-----------------------------------------& 在IDEA中,你需要做以下设置, 这样被修改的文件会以*号标识出来,你可以及时保存相关的文件。& & Mark modifyied tabs with asterisk &&
如何显示行号:Settings-&Editor-&Appearance标签项,勾选Show line numbers& 默认代码提示和补全快捷键跟输入法冲突,如何解决:Settings-&Keymap& 如何让光标不随意定位:Settings-&Editor中去掉Allow placement of caret after end of line IntelliJ IDEA不支持热发布,就因为改个页面我们去重启容器 ,是很浪费时间的,也很麻烦。 我们通过改变目录来解决这个问题 。在“AJAX”上点右键,选择“ Module settings”
到这里,你会发现有个Web Facet Exploede Directory,然后我们改变这个目录, 指向当前 工程的Web跟节点即可
*:注意 Exclude from module content勾去掉,不然会有webroot不见了的现象
然后我们启动容器,随便的编辑页面,然后点击刷新,发现页面立即能显示出来了
查询快捷键CTRL+N&& 查找类CTRL+SHIFT+N& 查找文件 CTRL+SHIFT+ALT+N 查 找类中的方法或变量 CIRL+B&& 找变量的来源 CTRL+ALT+B& 找所有的子类 CTRL+SHIFT+B& 找变量的 类 CTRL+G&& 定位行 CTRL+F&& 在当前窗口查找文本 CTRL+SHIFT+F& 在指定窗口查找文本 CTRL+R&& 在 当前窗口替换文本 CTRL+SHIFT+R& 在指定窗口替换文本 ALT+SHIFT+C& 查找修改的文件 CTRL+E&& 最 近打开的文件 F3&& 向下查找关键字出现位置 SHIFT+F3& 向上一个关键字出现位置 F4&& 查找变量来源 CTRL+ALT+F7& 选 中的字符 查找工程出现的地方 CTRL+SHIFT+O& 弹出显示查找内容SVN 管理把SVN库添加到IDEA中 SETTING -&& VERSION CONTROL -& VCS = SVBVERSION
自动代码ALT+回车& 导入包,自动修正CTRL+ALT+L& 格式化代码 CTRL+ALT+I& 自 动缩进 CTRL+ALT+O& 优化导入的类和包 ALT+INSERT& 生成代码(如GET,SET方法,构造函数等) CTRL+E 或者ALT+SHIFT+C 最近更改的代码 CTRL+SHIFT+SPACE 自动补全代码 CTRL+空格& 代码提示 CTRL+ALT+SPACE& 类 名或接口名提示 CTRL+P&& 方法参数提示 CTRL+J&& 自动代码 CTRL+ALT+T& 把选中的代码放在 TRY{} IF{} ELSE{} 里
复制快捷方式F5&& 拷贝文件快捷方式CTRL+D&& 复制行 CTRL+X&& 剪 切,删除行 CTRL+SHIFT+V& 可以复制多个文本
高亮CTRL+F&& 选中的文字,高亮显示 上下跳到下一个或者上一个F2 或SHIFT+F2& 高亮错误或警告快速定位 CTRL+SHIFT+F7& 高亮显示多个关键字.
其他快捷方式CIRL+U&& 大小写切换CTRL+Z&& 倒退 CTRL+SHIFT+Z& 向 前 CTRL+ALT+F12& 资源管理器打开文件夹 ALT+F1&& 查找文件所在目录位置 SHIFT+ALT+INSERT 竖 编辑模式 CTRL+/&& 注释//&& CTRL+SHIFT+/& 注释/*...*/ CTRL+W&& 选中代码,连续按会 有其他效果 CTRL+B&& 快速打开光标处的类或方法 ALT+ ←/→& 切换代码视图 CTRL+ALT ←/→& 返回上次编辑的位置 ALT+ ↑/↓& 在方法间快速移动定位 SHIFT+F6& 重构-重命名 CTRL+H&& 显 示类结构图 CTRL+Q&& 显示注释文档 ALT+1&& 快速打开或隐藏工程面板 CTRL+SHIFT+UP/DOWN 代码 向上/下移动。 CTRL+UP/DOWN& 光标跳转到第一行或最后一行下 ESC&& 光标返回编辑框 SHIFT+ESC& 光 标返回编辑框,关闭无用的窗口 F1&& 帮助 千万别按,很卡! CTRL+F4&& 非常重要 下班都用重要的设置 不编译某个MODULES的方法,但在视图上还是有显示SETTINGS -& COMPILER -& EXCLUDES -& 不编译某个MODULES,并且不显示在视图上MODULES SETTINGS -& (选择你的MODULE) -& SOURCES -& EXCLUDED -& 整个工程文件夹
IDEA编码设置3步曲FILE -& SETTINGS -& FILE ENCODINGS -& IDE ENCODINGFILE -& SETTINGS -& FILE ENCODINGS -& DEFAULT ENCODING FOR PROPERTIES FILES FILE -& SETTINGS -& COMPILER -& JAVA COMPILER -& ADDITIONAL COMMAND LINE PARAMETERS加上参数 -ENCODING UTF-8 编译GROOVY文件的时候如果不加,STRING S = &中文&; 这样的GROOVY文件编译不过去. 编译中添加其他类型文件比如 *.TXT *.INIFILE -& SETTINGS -& RESOURCE PATTERNS 改变编辑文本字体大小FILE -& SETTINGS -& EDITOR COLORS & FONTS -& FONT -& SIZE 修改智能提示快捷键&FILE -& SETTINGS -& KEYMAP -& MAIN MENU -& CODE -& COMPLETE CODE -& BASIC
显示文件过滤FILE -& SETTINGS -& FILE TYPES -& IGNORE FILES...
下边是我过滤的类型,区分大小写的CVS;SCCS;RCS;.DS_S...*.*..*._..IJI.*;vssver.vssver2..*;*.*.*.*.ids
1. ctrl + shift + n: 打开工程中的文件 2. ctrl + j: 输出模板 3. ctrl + b: 跳到变量申明处 4. ctrl + alt + T: 围绕包裹代码(包括zencoding的Wrap with Abbreviation), ctrl + shift + del: 删除包裹 5. ctrl + []: 匹配 {}[] 6. ctrl + F12: 可以显示当前文件的结构,快速跳转到目标函数 7. ctrl + x: 剪切行 8. alt + left/right:标签切换 9. ctrl + r: 替换 ctrl + shift + r: 全局替换 10. ctrl + shift + up: 行移动 11. shift + alt + up: 块移动 12. ctrl + d: 行复制 13. ctrl + shift + ]/[: 选中块代码 14. ctrl + / : 单行注释 15. ctrl + shift + / : 块注释 16. ctrl + shift + i : 显示当前class,function的详细信息 17. ctrl + p: 显示默认参数 18. ctrl + shift + v: 可以复制多个文本 19. shift + enter: 智能跳到下一行 20. ctrl + k: svn 提交 21. ctrl + shift + u: 大小写 22. ctrl + ~ : 切换主题 23. ctrl + F11: 添加标签 ctrl + shift + 大键盘数字键 24. ctrl + alt + F12: file path 25. ctrl + alt + a: search keymapIntelliJ IDEA 快捷键1. Ctrl + Space&&&& 完成类、方法、变量名称的自动输入这个快捷键是最经常使用的快捷键了,它可以完成类、方法、变量名称的自动录入,很方便,现在我写程序基本上都不会完整的输入变量名称了,因为有了工具帮你输入,为什么还要自己敲键盘呢?2. Ctrl + N(Ctrl + Shift + N)&&&& 跳转到指定的java文件(其它文件) 这个功能很方便,至少我不用每回都在一长串的文件列表里找寻我想要编辑的类文件和jsp文件了3. Ctrl + B&&&& 跳转到定义处4. Ctrl + Alt + Right/Left&&&& 在编辑过的代码位置之间跳转(前进/后退)5. Ctrl + Alt + T&&&&&&& 用*来围绕选中的代码行( * 包括if、while、try catch等)这个功能也很方便,把以前要做的:①先写if-else,②然后调整代码的缩进格式,还要注意括号是否匹配了,现在用这个功能来做,省事多了6. Ctrl + Alt + B&&& 跳转到方法实现处7. Ctrl + W&&& 按一个word来进行选择操作 在IDEA里的这个快捷键功能是先选择光标所在字符处的单词,然后是选择源代码的扩展区域。举例来说,对下边这个语句 java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(&yyyy-MM-dd HH:mm&); 当光标的位置在双引号内的字符串中时,会先选中这个字符串,然后是等号右边的表达式,再是整个句子。我一般都是在对代码进行重新修改的时候使用它来选择出那些长长的复合表达式,很方便:)8. Shift + F1&&& 在浏览器中显示指定的java docs这个也应该是几乎所有的java ide都提供的功能,就不多说了。9. Ctrl + Q&&&&&& 在editor window中显示java docs这个功能很方便--因为有时仅仅是忘记了自己编写的方法中的某个参数的含义,此时又不想再起一个浏览器来查看javadoc,此时这个功能的好处就体现出来了10. Ctrl + /&&&&&&& 注释/反注释指定的语句它可以注释和反注释你所选择的语句(使用单行注释符号&//&),也可以用Ctrl + Shift + / 来进行多行语句的注释(即使用多行注释符号&/* ... */&) 11. F2/Shift + F2&&&&&&&&&&&&& 跳转到下/上一个错误语句处IDEA提供了一个在错误语句之间方便的跳转的功能,你使用这个快捷键可以快捷在出错的语句之间进行跳转。12. Shift + F6&&&&&&&&&&&&&&&& 提供对方法、变量的重命名 对IDEA提供的Refector功能我用得比较少,相比之下这个功能是我用得最多的了。对于这个功能没什么可说的了,确实很方便,赶快试一试吧。13. Ctrl + Alt + L&&&&&& 根据模板格式化选择的代码 根据模板中设定的格式来format你的java代码,不过可惜的是只对java文件有效:(14. Ctrl + Alt + I&&&&&& 将选中的代码进行自动缩进编排这个功能在编辑jsp文件的时候也可以工作,提供了一个对上边格式化代码功能的补充。15. Ctrl + Alt + O&&&&&& 优化import自动去除无用的import语句,蛮不错的一个功能。 16. Ctrl + ]/[&&&&&&&&& 跳转到代码块结束/开始处 Ctrl+G(跳转到指定行)、Ctrl+F4(关闭当前编辑页面)、Ctrl+F(搜索)等等 Ctrl+Space&&&&&&&&& // Complete Code, 与输入法冲突, 改为Alt+S Ctrl+D&&&&&&&&&&&& // 行复制, 或选定字符串复制 Ctrl + W&&& 按一个word来进行选择操作 Ctrl + N(Ctrl + Shift + N)&&&& //跳转到指定的java文件(其它文件) Ctrl + B&&&& 跳转到定义处 Ctrl + Alt + B&&& 跳转到方法实现处 Ctrl+J&&&&&&&&&&&& // 插入代码模板 Alt+Insert&&&&&&&&& // Generate, 生成Constructor, setter, getter Ctrl+O&&&&&&&&&&&& // 覆盖方法 Ctrl+I&&&&&&&&&&&& // 实现方法 Ctrl+Alt+T&&&&&&&&& // Surround With Ctrl+/&&&&&&&&&&&& // 行注释 Ctrl + Shift + / 来进行多行语句的注释(即使用多行注释符号&/* ... */&) Ctrl + Alt + L&&&&&&&&& // 格式化代码 Ctrl + Alt + O&&&&&& 优化import Ctrl + Alt + T&&&&&&& 用*来围绕选中的代码行( * 包括if、while、 try catch等) Alt+F7&&&&&&&&&&&& // 查找使用情况 Shift+F6&&&&&&&&&&&&& // 重命名 F6&&&&&&&&&&&&&&&&&&& // 移动 Ctrl+Shift+F7&&&&&& // 显示字符串使用次数 Alt+Delete&&&&&&&&& // 安全删除 Ctrl + ]/[&&&&&&&&& 跳转到代码块结束/开始处&!--++ plugin_code qcomic begin--& &!--++ plugin_code qcomic end--&
无相关信息

我要回帖

更多关于 intellij idea 14 的文章

 

随机推荐