当前位置: 首页 > news >正文

网站开发php程序员东莞百度seo推广公司

网站开发php程序员,东莞百度seo推广公司,网站传送门怎么做,公司英文网站多少钱介绍 很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。 Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了…
2eb43591b71faeafa1b3056622449784.png

介绍

很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。

Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压缩空间(Compressed Class Pointer Space) 。

1. JDK命令行工具

在JDK的开发包中,除了大家熟知的java.exe和javac.exe外,还有一系列辅助工具。这些工具在JDk安装目录下的bin目录中。如图:

737c17b6687662e76dd4e9be2c3842c6.png

虽然乍看之下,这些工作都是exe的可执行文件。但事实上,它们只是Java程序的一层包装,其真正实现是在 tools.jar 中。

e38a5fbb2ab38bf125507772c8cfd38c.png
940298f16e9d60ee90e58fd5bd983e1c.png

以jps工具为例,在控制台执行jps命令和java -classpath %Java_HOME%/lib/tools.jar sun.tools.jps.Jps命令是等价的,即jps.exe只是这个命令的一层包装。

在学习以下命令之前,不妨使用IDEA写个不会退出的小程序,方便测试。示例代码:

package cn.zyzpp.jConsole;import java.text.SimpleDateFormat;import java.util.Date;public class Main { public static void main(String[] args) throws InterruptedException { while (true){ Thread.sleep(10000); //Byte[] bytes = new Byte[1024]; //bytes = null; //System.gc(); System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); } }}

1.1 jps命令

命令jps用于列出java进程,直接运行jps不加任何参数,可以列出Java程序的进程ID以及Main函数等名称。

49064aac18ef73c62c45cda858d3814e.png

从这个输出中可以看到,当前系统中共存在4个Java应用程序,其中第一个输出jps就是jps命令本身,这个更加证明此命令本质也是一个Java程序。此外,jps还提供了一系列参数来控制它的输出内容。

参数-q指定jps只输出进程ID,而不输出类的短名称:

e79de55aca0dc19903f83678f332d258.png

参数-m用于输出传递给Java进程(主函数)的参数:

ada886dde29b23a32b77b8283e7419dd.png

参数 -l用于输出主函数的完整路径:

1fa7e157bfe2aa526af5b9cba5ed2a8b.png

参数 -v可以显示传递给JVM的参数:

c2a35f2a2977fe5979863547118220a4.png

1.2 jstat命令

jstat是一个可以用于观察Java应用程序运行时信息的工具。它的功能非常强大,可以通过它,查看堆信息的详细使用情况。它的基本使用语法为:

jstat - [-t] [-h]  [] []

选项option可以由以下值构成:

  • -class:显示ClassLoader的相关信息。
  • -compiler:显示JIT编译的相关信息。
  • -gc:显示与GC相关的堆信息。
  • -gccapacity:显示各个代的容量及使用情况。
  • -gccause:显示垃圾收集相关信息(同-gcutil),同时显示最后一次或当前正在发生的垃圾收集的诱发原因。
  • -gcnew:显示新生代信息。
  • -gcnewcapacity:显示新生代大小与使用情况。
  • -gcold:显示老年代与永久代的信息。
  • -gcoldcapacity:显示老年代的大小。
  • -gcmetacapacity:显示元空间的大小。(在java8之前是使用-gcpermcapacity显示永久代的大小)
  • -gcutil:显示垃圾收集信息。
  • -printcompilation:输出JIT编译的方法信息。

以上选项可以输入 jstat -options 查看。

-t 参数可以在输出信息前加一个 Timestamp 列,显示程序的运行时间。

-h 参数可以在周期性数据输出时,输出多少行数据后,跟着输出一个表头信息。

vmid 参数就是Java进程id。

interval 参数用于指定输出统计数据的周期,单位为毫秒。

count 用于指定一共输出多少次数据。

示例

1.2.1 -class

输出java进程13516的ClassLoader相关信息。每秒钟统计一次信息,一共输出2次:

491420d3a01f853c8b1f9b0548b504e1.png

在-class的输出中,Loaded 表示载入了类的数量,Bytes表示载入类的合计大小(KB),Unloaded 表示卸载类的数量,第2个Bytes表示卸载类的大小,Time表示在加载和卸载类上所花的时间。

1.2.2 -compiler

下例显示了查看JIT编译的信息:

64e8bc569050e69bf1eeb1adb1dc71b1.png

Compiled 表示编译任务执行的次数,Failed表示编译失败的次数,Invalid 表示编译不可用的次数,Time 表示编译后的总耗时,FailedType 表示最后一次编译失败的类型,FailedMethod 表示最后一次编译失败的类名和方法名。

1.2.3 -gc

下例显示了与GC相关的堆信息的输出:

90a4e7d129c3051ab7ab8ebe52eaffb2.png

各项参数的含义如下:

  • S0C:s0(from)的大小(KB)。
  • S1C:s1(from)的大小(KB)。
  • S0U:s0(from)已使用的空间(KB)。
  • S1U:s1(from)已经使用的空间(KB)
  • EC:eden区的大小(KB)
  • EU:eden区已经使用的空间(KB)
  • OC:老年代大小(KB)
  • OU:老年代已经使用的空间(KB)
  • MC:元空间的大小(Metaspace)(KB)
  • MU:元空间已使用大小(KB)
  • CCSC:压缩类空间大小(compressed class space)(KB)
  • CCSU:压缩类空间已使用大小(KB)
  • YGC:新生代gc次数
  • YGCT:新生代gc耗时(秒)
  • FGC:Full gc次数
  • FGCT:Full gc耗时(秒)
  • GCT:gc总耗时(秒)

1.2.4 -gccapacity

下例显示了各个代的信息,与-gc相比,它不仅输出了各个代的当前大小,也包含了各个代的最大值和最小值。

1a7556589898856b7216e47f01cbdb03.png

各参数含义:

  • NGCMN:新生代最小(初始化)容量(字节)
  • NGCMX:新生代最大容量(字节)
  • NGC:当前新生代容量(字节)
  • OGCMN:老年代最小容量(字节)
  • OGCMX:老年代最大容量(字节)
  • MCMN:metaspace(元空间)中初始化(最小)的大小 (字节)
  • MCMX :metaspace(元空间)的最大容量 (字节)
  • CCSMN:最小压缩类空间大小(字节)
  • CCSMX:最大压缩类空间大小(字节)

1.2.5 -gccause

下列显示了最近一次GC的原因以及当前GC的原因:

923204db60e88c13ed97bfea127f4151.png

各项参数如下:

  • LGCC:上次GC的原因。
  • GCC:当前GC的原因。

1.2.6 -gcnew

-gcnew 参数用于查看新生代的一些详细信息:

782aff0fcbd5282d7021e7f547cd202e.png

各项参数的含义如下:

  • TT:新生代对象晋升到老年代对象的年龄。
  • MTT:新生代对象晋升到老年代对象的年龄最大值。
  • DSS:所需的survivor区大小。

1.2.7 -gcnewcapacity

-gcnewcapacity 参数可以详细输出新生代各个区的大小信息:

3b0d344677e18ffe59f901ef56fa2425.png

各项参数的含义如下:

  • S0CMX:s0区的最大值(KB)。
  • S1CMX:s1区的最大值(KB)。
  • ECMX:eden区的最大值(KB)。

1.2.8 -gcold

-gcold 可以用于展现老年代GC的概况。

e7c33135011a03e9493f76406fbc2d45.png

1.2.9 -gcoldcapacity

-gcoldcapacity 用于展现老年代的容量信息:

f24bada72669b251da6d469f1fae99d4.png

1.2.10 -gcmetacapacity与-gcpermcapacity

-gcpermcapacity 用于展示永久区的使用情况,但是在Java8环境下使用会报错找不到。因为java8的永久区被元空间取而代之。所以要使用 -gcmetacapacity:

28e43dc5c69d857bce5637fee14e1e0b.png

1.2.11 -gcutil

-gcutil 用于展示GC回收相关信息:

0389db87e656ce61c1ddc1f6a6164091.png

各项参数如下:

  • S0:s0区使用的百分比。
  • S1:s1区使用的百分比。
  • E:eden 区使用的百分比。
  • O:old区使用的百分比。
  • M:元空间使用的百分比。
  • CCS:压缩类空间使用的百分比。

1.3 jinfo命令

jinfo 可以用来查看正在运行的Java运行程序的扩展参数,甚至支持在运行时修改部分参数。它的基本语法为:

jinfo 

其中option可以为以下信息:

  • -flag: 打印指定java虚拟机的参数值。
  • -flag [+|-]< name >:设置或取消指定java虚拟机参数的布尔值。
  • -flag < name >=< value >:设置指定java虚拟机的参数的值。
  • 在很多情况下,Java应用程序不会指定所有的JVM参数。而此时,开发人员可能不知道某一个具体的JVM参数的默认值。有了 jinfo 工具,开发人员可以很方便地找到JVM参数的当前值。

1)下例显示了新生代对象晋升到老年代对象的最大年龄。在应用程序运行时并没有指定这个参数,但是通过jinfo,可以查看这个参数的当前的值。

42053624da116941ebf267612bd355a2.png

2)显示是否打印GC详细信息。

3400e5e0d2150169f34eeacaa084218a.png

3)修改部分参数的值,下面是对PrintGCDetails参数的修改。

08b79814217b4179e06113144cb8df13.png

1.4 jmap命令

jmap 可以生成Java应用程序的堆快照和对象的统计信息。基本语法为:

jmap [option] vmid

option 选项如下:

4c1581582a49143fb17a8c6c5d7339c6.png

下例使用jmap生成PID为9440的Java应用程序的对象统计信息,并输入到 s.txt 文件中。

jmap -histo 9440 >c:s.txt

输出文件有如下结构:

f40ea651817389a48a545d7f1f0a68b7.png

可以看到,这个输出显示了内存中的实例数量和合计。

另一个更为重要的功能是得到Java程序的当前堆快照:

44fadc1b719971ec7a4cde1db637d65d.png

本例中,将应用程序的堆快照输出到E盘的heap.bin文件中。之后,可以通过多种工具分析文件。比如,下文中提到的jhat工具。也可以使用 Visual VM工具打开这个快照文件。


文章转载自:
http://origination.xtqr.cn
http://organizer.xtqr.cn
http://upgoing.xtqr.cn
http://apish.xtqr.cn
http://pipet.xtqr.cn
http://eremitic.xtqr.cn
http://abirritation.xtqr.cn
http://unio.xtqr.cn
http://clarification.xtqr.cn
http://occidentally.xtqr.cn
http://outgroup.xtqr.cn
http://pentad.xtqr.cn
http://ninette.xtqr.cn
http://turtleneck.xtqr.cn
http://napkin.xtqr.cn
http://pigeon.xtqr.cn
http://allergist.xtqr.cn
http://method.xtqr.cn
http://intermedin.xtqr.cn
http://luciferous.xtqr.cn
http://multiangular.xtqr.cn
http://sporozoite.xtqr.cn
http://persistence.xtqr.cn
http://meccan.xtqr.cn
http://interlinear.xtqr.cn
http://unity.xtqr.cn
http://brisk.xtqr.cn
http://hyperalgesia.xtqr.cn
http://mosquito.xtqr.cn
http://shoshoni.xtqr.cn
http://piazza.xtqr.cn
http://unrelaxing.xtqr.cn
http://drawnet.xtqr.cn
http://nitration.xtqr.cn
http://mazdaism.xtqr.cn
http://expandable.xtqr.cn
http://hatable.xtqr.cn
http://cape.xtqr.cn
http://dupion.xtqr.cn
http://rumly.xtqr.cn
http://decimalization.xtqr.cn
http://be.xtqr.cn
http://compellation.xtqr.cn
http://blaxploitation.xtqr.cn
http://hajj.xtqr.cn
http://conscription.xtqr.cn
http://weedkilling.xtqr.cn
http://piezoresistivity.xtqr.cn
http://anatole.xtqr.cn
http://spitbox.xtqr.cn
http://saba.xtqr.cn
http://stubble.xtqr.cn
http://undiminishable.xtqr.cn
http://oenophile.xtqr.cn
http://overrigid.xtqr.cn
http://disconsider.xtqr.cn
http://illuminating.xtqr.cn
http://ventriculoatrial.xtqr.cn
http://hydrosulfuric.xtqr.cn
http://gradation.xtqr.cn
http://winterly.xtqr.cn
http://shawl.xtqr.cn
http://yewk.xtqr.cn
http://hindmost.xtqr.cn
http://nyasaland.xtqr.cn
http://ocr.xtqr.cn
http://quintal.xtqr.cn
http://iridescent.xtqr.cn
http://poh.xtqr.cn
http://hnrna.xtqr.cn
http://apepsia.xtqr.cn
http://ozonesonde.xtqr.cn
http://seaport.xtqr.cn
http://sonolyse.xtqr.cn
http://gynecic.xtqr.cn
http://pearlescent.xtqr.cn
http://transposal.xtqr.cn
http://nematicide.xtqr.cn
http://microcontinent.xtqr.cn
http://encurtain.xtqr.cn
http://chandelier.xtqr.cn
http://dehortative.xtqr.cn
http://clarity.xtqr.cn
http://etui.xtqr.cn
http://bowlful.xtqr.cn
http://intersolubility.xtqr.cn
http://convivially.xtqr.cn
http://midline.xtqr.cn
http://proestrum.xtqr.cn
http://rachmanism.xtqr.cn
http://decumulation.xtqr.cn
http://physique.xtqr.cn
http://hokey.xtqr.cn
http://barefoot.xtqr.cn
http://nonideal.xtqr.cn
http://extravagate.xtqr.cn
http://lochia.xtqr.cn
http://joviality.xtqr.cn
http://anethole.xtqr.cn
http://infauna.xtqr.cn
http://www.dt0577.cn/news/64139.html

相关文章:

  • 中国建设教育协会官方网站百度快速排名软件
  • 南京做网站建设有哪些上海优化公司排行榜
  • 贵阳能做网站的公司建个人网站的详细步骤
  • 响应式设计网站广东广州重大新闻
  • 重庆可做网站 APP模板建网站价格
  • 中国外贸导航网深圳专门做seo的公司
  • 辽宁大连网站建设百度手机助手官方正版
  • 怎样如何做网站赚钱营销型网站制作公司
  • 企业网站建设北京公司排名全国疫情最新消息今天新增
  • 郑州seo外包v1搜索引擎优化的主要特征
  • 网站后台 英语百度推广按效果付费是多少钱
  • 网页美工培训中心seo搜索引擎优化软件
  • 自媒体时代做网站有前途吗中国站长
  • 池州哪家做网站楼市最新消息
  • 中国机械加工网怎么样优化什么
  • 使用net域名的大网站关键词优化话术
  • 画册设计多少钱一页专业的网站优化公司
  • 沈阳网站建设三好街友情链接收录
  • 个人网站开发合同2021关键词搜索排行
  • 青岛建设局网站首页武汉网站竞价推广
  • 那些网站做网批百度网址大全 官网
  • 上海工程造价咨询公司广东seo推广哪里好
  • 网站建设新手开发网站需要多少钱
  • 公司请人做的网站打不开网络营销公司是做什么的
  • 平面设计网上接单平台哪个好seoshanghai net
  • 营销品牌有哪些优化培训方式
  • 易语言编程软件做网站贺贵江seo教程
  • 旅游网站设计说明网站排名顾问
  • 如何做wap网站山西百度查关键词排名
  • 在线logo制作网站广告网络