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
其它的工具,未完待续。。。
java 自带的工具的更多相关文章
- java自带BASE64工具进行图片和字符串转换
java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
- java自带BASE64工具进行图片和字符串转换【转】
java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
- java自带命令工具
jstat,这个工具很强大,可以监测Java虚拟机GC多方面的状态,具体参数含义参见此链接: ./jstat -gc 84012 1000 3 S0C S1C S0U S1U ...
- 如何用java自带的工具生成证书
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- java自带dom工具使用实例
代码参考自 黄亿华大神的<<1000行代码读懂Spring(一)- 实现一个基本的IoC容器>> 原网页如下 http://my.oschina.net/flashsword/ ...
- Java内存泄露分析和解决方案及Windows自带查看工具
Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历 ...
- java自带工具-jps、jinfo、jstack、jstat、jmap
掌握java自带的这些监控工具,有助与我们很好的分析问题和jvm性能调优秀.收集了些网上整理很好的文章. Java监控工具.调优.调试辅助函数 Java自带的GUI性能监控工具Jconsole以及Ji ...
- java自带的jvm分析工具
http://domark.iteye.com/blog/1924302 这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了.上 ...
- Spark的Straggler深入学习(1):如何在本地图形监控远程Spark的GC情况——使用java自带的jvisualvm
一.本文的目的 Straggler是目前研究的热点,Spark中也存在Straggler的问题.GC问题是总所周知的导致Straggler的重要因素之一,为了了解GC导致的Straggle ...
随机推荐
- learning ddr reset initialization with stable power
- docker图形化管理工具portainer
本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...
- shlve 模块
shlve 模块 也用于序列化 它与pickle 不同之处在于 不需要惯性文件模式什么的 直接把它当成一个字典来看待 它可以直接对数据进行修改 而不用覆盖原来的数据 而pickle 你想要修改只能 ...
- java高级⑴
1.之前我们学过 数组: 数组的特点: 01. 长度一旦被定义,不允许被改变 02. 在内存中开辟一连串连续的空间! 那么现在有一个需求: 让我们定义一个数组 来 保存 新闻信息!!! 问题: 01. ...
- PE文件 03 重定位表
0x01 重定位表结构 重定位表是由数据目录表中的第六个成员指出的: typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; D ...
- L1-056 猜数字
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢.本题就要求你找出其中的赢家. 输入格式: 输入在第一行给出一个正整数N(≤104).随后 N 行,每行给出一个玩 ...
- chmod +x 和 chmod u+x的区别
常用: chmod a+x tomcat u 代表用户. g 代表用户组. o 代表其他. a 代表所有. 这意味着chmod u+x somefile 只授予这个文件的所属者执行的权限 而 chmo ...
- <Spark><Tuning and Debugging>
Overview 这一部分我们主要讨论如果配置一个Spark application,如何tune and debug Spark workloads 配置对Spark应用性能调优很重要.我们有必要理 ...
- L316 波音737Max 危机
Boeing Scrambles To Restore Faith In Its 737 MAX Airplane After Crashes In the wake of two deadly cr ...
- 构造方法调用另一个构造方法,用this
using System; class Person { public int age; public string name; public Person(int age, string name) ...