JVM
文章平均质量分 87
tangdong3415
这个作者很懒,什么都没留下…
展开
-
深入JVM垃圾回收
JVM一、术语说明 Collector 用于进行垃圾回收的线程 Mutators 应用程序的线程,可以修改 heap MS mark-sweep 算法的简写,标记-清除算法 MC mark-compact 算法的简写,标记-压缩算法 ...原创 2019-12-13 14:19:09 · 279 阅读 · 0 评论 -
深入Java内存模型
在介绍 Java 内存模型之前,我们先来看一下到底什么是计算机内存模型,然后再来看 Java 内存模型在计算机内存模型的基础上都做了哪些事情。要说计算机的内存模型,就要说一段古老的历史,看一下为什么要有内存模型。内存模型:英文名 Memory Model,它是一个老古董了。它是与计算机硬件有关的一个概念。那么,我先介绍下它和硬件到底有啥关系。CPU 和缓存一致性我们应该知道,计算机...原创 2019-11-21 17:42:40 · 134 阅读 · 0 评论 -
JVM内存管理------JAVA语言的内存管理概述
引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑。不过世界上不存在十全十美的好事,在带来了便利的同时,也因此引入了很多令人抓狂的内存溢出和泄露的问题。 可怕的事情还不只如此,有些使用其它语言开发的程序员,给JAVA程序员扣上了一个“不懂内存”的帽子,这着实有点让人难以接受原创 2017-02-06 16:32:24 · 358 阅读 · 0 评论 -
JVM内存管理------GC算法精解
相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧。不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内看完,那就不是LZ的错啦。 好了,前面只是小小开个玩笑,让各位猿友放松下心情。下面即将与各位分享的,是GC算法中最基础的算法------标记/清除算法。如果搞清楚这个算法,那么后面原创 2017-02-06 17:21:54 · 1314 阅读 · 1 评论 -
JVM内存管理------GC算法精解(复制算法与标记/整理算法)
本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法。上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算法 我们首先一起来看一下复制算法的做法,复制算法将内存划分为两个区间,在任意时间点,所有动态分配的对象都只能分配在其中一个区间(称为活动区间),而另外原创 2017-02-06 17:22:55 · 1489 阅读 · 1 评论 -
JVM内存管理------GC算法精解(分代搜集算法)
引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极。说不定若干年以后,还会有新的终极算法,而且几乎是一定会有,因为LZ相信高人们的能力。 那么分代搜集算法是怎么处理GC的呢? 对象分类 上一章已经说过,分代搜集算法是针对对象的不同特性,而使用适合的算原创 2017-02-06 17:41:36 · 469 阅读 · 1 评论 -
JVM内存管理------垃圾搜集器简介
上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了。既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到具体的虚拟机实现了。 或许有不少做JAVA开发的猿友还不知道,我们平时使用的JDK中,默认的JVM是hotspot,换句话说,我们大部分时候使用的JVM都是hot原创 2017-02-06 18:02:12 · 322 阅读 · 0 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
1、堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms35原创 2017-02-21 13:37:24 · 330 阅读 · 0 评论 -
JMM 理解java内存模型
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步?在Java语言中,采用的是 共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互斥执原创 2017-02-24 11:11:42 · 500 阅读 · 0 评论