前言:

visualVM:

  运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配;某个对象占用了多大的内存,jvm调优必备工具。

checkstyle:

  CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。

  它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。

  CheckStyle检验的主要内容:

    1):Javadoc注释;   2):命名约定;   3):·标题      4): Import语句 ;  5):体积大小;    6):空白;   7):修饰符;   8):块;   9):代码问题;   10):类设计

  混合检查(包括一些有用的比如非必须的System.out和printstackTrace)

  从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供像PMD和Jalopy那么多的增强代码质量和修改代码的功能。

  但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。

PMD:

  PMD是扫描 Java 源码并查找以下潜在问题:

    1):从未用过的局部变量

     2):空捕捉块(catch block)  

     3):从未用过的参数

       4):空if声明

       5):重复的导入声明

       6):从未用过的私有方法

7):孤立的类

       8):短型或长型变量及方法名

   PMD 具有下列软件的插件:JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Eclipse, Gel, Emacs

  PMD 的含义:

    坦率地说,我们其实也不知道PMD的真正意义所在 (我们只是认为这三个字母拼在一起较为好听) 。但是,我们提出了计算行业的几种解释以供参考。

  PMD:

  Pretty Much Done (几乎无所不能)

  Project Mess Detector (项目故障探测器)

  Project Monitoring Directives (项目监视器)

  Protein Mutant Database (基因突变数据库)

  Project Meets Deadline (项目到期)

  Programming Mistake Detector (程序错误检测器)

  Pounds Mistakes Dead (彻底纠错)

  PMD Meaning Discovery (PMD含义探索)

  PMD运行机制:

  PMD 根据规则核对源码并产生一个报告。具体如下:

   有文件名和RuleSet传入PMD ;PMD将通过该文件的InputStream传递给由JavaCC-生成的解析器 ;PMD 从解析器取得指向抽象语法树(AST)的引用;RuleSet 中的每个规则都遍历AST 并检查错误

     报告内容包括RuleViolations以及符合XML 、HTML 或其它格式的代码/文件

安装步骤:

到这里我们默认已经完成了3个插件的安装。

checkstyle,PMD,都可以直接使用,但VsiualVM需要配合客户端来完成配置和使用。

下面先去官网下载VisualVM的客户端。VisualVM官网链接

配置连接过程如下:

在打开的页面内选择已经解压好的文件夹中的bin文件夹内的"VisualVM.exe"

visualVM:使用操作

1):在代码编辑区点击右键,如图选择

这时会触发VisualVM客户端,可以观察项目内的性能使用情况

checkstyle:使用操作

1):.安装完之后,我们打开checkstyles,点击绿色箭头

2):出现提示"No rules file has been configured",这是提醒我们没有为其指定配置文件,它不知道应该按照什么标准来评判代码的风格

3):解决办法:打开settings->Other Settings->Checkstyle ,选定默认的配置文件。

----------------------  后续补全  ----------------------

PMD:使用步骤

1):在代码编辑区点击右键,根据项目不同选择不同的检查规则集

2):在下方按照不同规则集显示出不同位置的错误,通过规则名就可以得知代码的问题类型

--------------------------------------------------------------------------------

以上内容若有不足之处:请多多请教

如要转载请注明小编本站地址:(https://www.cnblogs.com/mlq2017/)

IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件的更多相关文章

  1. JAVA 代码开发规范

    一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...

  2. IDEAL葵花宝典:java代码开发规范插件 p3c

    前言: P3C插件 是阿里巴巴p3c项目组进行研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,根据<阿里巴巴Java开发规范>转化而成的自动化插件,并且实现了部分自动编程. ...

  3. IDEAL葵花宝典:java代码开发规范插件 lombok 插件

    前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么 ...

  4. IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体

    前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...

  5. IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件

    前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有 ...

  6. IDEAL葵花宝典:java代码开发规范插件 GenerateAllSetter、ECtranslation、translation、插件

    前言:  GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ...

  7. IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA

     前言: 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug. 使用步骤: 1):打开 Settings ...

  8. IDEAL葵花宝典:java代码开发规范插件 (maven helper)解决maven 包冲突的问题

    小编说到: 在我们日常开发当中常常我们会遇到JAR包冲突.找来找去还找不到很是烦人.那么所谓的JAR包冲突是指的什么那?JAR包冲突就是-引入的同一个JAR包却有好几个版本. 例如: 项目中引用了两个 ...

  9. java代码开发完成后,代码走查规范

    代码走查注意事项: 1.不变的值,尽量写个常量类 2.尽量使用if{}else,不要一直if去判断 3.减少循环调用方法查询数据库 4.dao层尽量不要用逻辑,尽量在service里写业务逻辑 5.金 ...

随机推荐

  1. vue v-model使用说明

    1.概述 v-model 会忽略所有表单元素的 value.checked.selected 特性的初始值而总是将 Vue 实例的数据作为数据来源.你应该通过 JavaScript 在组件的 data ...

  2. Neural Turing Machines-NTM系列(一)简述

    Neural Turing Machines-NTM系列(一)简述 NTM是一种使用Neural Network为基础来实现传统图灵机的理论计算模型.利用该模型.能够通过训练的方式让系统"学 ...

  3. vector(可变数组) 用于UDP通信

    头文件: #include<vector.h> 然后,声明并初始化vctor数组. vector<char>  str(len); 其中len可以是变量或者常量.(其实用常量就 ...

  4. 深入了解Struts1的执行机理

    要说Struts1的工作流程.就必需要说一下Model1和Model2了.由于这个框架是踏着他们的尸骨一步一步的发展起来的. Model1开发模式,想想我们刚刚開始接触Java的时候,我们用的就是这样 ...

  5. Spring学习三----------注入方式

    © 版权声明:本文为博主原创文章,转载请注明出处 Spring注入方式 本篇博客只讲最常用的两种注入方式:设值注入和构造器注入.代码为完整代码,复制即可使用. 1.目录结构 2.pom.xml < ...

  6. 常见的CPU訪问引起的内存保护问题为什么仅仅用event_122上报 - 举例2

    还有一个样例.通过以下的log看,CPU在訪问reserved的地址0x53611EFD.非法訪问时该地址会在L1D内存控制器的L1DMPFSR寄存器中记录. ** FATAL EXCEPTION N ...

  7. ubuntu 安装时遇到 hash sum mismatch 处理方法

    ubuntu安装大软件时,下载经常容易出错,hash sum mismatch是其中一种,说到底还是网络不好,重试很多遍都是这个错误,最后的解决方案是把mismatch说的那个链接用firefox打开 ...

  8. 【BZOJ2229】[Zjoi2011]最小割 最小割树

    [BZOJ2229][Zjoi2011]最小割 Description 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有 ...

  9. EasyPlayerPro Windows流媒体播放器(RTSP/RTMP/HTTP/HLS/File/TCP/RTP/UDP都能播)发布啦

    EasyPlayerPro简介 EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP.RTMP.HTTP.HLS.UDP.RTP.File等多种流媒体协议播放.支持本地文件播放,支持本地 ...

  10. cocos2d-js添加百度appx的插屏广告(通过jsb反射机制)

    本来一直用的anysdk接入广告,结果从前几天开始,百度商店的审核总是通不过,结果一问才知道:要上传到百度商店就必须要用百度的appx(真的是各种坑,我们这些个人开发者迟早要被你们大公司玩死),没办法 ...