java虚拟机
行走的soong
温故而知新
展开
-
java虚拟机内存管理机制之java内存区域
一、与C、C++语言区别①对于C语言来说,既拥有每一个对象的“所有权”,又担负这每一个对象生命开始到终结的维护责任。②对于java语言而言,在虚拟机自动内存管理的机制下,无需为每一个new操作去写对应的delete/free代码,不容易出现内存泄漏和内存溢出。二、运行时数据区域当程序员们讨论起java内存的时候,大部分都是以“堆内存”,“栈内存”来区分,这样区分是比较粗糙的。java虚拟机在运行j...原创 2018-04-16 18:46:30 · 515 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(8)CMS
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Concurrent Mark Sweep (CMS) Collector。并发标记清除收集器(CMS)是为了那些要求更短GC停顿的应用设计的,它能够在应用运行期间共享处理器资源。通常这种应用的“长生命周期”数据...原创 2019-09-24 14:57:12 · 1668 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(7)并发收集器
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--The Mostly Concurrent Collectors。JDK8中Hotspot虚拟机有2种常用的并发收集器:Concurrent Mark Sweep (CMS) Collector:此收集器适用...原创 2019-09-20 11:10:59 · 260 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(6)并行收集器
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--The Parallel Collector。并行收集器(也称为吞吐量收集器),与串行收集器类似都是分代收集器;主要的区别是使用多个线程来加速垃圾回收。使用命令行选项'-XX:+UseParallelGC'启用...原创 2019-09-19 16:14:18 · 535 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(5)可用垃圾收集器
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Available Collectors。截止目前讨论的都是关于串行收集器的。Java HotSpot VM包含三种不同类型的收集器,每种收集器具有不同的性能特征。串行收集器,使用一个线程执行所有垃圾收集工作...原创 2019-09-19 15:23:01 · 852 阅读 · 1 评论 -
JDK8垃圾回收调优指南--(4)设置代大小
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Sizing the Generations。许多参数会影响代的大小。图4-1说明了堆中提交空间和虚拟空间之间的差异。在虚拟机初始化时,为堆保留了整个空间。(堆)保留空间的大小可以使用'-Xmx'选项指定。如果...原创 2019-09-19 09:23:08 · 977 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(3)代
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Generations。Java SE平台的一个优点是它使开发人员免受内存分配和垃圾收集的复杂性的影响。然而,当垃圾收集是主要瓶颈时,理解这种隐藏实现的某些方面是有用的。垃圾收集器对应用程序使用对象的方式进行假设...原创 2019-09-18 17:39:58 · 525 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(2)人机工程
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Ergonomics。人机工程学是通过Java虚拟机(JVM)和垃圾收集调优(如基于行为的调优)提高应用程序性能的过程。JVM为垃圾收集器、堆大小和运行时编译器提供了与平台相关的默认选择。这些选择匹配不同类型...原创 2019-09-18 10:31:18 · 258 阅读 · 0 评论 -
JDK8垃圾回收调优指南--(1)说明
原文地址:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Introduction。从台式机上的小applet到大型服务器上的web服务,各种应用程序都使用Java。为了支持这种不同范围的部署,满足不同的要求,JVM提供了多个垃圾收集器。这是满足大型和小型应用程序需...原创 2019-09-17 09:07:07 · 608 阅读 · 0 评论 -
Java虚拟机高效并发之先行发生原则
上两篇关于JMM和volatile变量特殊规则的博文中,都提起了happens-before原则。之前关于线程池ThreadPoolExecutor类的学习中也浅度的介绍了一下先行发生原则。之前在学习Java内存模型时,了解到Java内存模型中的内存交互规则,以及volatile关键字的特殊规则,基本就能判断出内存访问在并发环境下的安全,但是这种定义相当严谨又十分繁琐,实践起来很麻烦,所以JMM中...原创 2018-05-13 16:12:30 · 399 阅读 · 0 评论 -
Java虚拟机高效并发之对于long和double类型变量的特殊规则以及JMM的三大特性总结
上一篇博文,刚刚介绍了volatile的2种语义,以及JMM中对volatile变量定义的特殊规则,这些规则保证了volatile的可见性和禁止指令重排优化两种语义。以及在什么场景下可以选择JVM中最轻量级的同步同步机制来保证并发安全(满足volatile变量的2种语义)。这篇博文主要补充一下JMM对于long和double类型变量的特殊规则,补充总结JMM的三大特性,可见性、有序性、原子性。一、...原创 2018-05-12 18:38:35 · 1482 阅读 · 0 评论 -
Java虚拟机高效并发之volatile变量的特殊规则
粗糙的回忆一下上篇博文的知识点,JMM,工作内存与主内存,以及内存间的交互规则,内存交互的几种操作(lock、unlock、read、load、use、assign、store、write),其中lock、unlock、read、write作用于主内存,其余操作作用于工作内存,最后以内存间交互规则,引出并发安全,引出等效判断规则(先行发生原则,happens-before)。关键字volatile...原创 2018-05-12 12:26:30 · 438 阅读 · 0 评论 -
Java虚拟机高效并发之Java内存模型
Java Memory Model,JMM,什么是Java内存模型?Java虚拟机试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果(Java跨平台语言)。一、物理机中的内存模型“让计算机并发执行若干个计算任务”与“更充分的利用计算机处理器的效能”之间的因果关系,看起来顺理成章,实际并非如此,绝大多数的运算任务并不仅仅依...原创 2018-05-10 14:10:34 · 270 阅读 · 1 评论 -
java虚拟机内存管理机制之HotSpot虚拟机对象探秘
继java内存区域相关知识点学习分享后,今天来学习分享一下HotSpot虚拟机对象的创建,内存分配,访问定位相关知识。学习新内容之前,先回忆一些内存区域的知识点:①方法区的概念。②运行时常量池的概念。③虚拟机栈的概念。④java堆分类。再带上一些疑问:①java对象的生命周期。②CAS原理。③什么是JNI。基于优先实用原则,我们以常用的虚拟机HotSpot和常用的内存区域java堆为例,深入探讨H...原创 2018-04-18 22:32:56 · 401 阅读 · 2 评论 -
JDK8垃圾回收调优指南--(9)G1
原文:Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide--Garbage First Garbage Collector。G1垃圾收集器是一种服务器风格的垃圾收集器,针对的是内存较大的多处理器机器。它试图在满足GC停顿时间目标的同时,高概率的实现高吞吐量。整个堆操作(例...原创 2019-09-24 15:18:02 · 1999 阅读 · 0 评论