![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java虚拟机
文章平均质量分 88
listslim1
这个作者很懒,什么都没留下…
展开
-
虚拟机性能监控工具
JDK命令行工具jps:虚拟机进程状况工具jps (JVM Process Status Tool),其功能与ps命令类似。jstat:虚拟机统计信息监视工具jstat(JVM statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,它是运行期定原创 2016-05-15 21:23:42 · 1375 阅读 · 0 评论 -
虚拟机类加载与运行机制
class类文件的结构根据java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表。Class文件格式包括:常量池可以理解为Class文件之中的资源仓库,它是Class文件结构中与其他项目关联最多的数据类型,也是占用Class文件空间最大的数据项目之一,同时还是在Class文件中原创 2016-05-15 22:43:26 · 1094 阅读 · 0 评论 -
java内存区域与内存溢出异常
java虚拟机的基本结构类加载子系统类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分原创 2016-05-15 18:22:56 · 2704 阅读 · 0 评论 -
java垃圾收集器
判断对象是否存活在堆里边存放着java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,首先需要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。该方法简单,但也有一个缺点是很难解决对象转载 2016-05-15 21:13:26 · 1969 阅读 · 1 评论 -
java内存模型与线程
java内存模型主内存与工作内存Java内存模型规定了所有的变量都存储在主内存中(此处的主内存仅仅指虚拟机内存),每条线程还有自己的工作内存,线程的工作内存中保存了被线程使用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需要通过主内存来完成,线程、主内存、工作内存三转载 2016-05-15 23:20:23 · 1647 阅读 · 0 评论 -
从JVM并发看CPU内存指令重排序
转载自:http://ifeve.com/jvm-memory-reordering/从JVM并发看CPU内存指令重排序(Memory Reordering)这两天,我拜读了 Dennis Byrne 写的一片博文Memory Barriers and JVM Concurrency (中译文内存屏障与JVM并发)。文中提到:对主存的一次访问一般花费硬件转载 2016-06-02 15:41:49 · 413 阅读 · 0 评论