
JVM
文章平均质量分 67
包括JVM原理和JVM性能调优的学习
Joy CR
欢迎关注我的公众号: 小秋的博客
https://blog.youkuaiyun.com/xiaoqiu_cr
https://github.com/crr121
https://segmentfault.com/u/chenrong_flying
联系邮箱:rongchen633@gmail.com
展开
-
性能监控与故障处理
文章目录JDK的命令行工具jps(java process status):查看Hotspot虚拟机进程,显示正在运行的主类的全名jstat:查看虚拟机类装载,内存,垃圾收集,JIT编译等信息jinfo:实时查看和调整虚拟机的配置信息等参数jmap:生成堆转储快照,查询finalize执行队列,Java堆和永久代的详细信息,空间使用率,垃圾收集器Jhat:JVM heap analysis Too...原创 2019-07-29 09:29:15 · 537 阅读 · 0 评论 -
class类文件结构——属性表集合
文章目录class类文件结构——属性表集合什么是属性表集合单个属性表的结构attribute_info属性表在方法表中的位置Java虚拟机中比较常用的属性code属性code属性的结构实战演练class类文件结构——属性表集合什么是属性表集合属性表集合包括Java虚拟机预先规范定义的属性以及用户自定义的属性,对于用户自定义的属性,虚拟机加载的时候会自动忽略掉。class文件、字段表、方法表都...原创 2019-02-08 10:01:30 · 900 阅读 · 0 评论 -
class类文件结构——方法表集合
文章目录什么是方法表集合方法表集合的结构总体结构单个方法的结构方法表集合在class文件中的位置:实例练习什么是方法表集合方法表集合就是对方法的修饰符、返回类型、方法名、参数个数、参数类型、方法体的描述集合方法表集合的结构总体结构单个方法的结构方法表集合的结构与字段表结构非常的类似,开头也是用了两个字节表示方法的个数,然后接着是每个方法的描述method_info{ acc...原创 2019-02-01 16:06:27 · 640 阅读 · 0 评论 -
class类文件结构——字段表结构
文章目录class类文件结构——字段表结构什么是字段表从哪些方面可以进行描述字段表结构字段计数器访问标志access_flag字段的数据类型,字段名,属性长度class类文件结构——字段表结构什么是字段表描述类或者接口中声明的变量(不包括方法内部声明的变量,也就是说字段表中的字段信息只包含成员变量和静态变量,不包含局部变量)**** ps原创 2019-01-31 21:03:27 · 1109 阅读 · 0 评论 -
volatile变量
文章目录Java内存模型介绍volatile变量怎么用Java内存模型介绍在了解volatile到底是什么东西之前,我们先来了解一下Java的内存模型参考博客https://segmentfault.com/a/1190000014903099简单来说,Java的内存模型就是每个线程都有一个自己独占的工作内存所有线程工作的时候都需要和主内存进行交互,这个交互的过程就是load和st...原创 2019-01-31 13:00:01 · 361 阅读 · 3 评论 -
Class文件结构——类索引、父类索引、接口索引集合
什么是类索引、父类索引、接口索引集合:类索引:this_class(u2类型)2个字节 16位父类索引:super_class(u2类型)2个字节 16位接口索引集合:interfaces(这里为什么是集合呢,因为我们知道Java中继承接口的时候是可以多继承的)(注意在接口索引集合的入口处还有两个字节的实现接口的数量)那么我们写一个Java文件分析一下import java....原创 2019-01-29 20:52:30 · 530 阅读 · 0 评论 -
Class类文件结构——访问标志
访问标志的位置:在常量池结束之后的两个字节(16位)表示访问标志access_flags。访问标志的作用:用于标识类或者接口层次的访问信息;比如该Class是类还是接口,是否为public类型、是否为abstract类型、是否是final类型等等。访问标志的类型:参考博客《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合 那么我们...原创 2019-01-29 20:16:56 · 618 阅读 · 0 评论 -
Class类文件结构解读——常量池
首先写一个Java文件public class HelloWorld{ private int m; public int intc(){ return m + 1; }}使用javac编译为class文件C:\Users\xiaoqiu\Desktop>javac HelloWorld.java使用十六进制编辑器winHex打开...原创 2019-01-26 12:33:50 · 297 阅读 · 0 评论 -
Java的技术体系
Java的技术体系包括几个组成部分:Java code java api java 第三方类库 Class文件格式 JVM原创 2019-01-10 19:55:26 · 247 阅读 · 1 评论 -
OutofMemory异常
1、发生异常的区域除程序计数器的所有运行时区域2、异常实例1、Java堆溢出1、异常信息:“java.lang.OutofMemoryError”"java heap space"2、异常分类:内存泄漏、内存溢出内存泄漏:检查泄露对象到GC Roots的引用链,找到垃圾收集器无法自动回收的原因内存溢出:检查虚拟机的堆参数(-Xmx、-Xms),是否存在某些对象生命周期过长、持有状态时间过长的情况。...原创 2018-04-17 17:52:06 · 184 阅读 · 0 评论 -
Java中对象的访问
1、举例:实例化一个对象 1、对象的创建 Java堆创建对象时分配内存空间的方法:指针碰撞:指针向空闲空间移动和对象内存大小相等的距离 空闲列表:从空闲列表里面选择一个足够大的空间分配给对象 对象创建的线程安全性:当使用指针碰撞进行对象内存分配的时候,如果给对象A分配了内存,指针还没来得及修改,又为对象B分配了内存。方案一:对分配内存空间操...原创 2018-04-17 16:21:36 · 367 阅读 · 0 评论 -
Java运行时的数据区域
1、程序计数器1、什么是程序计数器当前线程所执行的字节码的行号指示器2、特点线程私有:每个线程都有一个独立的程序计数器,互不影响,独立存储,便于线程的切换3、工作机制所属的线程执行Java方法:记录虚拟机字节码指令地址所属线程执行native方法:为空,4、异常不存在内存溢出等异常,例如outofMemoryErrory2、Java虚拟机栈1、什么是Ja...原创 2018-04-17 11:19:52 · 210 阅读 · 0 评论 -
Java的native方法
Java的native方法1、什么是native methodJava中调用非Java语言实现的接口。也就是说该方法的实现不是用Java代码写的,而是用C、C++等其他语言写的。2、如何定义native methodnative method可以和Java中的关键字联合使用:static、synchronized、voidpackage MapTest;public class NativeM...原创 2018-04-16 17:36:28 · 416 阅读 · 0 评论