前辈说,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

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

java 自带的工具的更多相关文章

  1. java自带BASE64工具进行图片和字符串转换

    java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...

  2. java自带BASE64工具进行图片和字符串转换【转】

    java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...

  3. java自带命令工具

    jstat,这个工具很强大,可以监测Java虚拟机GC多方面的状态,具体参数含义参见此链接: ./jstat -gc 84012 1000 3 S0C    S1C    S0U    S1U     ...

  4. 如何用java自带的工具生成证书

    一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...

  5. java自带dom工具使用实例

    代码参考自 黄亿华大神的<<1000行代码读懂Spring(一)- 实现一个基本的IoC容器>> 原网页如下 http://my.oschina.net/flashsword/ ...

  6. Java内存泄露分析和解决方案及Windows自带查看工具

    Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历 ...

  7. java自带工具-jps、jinfo、jstack、jstat、jmap

    掌握java自带的这些监控工具,有助与我们很好的分析问题和jvm性能调优秀.收集了些网上整理很好的文章. Java监控工具.调优.调试辅助函数 Java自带的GUI性能监控工具Jconsole以及Ji ...

  8. java自带的jvm分析工具

    http://domark.iteye.com/blog/1924302   这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了.上 ...

  9. Spark的Straggler深入学习(1):如何在本地图形监控远程Spark的GC情况——使用java自带的jvisualvm

    一.本文的目的       Straggler是目前研究的热点,Spark中也存在Straggler的问题.GC问题是总所周知的导致Straggler的重要因素之一,为了了解GC导致的Straggle ...

随机推荐

  1. C++ 解析一

    C++ 类和对象C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计.类是 C++ 的核心特性,通常被称为用户定义的类型.类用于指定对象的形式,它包含了数据表示法和用于处理数据 ...

  2. iframe子父页面函数互相调用

    1.iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: window.parent.a();  子页面取父页面中的标签 ...

  3. [BZOJ1588]营业额统计

    Problem 每次给你一个数,找出前面的数与这个数的差的绝对值的最小值 Solution Splay Notice 找不到前驱和后继时,会出错. Code #include<cmath> ...

  4. list的四种遍历方式

    1.手先增强for循环和iterator遍历的效果是一样的,也就说 增强for循环的内部也就是调用iteratoer实现的,但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容.不能获 ...

  5. 2.13 C++拷贝构造函数

    参考:http://www.weixueyuan.net/view/6344.html 总结: 如果拷贝构造函数的参数不是对象的引用,则是不允许的.如 book(book b); 是无法编译通过的. ...

  6. DevExpress WPF v18.2新版亮点(一)

    买 DevExpress Universal Subscription  免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...

  7. Ansible-playbook的简单使用 [转]

    一. 介绍 ansbile-playbook是一系列ansible命令的集合,利用yaml 语言编写.playbook命令根据自上而下的顺序依次执行.同时,playbook开创了很多特性,它可以允许你 ...

  8. Unity最新版打包AssetBundle和加载的方法

    一.设置assetBundleName二.构建AssetBundle包三.上传AssetBundle到服务器四.把AssetBundle放到本地五.操作AssetBundle六.完整例子七.Asset ...

  9. Java不同类型字符转换String/int/Float/////

    1.int & String int i=5678;String s=""; int->String: s=i+"";或 s=String.val ...

  10. jetty404web界面服务器信息隐藏

    jetty服务器报以上的404错误时,为了信息安全必须隐藏信息错误提示 在jetty的配置文件jetty.xml添加以下内容: 重启一下jetty服务器就OK了,在验证时是这样的: