![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
iceframemo
这个作者很懒,什么都没留下…
展开
-
Java虚拟机内存管理(1)
运行时数据区域 Java虚拟机所管理的内存包括以下几个运行时数据区域。如下图所示 [2] 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的程序计数器,线程之间的计数器互不影响,独立存储,即为“线程私有”的内存。 如果线程正在执行一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址。如果正在执行的是Nation原创 2018-01-14 22:21:59 · 1035 阅读 · 0 评论 -
jvm垃圾回收之复制算法——为什么分两块Survivor空间
复制算法的两块Survivor空间概述在《深入理解Java虚拟机》这本书中,对复制算法有一段这样的介绍:现在的商业虚拟机大多采用复制算法来收集新生代。复制算法将内存分为一块较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor空间,当回收时,将Eden和Survivor中还存活的对象复制到另一块Survivor上,最后清理掉Eden和刚才使用的空间。对虚拟机...原创 2018-04-11 19:42:16 · 3378 阅读 · 1 评论 -
Java虚拟机内存管理机制——实战测试Java虚拟机的内存溢出异常
实战测试Java虚拟机的内存溢出(OutOfMemoryError)异常在java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。下文将分区域分析OOM异常,代码都是基于Sun公司的HotSpot虚拟机运行的,对于不同公司的不同版本的虚拟机,参数和程序运行的结果可能有所差别。异常的解决则在下一章中进行学习处理。代码的注释部分写...原创 2018-02-25 22:15:51 · 339 阅读 · 0 评论 -
Java虚拟机的垃圾收集
Java虚拟机的垃圾收集[1] GC需要完成的问题哪些内存需要回收?什么时候回收?如何回收?[2] 判断内存需要回收的算法•引用计数算法(reference-counting) :每个对象有一个引用计数器,当对象被引用一次则计数器加1,当对象引用失效一次则计数器减1,对于计数器为0的对象意味着是垃圾对象,可以被GC回收。•可达性算法(GC Roots Tracing):从GC Roots作为起点开...原创 2018-03-04 22:38:48 · 196 阅读 · 0 评论 -
GC算法 垃圾收集器
GC算法 垃圾收集器转发自:https://www.cnblogs.com/ityouknow/p/5614961.html概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自...转载 2018-03-04 22:33:18 · 175 阅读 · 0 评论 -
Java虚拟机高效并发-线程安全与锁优化
本文转载于http://blog.csdn.net/panweiwei1994/article/details/79146509作者:潘威威线程安全什么是线程安全当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方法进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。线程安全级别不可变绝对线程安全相...转载 2018-02-11 20:48:08 · 152 阅读 · 0 评论 -
虚拟机执行子系统(一)——Class类文件结构
转自:http://blog.csdn.net/ns_code/article/details/17675609 平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代转载 2018-01-28 20:26:47 · 174 阅读 · 0 评论 -
java高分局之jstat命令使用
转自:http://blog.csdn.net/h_025/article/details/52813817 java高分局之jstat命令使用 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意:使用的jdk版本是jdk8. 类加载统计: C:\Users\Admin转载 2018-01-17 09:03:04 · 225 阅读 · 0 评论 -
JVM内存管理(2)——自动内存管理机制
注:本文只是列出jvm内存中包含的知识点,具体理解还需另行查找。 [1] 垃圾收集 垃圾收集需要完成的3件事情如下: 1)哪些内存需要回收? java堆和方法区 2)什么时候回收? 垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象之中哪些还存活着,哪些已经死去。判断的算法有以下几种: ①引用算法 在对象中添加一个引用计数器,每当一个地方引用它时,计数器值就加1,当引原创 2018-01-21 15:50:16 · 209 阅读 · 0 评论 -
Java 词法结构
Java 词法结构规则Int0 2 0372 0xDada_Cafe 1996 0x00_FF__00_FF Long0l 0777L 0x100000000L 2_147_483_648L 0xC0B0L Float1e1f 2.f .3f 0f 3.14f 6.022137e+23f Double1e1 2. .3 0.0 3.14 1e-9d 1e137 操作+= -= *= /= ...原创 2018-07-13 23:19:55 · 520 阅读 · 0 评论