![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
helianus
这个作者很懒,什么都没留下…
展开
-
JVM虚拟机性能监控。
首先查询java进程端口ps -ef | grep java 上面命令查出java进程详情,然后红框中就是进程pid了。然后用java命令进行查询,比如查询虚拟机运行状态的jstat命令,-guutil位置是参数,2567就是上面查到的端口了。jstat-gcutil 2567...原创 2019-04-09 16:33:59 · 164 阅读 · 0 评论 -
笔记-Java基础Class文件之魔数和版本号
魔数与Class文件的版本魔数:每个Class文件的头四个字节称为魔数,它的唯一作用就是确定这个文件是否为一个能被虚拟机接受的Class文件,很多存储文件都有这个魔数,不以扩展名作为标识的原因是因为扩展名可以随意更改。魔数值可以被文件格式的制定者自由选择,只要这个魔术值没有被广泛的应用同时又不会引起混淆即可。而Class文件的魔数为CAFEBABE。版本:紧接着魔数的四个字节存储的是C...原创 2019-04-16 11:13:45 · 194 阅读 · 0 评论 -
笔记-Java基础Class文件之常量池
常量池紧接着版本号后的是常量池,它是一个表类型数据项目,意味着常量池会有多个数据项构成。它是Class文件的资源库,同时也是占用Class文件空间最多的数据项目之一。常量池中的常量数量是不定的, 因此,在常量池的入口是一个u2类型数据,代表着常量池计数值,这个计数值是从1而不是0开始的。因此,常量池为21时,实际上你的常量是20,而第0项常量是空出来的,这样做的目的在于满足“不引用任何一个...原创 2019-04-16 11:15:03 · 245 阅读 · 1 评论 -
笔记-Java基础之Class类文件的结构
无关性Java刚刚诞生之初的宣传口号:“一次编写,到处运行(write once,run anywhere)”。平台无关性-支撑这句话的关键在于:运行在不同平台之上的各种各样的虚拟机。各种不同平台的虚拟机和平台都统一使用的程序存储格式-字节码(ByteCode)是构成平台无关性的基石。语言无关性-虚拟机还有另外一种无关性,在Java发展之初,设计者就曾经考虑过并实现了让其他语言运行在J...原创 2019-04-16 11:15:32 · 97 阅读 · 0 评论 -
笔记-Java基础Class文件之访问标志
在常量池结束之后,紧接着的两个字节代表访问标志(access_flag),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口;是否定义为public类型;是否定义为abstract类型;如果是类的话,是否被声明为final等。具体的标志位以及标志的含义如下表所示:access_flag中一共有有16个标志位可以使用,当前之定义了8个,没有使用到的标志位要求一律为...原创 2019-04-16 11:30:04 · 428 阅读 · 0 评论 -
笔记-Java基础Class文件之类索引,父类索引与接口索引
类索引(this_class)和父类索引(super_class)都是一个u2类型的数据,而接口索引集合(interfaces)是一组u2类型的数据的集合,class文件中由这三项数据来确定这个类的继承关系。类索引用用于确定这个类的全限定名,父类索引用于确定这个类的父类的全限定名。由于Java语言不孕育多重继承,所以父父类索引只有一个,除了java.lang.Object之外,所有的Java类...原创 2019-04-16 11:56:32 · 226 阅读 · 0 评论 -
笔记-Java基础之Hotspot虚拟机编译对象与触发条件
程序在运行过程中会被即时编译器编译的“热点代码”有两类,既: 1.被多次调用的方法。 2.被多次执行的循环体。 前者很好理解,一个方法被调用得多了,方法体内代码执行的次数自然就多了,它成为“热点代码”是理所当然的。而后者则是为了解决一个方法只被调用一次或少数的几次,但是方法体内部存在循环次数较多的循环体的问题,这样循环体的代码也被重复执行多次,因此这些代码也应...原创 2019-07-01 15:17:21 · 236 阅读 · 0 评论 -
笔记-Java基础之Hotspot虚拟机解释器与编译器
在部分的商用虚拟机(Sun HotSpot、IBM J9)中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这个代码认定为"热点代码",为了提高热点代码的执行,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(Just In Time Compile...原创 2019-07-01 13:38:31 · 726 阅读 · 0 评论