zoukankan      html  css  js  c++  java
  • java 自带的工具

    前辈说,java的基本功的好坏,一个方面要看是否能熟练使用jdk bin下的工具使用情况。

    自己整理一下使用的工具。

    ■ javac

    一个编译java的工具,进入java所在文件的路径后,javac XXX.java

    ■ java

    java XXX 执行生成的字节码文件。

     ■ jar 

    打jar包用的,现在一般都用eclipse等这种工具,直接打jar包

     ■ javadoc

    生成java的doc文档。现在一般都用eclipse等这种工具,直接可以生成,不用单独去敲这个命令。

     ■ jps

    它是java process 的缩写,就是查看当前java的启动的进程。注意,显示的是java启动的进程,并非操作系统的进程。

    使用方法,在控制台中直接 jps 就行。

    p.s.我在实际操作中遇到个问题,这边运行着java程序,另一边敲下了jps,但是却什么也没有。这是为什么呢?后来我查了资料找到了原因。在 Win32 系统上,每个 java 进程启动之后都在 %TMP%hsperfdata_user ( user 为当前登录用户名)目录下建立一个以该 java 进程 pid 为文件名的文件,用以记录该 java 进程的一些信息。而 jconsole 和 jps 正是利用这些文件来获取当前系统中 java 进程的信息的。如果该目录位于 FAT 文件系统下,或者位于 NTFS 文件系统下,但当前用户对%TMP%hsperfdata_user目录的访问权限不足,无法创建和写入该文件,jconsole 和 jps 就抓瞎了。

    解决办法:

     在启动java程序的时候添加一个参数即可:
        -XX:+PerfBypassFileSystemCheck

     ■ jconsole

    它是java内置的性能分析器。你可以轻松的使用它,来监控java程序性能和跟踪java中的代码。

    在使用Eclipse的时候,为了使用jconsole,需要配置一些参数,程序的启动参数如下:
    -Djava.rmi.server.hostname=XXX.XXX.XXX.XXX      ip地址
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=8011      端口号,随便
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false

    之后,启动程序。接下来,cmd命令行中,调用jconsole,接下来,输入ip地址:端口号,点击连接就可以了。

    在这里,推荐一篇博客,里面对jconsole有更详细的介绍,讲解的比我好,我就不在这里多说了。

    http://jiajun.iteye.com/blog/810150

    JVisualVM

    它是集成了多个jdk命令的免费可视化工具,它可以被单独下载,但是jdk的bin下,已经安装好了。可以直接使用。

    它里面有丰富的插件,要想使用JConsole等一些功能,需要下载插件。各版本最新的下载中心:https://visualvm.github.io/pluginscenters.html

    设置下载中心的方法:Tools -> Plugins -> Settings添加最新的插件中心。

     推荐一个博客:http://jiajun.iteye.com/blog/1180230

    JMAP

    生成java 对内存统计数据的工具。假设,我们在lunix下,无法使用图形界面分析,这时使用jmap将堆内存等统计数据导入后,再有其他可视化工具进行分析。

    -dump:[live,]format=b,file=<filename>

    e.g. jmap -dump:format=b,file=output.bin

     其它的工具,未完待续。。。

  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/lihao007/p/7191346.html
Copyright © 2011-2022 走看看