加餐1:工欲善其事必先利其器

解锁大厂思维:剖析《阿里巴巴Java开发手册》

原价¥68.00

俗话说:“工欲善其事,必先利其器”。

为了助力大家的学习和进阶,本小节介绍几个对Java学习非常有帮助的IDEA插件,代码反编译和反汇编工具,以及非常不错的网站等。

首先不必多说,IDEA是目前Java工程师最主流的开发工具,IDEA的强大之处不仅在于自身,还在于提供了丰富的插件(这点和谷歌浏览器非常类似)。

本部分介绍几款强大实用的IDEA插件,助力大家开发。

以下插件大都可以通过IDEA自带的插件管理中心安装,如果搜不到可以去IDEA插件官网下载本地导入。

具体安装界面不同版本IDEA略有差异,请自行研究。

如果连插件安装都不愿意学、学不会的话,很难成为一名合格的Java开发工程师。

安装该插件后,代码超过80行、手动创建线程池等,这些和《手册》中的规约不符时,IDEA中会给出警告提示。

建议大家一定一定一定要安装该插件,它会帮助你检查出很多隐患,督促你写更规范的代码。

大家可以直接在IDEA插件管理中安装(安装步骤略)。

使用方法:

那么有自带的强大的反汇编工具javap还有必要用这个插件吗?

这个插件的强大之处在于:

该插件对我们学习虚拟机指令有极大的帮助。

可以点击下图所示“AddCodotatoyouIDEA”了解安装步骤。

该插件的强大之处在于:

如上图所示,我们想了解Stream类中flatMap函数的用法,可以使用该插件查看知名开源项目的用法。

该插件就可以帮你解决这个问题。

安装完该插件以后,调用一个函数,使用Alt+Enter组合键,调出“Autofillcallparameters”自动使用该函数定义的参数名填充。

我们定义好从A类转换到B类的函数转换函数后,使用这两个插件可以自动调用Getter和Setter函数实行自动转换。

实际开发中还有一个非常常见的场景:我们创建一个对象后,想依次调用Setter函数对属性赋值,如果属性较多很容易遗漏或者重复。

可以使用这GenerateAllSetter提供的功能,自动调用所有Setter函数(可填充默认值),然后自己再跟进实际需求设置属性值。

对于很多人而言,写代码时略显枯燥的,如果能够安装自己喜欢的主题将为开发工作带来些许乐趣。

IDEA支持各种主题插件,其中最出名的当属MaterialThemeUI。

安装后,可以从该插件内置的各种风格个选择自己最喜欢的一种。

由于很多人没有养成好的编码风格,没有随手format代码的习惯,甚至有些同事会写代码超过几百行,阅读起来将非常痛苦。

痛苦的原因之一就是找到上下文,由于括号太多,不确定当前代码行是否属于某个代码块,此时这个插件就会帮上大忙。

大家可以观看其github首页的动图体会和学习其强大功能。

现在Java项目通常会使用maven或者gradle构建,对于maven项目来说,jar包冲突非常常见。

那么如何更容易地查看和解决jar包冲突呢?

大家可以安装该插件,安装后IDEA中打开pom.xml文件时,就会多出一个“DependencyAnalyzer”选项卡。

如上图所示,该插件支持值插件冲突的jar包,可以选择冲突的jar包将其exclude掉。

当然还有很多类似的静态代码检查插件,大家可以自行了解安装。

这对研究源码,梳理工作中的业务代码有极大的帮助,堪称神器。

安装完成后,在某个类的某个函数中,右键-->SequenceDiagaram即可调出。

如下图是Netty的源码,可以通过该插件绘制出当前函数的调用链路。

双击顶部的类名可以跳转到对应类的源码中,双击调用的函数名可以直接调入某个函数的源码,总之非常强大。

打开方式Analyze>OpenStacktracetoUMLplugin+GenerateUMLdiagramsfromstacktracefromdebug

Stream非常好用,可以灵活对数据进行操作,但是对很多刚接触的人来说,不好理解。

IDEA的插件浩如烟海,好的IDEA插件欢迎留言交流。

Java学习进阶之路离不开Java反编译和反汇编。

实际开发中需要用到反汇编的典型场景有:

对于大多数普通Java工程师来说,使用反编译的场景多是为了学习研究。

有很多在线反编译的网站,其中比较好用的主要是以下两个:

使用简单,直接将jar包和class文件拖到页面即可。

功能很强大,支持多种反编译方式,但是浏览效果不如上面网站好。

很多人担心在线反编译可能会引起代码泄露等,所以倾向于使用本地的反编译工具。

这里推荐两款软件:JD-GUI和Luyten。

该软件的用法和JD-GUI类似。

图形界面反编译虽然更直观,但是如果我们想反编译Linux服务器上的类文件可咋办呢?

举一个真实发生过的典型的场景:

有一次代码发布上线,但是从功能表现看线上仍然是“旧代码”,但是从发布的git提交版本来看是最新版。

此时就可以使用jad反编译该类,来核查该问题。

这里简单介绍Java反编译和反汇编的区别。

这里说的反编译是指:将class文件反编译成Java源码的过程。

这里说的反汇编是指:将class文件反解析为更可读的虚拟机指令的过程。

反汇编最权威和强大的当属JDK自带的javap工具,具体用法直接输入帮助指令javap-help即可查看:

用法:javap其中,可能的选项包括:-help--help-输出此用法消息-version版本信息-v-verbose输出附加信息-l输出行号和本地变量表-public仅显示公共类和成员-protected显示受保护的/公共类和成员-package显示程序包/受保护的/公共类和成员(默认)-p-private显示所有类和成员-c对代码进行反汇编-s输出内部类型签名-sysinfo显示正在处理的类的系统信息(路径,大小,日期,MD5散列)-constants显示最终常量-classpath指定查找用户类文件的位置-cp指定查找用户类文件的位置-bootclasspath覆盖引导类文件的位置大家一定要自己多动手实践,才能更好地掌握它。

在IDEA插件中心中还可以搜到该工具的IDEA插件。

当然,还有很多其他好用的Java反编译和反汇编软件,希望大家平时多尝试,多练习。

希望大家能够熟练掌握其中一两种,能够快速反编译和反汇编,帮助自己学习知识和解决问题。

Alfred可以说是Mac系统的效率神器。该软件支持文件搜索、粘贴板管理、快捷短语提示、各种工作流等功能。

有些朋友可能会说,我们系统是windows的肿么办?

软件效果图(图片来自官网)

该软件不仅是一款截图工具,还支持将截图贴到屏幕上,使用非常简单,F1截图,然后F3贴图,截图就会桌面置顶显示。

该软件目前只支持mac系统,可以实现窗口的快速切换。

该软件目前只支持mac系统。

采用iOS多任务卡片切换界面,可以可视化粘贴板历史,支持剪切搜索,热键快速调用,可以快速选取想要的粘贴版历史内容并粘贴到当前应用中。

作为一个合格的程序员,怎能没几个趁手的画图工具呢?

每个人的喜好各有不同,下面推荐几个本人和身边人开发中常用的画图工具。

该软件还提供了IDEA插件,在IDEA中创建plantUML的图形支持实时预览。

通过PlantUML官网给出的示例,大家可以快速上手。

可以使用processon来作图,优势是在线存储。windows系统用户可以使用visio,功能强大,画的图也很美观。

很多人会有些奇怪,为啥推荐思维导图呢?

其实对于Java工程师来说,思维导图是梳理知识,梳理需求的重要工具。

然而画思维导图并不是照着目录列一遍,而是带上自己的思考,具体再画图篇会讲到。

思维导图软件推荐使用:xmind、mindjet、ithoughts等。

常规用法是先启动软件,然后选择本地的Java进程,或者添加远程机器的Ip和端口号监控远程Java进程状况。

该插件支持字符串的编解码、JSON串的格式化、代码美化、二维码生成器、页面滚动截屏、图片转Base64、简易Postman、Ajax调试等功能。

虽然名叫“前端插件助手”,其实该插件对我们后端开发帮助也极大。

可以使用该插件,生成只包含页面主要内容的PDF。

该插件可以修改请求和响应头,在某种调试场合非常有用。

很多同学想看英文技术网站,但是英语不是特别好,可以借助该插件聚合多种翻译软件,翻译各种词汇或句子。

最大的好处是可以对比多种翻译插件的结果,得到最准确的理解。

很多人想学习某个技术,但是有自己电脑配置限制或者嫌麻烦等各种原因,可能不愿意安装某些环境。

那么有没有可以在线练习的网站呢?答案是:有。

接下来推荐几个非常强大的在线练习和学习网站。

该网站提供了在算法、数据库和Shell脚本的练习题。

除了咱们的慕课网外,推荐几个非常好的英文学习网站。

我们Java开发需要用到知名英文书籍几乎都可以在上面找到电子版。

强烈建议大家购买纸质版经典的Java技术图书,反复学习。

本文重点介绍了Java学习和工作中常用的软件、插件、网站等。熟练地使用这些工具,将有助于提高我的开发效率和编程体验。

希望通过本小节的介绍能够助力大家的学习和进阶。

如果你觉得本专栏对你有帮助,欢迎推荐给更多朋友,一起交流学习。

THE END
1.首页Freedgo是一个多种类型图表的在线绘制软件,让您轻松、快速、协作地创建各种专业图表。可以创建思维导图,阿里云架构图,腾讯云架构图,Oracle云架构图,AWS系统部署图,软件架构图,UML,BPMN,ER模型,流程图,UX设计图,软件流程图。立即开始免费试用!https://www.freedgo.com/
2.省点时间Visio是负责绘制流程图和示意图的软件,便于IT和商务人员就复杂信息、系统和流程进行可视化处理、分析和交流,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。帮助您创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。 https://win.shuiche.cc/info/1166
3.在线visio画图猜你喜欢:在线visio画图是用于让在python平台在线分析和和在线性能分析过程中的性能数据,模拟真实的正确性能够快速识别出问题的建议。同时,还需要预先将和目标模型配合移植到合适的机器学习模型,减少了模型的精度。ModelArts提供了自动学习的调试入口,方便用户学习项目。完成模型训练的自动训练和自动训练,每轮训练作业提供了https://www.huaweicloud.com/zhishi/edits-17555261.html
4.10个简单的在线画图软件网站,支持AI画图!?全面而深入的功能的工具:除了基本的画图工具外,这款在线画图软件网站还有大量的模板库和形状库可供选择。 ?云端协作:Microsoft Visio Online是云端在线画图软件网站,用户可以随时随地访问他们的项目。这款产品同样支持实时协作,这意味着团队成员可以在同一时间编辑同一份图表。同时,用户还可以通过一键共享将作品与他人https://pixso.cn/designskills/10-online-drawing-software-website/
5.visio画图时怎样可以使文本出现在线条上面,而不是线条上visio画图时怎样可以使文本出现在线条上面,而不是线条上?还有画数据流程图的时候外部实体用什么表示?https://bbs.csdn.net/topics/190018795
6.visio画图工具下载详情介绍visio画图工具下载在线观看《visio画图工具下载》简介《visio画图工具下载》,余霄看了一眼,觉得可能这人是不同派系的人,想趁机让翼业下位。“裴佑晟,我不想回去。”我一字一句碾着从舌尖说出来,头一次连名带字的叫他。而木炎此时却感觉自己整个人完全处于一个静止的空间,这里没有时间,没有四季,没有一切纷乱。慢慢地木炎也分不清自己是http://www.hrhr.com/vod-detail-64518061.html
7.9款国内外垂直领域的在线作图工具[可代替visio]今天介绍的几款也能提升办公效率,不过它们都属于垂直领域的作图工具,这些团队都希望做一个能够替代微软Visio的在线产品,毕竟Visio 相对来说比较传统和专业,刚接触的同学很难上手,而且Visio 是付费软件,下载安装以及“授权”都是问题,下面这些在线工具可以帮我们省去下载、安装、授权等各种烦恼,只需要一个浏览器就可以https://www.jianshu.com/p/30201cef8cca
8.visio在线编辑腾讯云开发者社区Visio是一款由微软公司推出的流程图和矢量图制作软件。它属于Microsoft Office套件的一部分,通常被用于创建各种类型的专业图表,包括流程图、组织结构图、网络图、地图以及其他各种形式的图表。Visio具有非常强大的功能,但对于那些不熟悉该软件的人来说,可能需要一些时间https://cloud.tencent.com/developer/information/visio%E5%9C%A8%E7%BA%BF%E7%BC%96%E8%BE%91
9.在线做图在线白板在线画图VisionOnVisionOn_新一代轻量 在线图形_可视化_工具_专业为您提供_在线做图_在线白板_在线画图_Visio_画图https://visionon.cn/
10.吊打付费!开源免费的跨平台流程图绘图制图工具(替代Visio市面上较优秀的绘图软件有:ProcessOn、Visio、亿图图示等基本都要收费的,而「Draw.io」则是一款完全免费且开源的跨平台制图画图工具!它不仅有在线网页版,也支持 Win、Mac、Linux 客户端,同时它还无需注册、不限文件数、可导出导入,以及大量丰富专业的图表模版…… 「相关软件推荐:Eagle | iSlide | ProcessOn |https://www.iplaysoft.com/drawio.html
11.亿图在线作图多场景综合办公作图软件,Visio国产替代,海量模板素材 开始办公作图 Pixso协同设计 原型、设计、交付一体化的产设研团队实时协作平台,Figma国产替代 开始设计协同 BoardMix协作白板 实时协作的多场景在线白板,让团队沟通协作挥洒自如 开始协作白板 办公绘图+AI,提升你的绘图效率 https://www.edrawmax.cn/
12.ProcessOn免费在线作图工具基本使用教程图文详细介绍图形图像ProcessOn是一款HTML5开发的在线作图工具,功能基本类似于Visio,但它操作简单,方便易用是我第一次使用后就喜欢的原因。 ProcessOn支持Flowchart、EVC、EPC、BPMN、UML等多种类型图,非常方便制作,然后把制作好的图形进行导出,这样再把制作好的各类图形应用到其他软件中,操作非常简单。 https://www.jb51.net/softjc/109692.html
13.visio画图工具下载详情介绍visio画图工具下载在线观看《visio画图工具下载》简介《visio画图工具下载》,全场两粒进球都和鲁云龙有关,赛后鲁云龙也被评为全场最佳球员。明心见性……或许他就适合这种孤独,一股说不清的意境环绕在他周围,似乎慢慢的壮大。“命理和长歌配合。”诛杀开口,“我……双修。”这一说问东风才一下明白了。这是指的打两套配置了,命理配合长歌http://www.kmkaiyuan.com/vod-detail-49921525135.html
14.在线绘图工具流程图绘制工具,非常好用,素材丰富draw.io is free online diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagramshttp://app.diagrams.net/
15.用不了Visio,6个超赞的在线流程图工具赶紧收藏!免费版本不支持数据链接和 Visio 导入/导出功能,如果你不需要数据链接功能,Lucidchart 可以说是一个生成漂亮的图表的非常好的工具。 2、Cacoo 网址:https://cacoo.com Cacoo 也是一个在线的网络画图工具,运用它可以制作多种图表,例如 Site maps、Wireframes、Flow Fharts、Mind、UML 等等,运用它可以绘制多种多样的图https://pro.biomart.cn/lab-web/news/article/316nu48go5323.html
16.在线画图转载的技术博客在线visio软件,在线流程图软件,在线绘图、在线画图 1. https://www.bullmind.com/ 推荐bullmind的在线visio软件,一种低成本的Visio替代品。bullmind是基于 网络的绘图工具,具有出色图表功能。您可以使用bullmind在线visio软件快速轻 松地创建精美专业的图表。以下是我更喜欢的bullmind在线visio软件的理由: https://blog.51cto.com/u_2398323/2545281
17.几款在线流程图思维导图产品使用体验记录可支持在线编辑、协作,Lucidchart 为流程设计,且支持 Visio vdx 格式的导出导入查看。 流程图的模板案例好像没有(可能是我没找到),但是 Lucidpress 的模板还是很多,有些非常有设计感,可做参考灵感来源。 地址:https://www.lucidpress.com 733 x 3621920 x 947 https://ld246.com/article/1554985113657
18.流程图制作工具和绘图软件MicrosoftVisio通过Visio 的在线内容生态系统,从 250,000 多种形状中进行选择。 访问Visio Web 版中当前不提供的其他模板。 在启用触控功能的设备上,使用手指或笔以更自然的工作方式绘制图表并对图表添加注释。 从Excel、Exchange 或 Microsoft Entra ID 等数据源自动生成组织图表。 https://www.microsoft.com/zh-cn/microsoft-365/visio/flowchart-software
19.在线代码格式化OSCHINA.NET在线工具,ostools为开发设计人员提供在线工具,提供jsbin在线 CSS、JS 调试,在线 Java API文档,在线 PHP API文档,在线 Node.js API文档,Less CSS编译器,MarkDown编译器等其他在线工具https://tool.oschina.net/codeformat/html
20.在线制作网络拓扑图的方法分享以往我们通常会使用visio绘制专业的网络拓扑图,但在电脑没有安装软件或嫌麻烦的时候就希望能用在线制作的方式绘制网络拓扑图.下面迅哥就分享一个在线制作网络拓扑图的方法,教大家绘制网络拓扑图.https://www.liuchengtu.com/tutorial/zaixiantuopu.html/