浏览器java插件-淘宝浏览器有比价插件吗
作者|
来源 | MOOC专栏《阿里巴巴Java开发手册》
1 简介
俗话说:工欲善其事,必先利其器。
为了帮助大家学习和进步,本节介绍几款IDEA插件,代码反编译反汇编工具,以及非常好的网站,对Java学习很有帮助。
2.IDEA插件
首先不用多说,IDEA是目前Java工程师最主流的开发工具。 IDEA 的强大不仅在于它本身,还在于它提供了丰富的插件(这一点与 Google Chrome 非常相似)。
本节介绍几款强大实用的IDEA插件,助您开发。
以下大部分插件都可以通过IDEA自带的插件管理中心进行安装。 如果找不到,可以到IDEA插件官网下载并本地导入。
不同版本的IDEA具体安装界面略有不同,请自行研究。
如果不愿意或不能学习插件的安装,是很难成为一名合格的Java开发工程师的。
2.1 阿里巴巴Java编码指南
首先要推荐的是与《手册》配套的阿里巴巴Java代码规范插件。
安装插件后,如果代码超过80行,手动创建线程池等,这些都不符合《手册》中的规范,IDEA会给出警告提示。
建议大家一定要安装这个插件,它会帮你排查很多隐患,督促你写出更规范的代码。
2.2 jclasslib字节码查看器
下面隆重介绍一款可视化字节码查看插件:jclasslib。
直接在IDEA插件管理中安装即可(安装步骤省略)。
指示:
在IDEA中打开你想学习的课程;
编译这个类或者直接编译整个工程(如果你要研究的类在jar包里,这一步可以跳过);
打开“view”菜单,选择“Show Bytecode With jclasslib”选项;
选择以上菜单项后,IDEA中会弹出jclasslib工具窗口。
然后自带一个强大的反汇编工具javap,有必要用这个插件吗?
这个插件的强大之处在于:
无需敲命令,简单直接,方便对照右侧源码学习;
字节码命令支持超链接,点击虚拟机指令即可跳转到jvms相关章节,超级方便。
这个插件对我们学习虚拟机指令很有帮助。
2.3 科多塔
还有一个不得不说的就是专栏里提到的辅助开发神器:Codota。
您可以点击下图“添加Codota到您的IDEA”了解安装步骤。
这个插件的强大之处在于:
支持智能代码自动提示,可以增强IDEA的代码提示功能;
支持JDK和知名第三方库中函数的用法搜索,可以看到该函数在其他知名开源项目中的用法。
当我们第一次使用某个类,对某个功能不熟悉时,可以通过该插件搜索相关用法,快速模仿学习。
如上图所示,我们想了解一下Stream类中flatMap函数的用法。 我们可以通过这个插件查看知名开源项目的使用情况。
该类型最常用的功能也在插件窗口的顶部给出。 您可以点击查看相关使用案例。 每个案例右侧的“查看源码”可以跳转到该片段对应的开源项目的源码。
2.4 继续选择Java调用参数
在开发过程中,我们通常会调用已经编写好的其他函数。 调用后,我们需要填写参数,但大多数情况下,传入的变量名与函数的参数名相同。 当参数较多时,手动填写参数非常困难。 浪费时间。
这个插件可以帮你解决这个问题。
安装插件后,调用一个函数,使用Alt+Enter组合键调出“自动填充调用参数”,自动填充函数定义的参数名称。
2.5 生成O2O,生成All Setter
我们定义好A类到B类的转换函数后,使用这两个插件可以自动调用Getter和Setter函数进行自动转换。
在实际开发中还有一个很常见的场景:我们创建一个对象后,想要依次调用Setter函数给属性赋值 。 如果有很多属性,很容易遗漏或重复。
可以使用GenerateAllSetter提供的函数自动调用所有的Setter函数(可以填默认值),然后根据实际需要自行设置属性值。
2.6 Material 主题界面
对于很多人来说,写代码有点枯燥,如果能安装自己喜欢的主题,会给开发工作带来一点乐趣。
IDEA 支持各种主题插件,其中最著名的是 Material Theme UI。
安装后,您可以从插件内置的各种样式中选择自己喜欢的。
2.7 彩虹括号
由于很多人没有养成良好的编码风格和随意格式化代码的习惯,有的同事甚至写出几百行以上的代码,读起来会很痛苦。
痛点之一是找上下文,由于括号太多,不确定当前代码行是否属于某个块,这个插件帮了大忙。
插件github地址:.
大家可以在其github主页观看动画,体验和学习其强大的功能。
2.8 Maven 助手
现在的Java项目一般都是使用maven或者gradle构建的。 对于maven项目来说,jar包冲突是很常见的。
那么如何更方便的查看和解决jar包冲突呢?
安装插件即可,安装完成后在IDEA中打开pom.xml文件,会出现“Dependency Analyzer”选项卡。
如上图所示,插件支持与值插件冲突的jar包,可以选择冲突的jar包排除。
2.9 查找错误
程序员总是希望尽可能避免编写错误。 FindBugs作为一个静态代码检查插件,可以检查代码中的隐患并给出原因。
当然类似的静态代码检查插件还有很多,大家可以自行了解安装。
2.10 时序图
SequenceDiagram可以根据代码调用链接自动生成时序图,超级赞,超级推荐!
这对工作中研究源码和整理业务代码有很大的帮助,堪称神器。
安装完成后,在某个类的函数中,右键-->Sequence Diagaram调出。
下图是Netty的源码,通过这个插件可以画出当前函数的调用链接。
双击最上方的类名可以跳转到对应类的源码,双击调用的函数名可以直接调用某个函数的源码浏览器java插件,非常强大。
2.11 堆栈跟踪到 UML
Stack trace to UML 支持基于JVM异常栈绘制UML时序图和通信图。
通过 Analyze 打开 > Open Stack trace to UML plugin+ Generate UML diagrams from stacktrace from debug
2.12 Java 流调试器
Stream非常好用,可以灵活的对数据进行操作,但是很多新手很难理解。
那么IDEA的神器Java Stream Debugger就可以帮到你了。 可以将Stream的操作步骤可视化,对我们的学习很有帮助。
2.13 其他
IDEA插件就这么多,好的IDEA插件欢迎留言交流。
另外,大家可以通过IDEA插件官网进行搜索,这里有大量的插件供你选择。
3.反编译反汇编软件
Java学习进阶之路离不开Java反编译反汇编。
实际开发中需要反汇编的典型场景有:
对于大多数普通Java工程师来说,反编译的使用多半是为了学习和研究。
3.1 在线Java反编译工具
网上反编译网站很多,其中比较有用的有以下两个:
使用简单,只需将jar包和class文件拖到页面即可。
功能很强大,支持多种反编译方式,但是浏览效果不如上面的网站。
3.2 离线Java反编译工具 3.2.1 反编译软件
很多人担心在线反编译会造成代码泄露等问题,所以倾向于使用本地反编译工具。
这里推荐两款软件:JD-GUI和Luyten。
JD-GUI是一款可以反编译Java类文件源代码的工具,界面简洁,功能强大。
另一个非常好用的反编译软件是Luyten,它是反编译工具Procyon的可视化展示工具。
您可以在其 github 上下载并安装它:。
本软件的使用方法与JD-GUI类似。
虽然图形界面反编译更直观,但是如果我们要反编译Linux服务器上的class文件怎么办?
我们可以使用Jad、CFR、Procyon、ernflower、JD等反编译工具。
另外,阿里巴巴著名的开源Java诊断工具arthas也支持jad命令,可以将JVM中实际运行的class文件的字节码反编译成Java代码,方便理解业务和排查问题。
这是实际发生的典型场景:
代码一旦发布上线,但从功能性能上看,仍然是“老代码”上线,但从发布的git提交版本来看,却是最新版本。
此时可以使用jad反编译类来排查问题。
3.2.2 拆卸
这里简单介绍一下Java反编译和反汇编的区别。
这里所说的反编译是指将class文件反编译为Java源代码的过程。
这里所说的反汇编,是指将类文件解析成更具可读性的虚拟机指令的过程。
最权威最强大的反汇编工具是JDK自带的javap工具。 可以直接输入帮助命令javap -help查看具体用法:
用法: javap
其中, 可能的选项包括:
-help --help -? 输出此用法消息
-version 版本信息
-v -verbose 输出附加信息
-l 输出行号和本地变量表
-public 仅显示公共类和成员
-protected 显示受保护的/公共类和成员
-package 显示程序包/受保护的/公共类
和成员 (默认)
-p -private 显示所有类和成员
-c 对代码进行反汇编
-s 输出内部类型签名
-sysinfo 显示正在处理的类的
系统信息 (路径, 大小, 日期, MD5 散列)
-constants 显示最终常量
-classpath 指定查找用户类文件的位置
-cp 指定查找用户类文件的位置
-bootclasspath 覆盖引导类文件的位置
大家一定要自己多练习,才能更好的掌握。
另一个易于使用的反汇编工具是 jclasslib。
这个工具的IDEA插件也可以在IDEA插件中心找到。
当然还有很多其他好用的Java反编译反汇编软件。 我希望你会尝试和练习更多。
希望大家能熟练掌握其中的一两个,并能快速反编译反汇编,帮助自己学习知识,解决问题。
4. 效率软件 4.1 效率 4.1.1 Alfred
Alfred可以说是Mac系统的效率神器。 该软件支持文件搜索、粘贴板管理、快捷短语提示和各种工作流等功能。
具体的功能介绍可以看这篇文章。
4.1.2 沃克斯
可能有朋友会说,我们的系统被windows肿了怎么办?
这里介绍一个windows上的alfred:wox,支持软件、文件、浏览器书签等搜索,支持通过快捷键快速搜索网页,还支持丰富的插件,可以查询英文单词,查询快递, ETC。
软件效果图(图片来自官网)
4.1.3 截图
另外推荐一个非常好用的截图和贴图软件Snipaste。
这个软件不仅是一个截图工具,还支持在屏幕上粘贴截图。 非常好用,F1截图,然后F3粘贴图片,截图会显示在桌面最上方。
软件效果图(图片来自官网)
我们在写技术文章或者开发的时候,可能需要参考多个地方。 由于开发桌面和参考桌面通常不在同一个桌面上,如果没有双屏,或者双屏还需要切换,会很浪费时间。 这时候,软件就非常有用了。 您可以对要引用的内容进行截图和贴图,然后在当前页面上随意排列组合,供您参考。
4.1.4 上下文
软件目前只支持mac系统,可以实现windows的快速切换。
软件效果图(图片来自官网)
4.1.5 粘贴
该软件目前只支持mac系统。
使用iOS多任务卡片切换界面,可视化粘贴板历史,支持剪切搜索,快速调用热键。 您可以快速选择粘贴版本中需要的历史内容,粘贴到当前应用中。
4.2 绘图神器
作为一个合格的程序员,怎么能没有几个得心应手的绘图工具呢?
每个人都有不同的喜好。 下面介绍几个自己和身边人开发中常用的绘图工具。
4.2.1 UML绘图工具visual-paradigm
推荐visual-paradigm的原因是绘图工具不仅支持软件本地绘图,还支持在线绘图,支持最新的语法,有丰富的参考例子。
植物UML
强烈建议您在绘制 UML 图时使用 PlantUML。 原因是其他绘图软件大多采用拖放方式,对于一些强迫症的人来说会浪费大量时间进行对齐等操作。
软件还提供了IDEA插件,支持实时预览在IDEA中创建的plantUML图形。
通过PlantUML官网给出的例子,可以快速上手。
其他 UML 绘图工具
可以用processon来做图,好处是在线存储。 Windows系统用户可以使用visio,功能强大,图片精美。
4.2.2 思维导图
很多人会有点奇怪,为什么要推荐思维导图?
其实对于Java工程师来说,思维导图是梳理知识和需求的重要工具。
不过画思维导图并不是按照目录罗列,而是要带上自己的思维,这在画图章节会讲到。
思维导图软件推荐:xmind、mindjet、ithoughts等。
4.3 辅助开发 4.3.1 PostMan
PostMan可以模拟前端请求,对请求进行分类保存,支持变量,支持将请求导出为curl等请求方式。 功能非常强大,大家可以根据官方文档自行探索使用。
4.3.2 可视化虚拟机
VisulVM 是 JDK 命令行工具的可视化集成,可用于开发和生产。
一般的用法是先启动软件,然后选择本地的Java进程,或者添加远程机器的IP和端口号来监控远程Java进程的状态。
IDEA中还有一个VisualVM插件,可以在本地应用启动时自动启动VisualVM。
4.3.3 前端插件助手
推荐一款方便大家开发的插件:前端插件助手。
插件支持字符串编解码、JSON字符串格式化、代码美化、二维码生成、页面滚动截屏、图片转Base64、简单Postman、Ajax调试等功能。
虽然叫“前端插件助手”,但其实这款插件对我们的后端开发也有很大的帮助。
4.3.4 打印友好和 PDF
我们平时看很多博客等,都想保存为PDF。 如果我们直接用浏览器打印,会发现很多广告等信息。
此插件可用于生成仅包含页面主要内容的 PDF。
您可以通过软件官网了解更多关于插件的信息。
4.3.5 模头
这个插件可以修改请求和响应头,这在一些调试情况下非常有用。
4.3.6 Ajax拦截器
该插件功能非常强大,可以修改页面Ajax请求返回的结果。
4.3.7 翻译插件 Salaja words
很多同学想看英文的技术网站,但是英文不是很好。 他们可以使用这个插件聚合各种翻译软件来翻译各种单词或句子。
最大的好处是可以对比各种翻译插件的结果,得到最准确的理解。
彩云翻译
彩云翻译提供中英双语翻译能力。 如果你觉得阅读一些英文的技术文章有困难,可以使用这个插件实现中英文双语理解。
5. 很棒的网站 5.1 在线练习网站
很多人想学习某项技术,但由于自身电脑配置限制或麻烦等各种原因,可能不愿意安装某些环境。
那么有没有可以在线练习的网站呢? 答案是:是的。
接下来推荐几个非常强大的在线练习和学习网站。
5.1.1 Git在线练习
推荐一个有趣的在线学习Git的网站:
5.1.2 Kafka集群体验
有一个提供kafka集群体验的网站:
5.1.3 力扣
在这里浏览器java插件,不得不提一下大名鼎鼎的leetcode。
该站点提供有关算法、数据库和 shell 脚本的练习题。
5.1.4 数据结构可视化
接下来推荐一个数据结构可视化的网站。 可以选择某种数据结构,动态添加数据,观察变化过程。
5.1.5 正则表达式
也有很多网站支持在线学习和验证正则表达式,比如 , , 。
5.1.6 在线练习SQL
推荐几个可以在线练习SQL的好网站:SQLZOO、SQLBolt、SQL Fiddle。
中文版:xuesql,廖雪峰SQL教程
5.2 实用网站 5.2.1 时间戳转换
时间戳转换工具:
5.2.2 JSON相关的JSON格式化
格式化JSON字符串的功能在开发中经常用到。 bejson提供了丰富的JSON相关功能,如JSON格式验证、压缩、转义、反转义等。
在 JSON 和 Java 实体之间转换
有很多强大的网站支持JSON和Java实体之间的转换,比如bejson、jsonschema2pojo、codebeautify、FreeCodeFormat、site24*7等。
5.2.3 很棒的英文Java学习网站
除了我们的MOOC.com,我推荐几个很好的英语学习网站。
最热门的baeldung,本站几乎所有文章都有匹配码。 我们可以直接通过这个网站的代码操作来学习一些知识点,一些框架等等。
其次是javacodegeeks,该站点将提供丰富的Java教程,还将提供一些英文PDF教程。
journaldev 和 jamesdbloom 非常详尽地解释了这项技术。
5.2.4 技术电子书百宝箱
Library Genesis自称是一个帮助全人类传播知识的程序,其网站提供多本英文书籍的下载。
Java开发中需要用到的几乎所有知名英文书籍,我们都能找到电子版。
强烈建议大家购买纸质版的Java经典技术书籍,反复研读。
5.2.5 GitHub
GitHub也可以称为百宝箱,通过它可以搜索到你想学习的技术的源代码和相关示例代码。
您可以在Java专题栏目了解最多star、最新动态、最佳Java项目等。
6.总结
本文重点介绍Java学习和工作中常用的软件、插件、网站等。 熟练使用这些工具将有助于提高我的开发效率和编程经验。
一定有很多有用的插件和软件。 由于篇幅有限,这里就不一一介绍了。 欢迎留言分享。
更多精彩内容传送门
代码输出规范:《阿里巴巴Java开发手册》详解
想了解更多专栏内容,请点击原文阅读~
●
●
●
●
尖端:
#点击“正在看”❤️
# 然后,留言踩地? 每周都有不定期的福利。