JVM
joexk
点滴记录
展开
-
Java HotSpot 虚拟机选项 -X -XX 的含义
1、JDK 7 及以前版本官方文档对 -X、-XX的说明如下: Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releas...原创 2018-04-21 13:31:14 · 2500 阅读 · 0 评论 -
volatile 关键字理解
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。即 volati...原创 2018-08-31 23:53:36 · 204 阅读 · 0 评论 -
JVM 类的装载过程
Java 虚拟机类的转载过程包含三个阶段:(1) 加载(2) 链接验证准备解析(3)初始化实际运行中,三个阶段并非一定按顺序执行,但总体来说完整的加载过程总是包含这三个阶段。1.1 加载1)取得类的二进制字节流,通过类的全限定名称(包名+类名)由类加载器加载至运行时数据区2)把二进制字节流中静态存储结构转化为方法区数据结构3)在内存中生成代表这个类的java.lang....原创 2018-09-25 00:10:50 · 500 阅读 · 0 评论 -
JVM 性能监控与故障处理工具
定位系统问题的时候,需要依据系统输出的数据信息查看具体原因,当然需要借助相应的工具以方便处理数据信息。这里的数据信息包括:运行日志、GC 日志、异常堆栈、线程快照(threaddump/javacore 文件)、堆转储快照(heapdump/hprof文件)等。JDK 的bin目录中提供了很多命令行工具,如我们熟悉的“java.exe”、“javac.exe”,其他命令参考bin目录。这些工具...原创 2018-09-30 23:13:35 · 611 阅读 · 0 评论