上一页 1 2 3 4 5 6 7 8 ··· 37 下一页

2021年2月24日

java虚拟机9:Java的内存模型

摘要: 什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此, 阅读全文

posted @ 2021-02-24 14:40 signheart 阅读(86) 评论(0) 推荐(0) 编辑

java虚拟机8:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别

摘要: 内存溢出和内存泄露的区别 1、内存溢出 内存溢出指的是程序在申请内存的时候,没有足够大的空间可以分配了。 2、内存泄露 内存泄露指的是程序在申请内存之后,没有办法释放掉已经申请到内存,它始终占用着内存,即被分配的对象可达但无用。内存泄露一般都是因为内存中有一块很大的对象,但是无法释放。 从定义上可以 阅读全文

posted @ 2021-02-24 14:39 signheart 阅读(160) 评论(0) 推荐(0) 编辑

java虚拟机7:垃圾收集器 基于回收算法理论的实现

摘要: 垃圾收集器 垃圾收集器就是上面讲的理论知识的具体实现了。不同虚拟机所提供的垃圾收集器可能会有很大差别,我们使用的是HotSpot,HotSpot这个虚拟机所包含的所有收集器如图: 上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,那说明它们可以搭配使用。虚拟机所处的区域说明它是属于新 阅读全文

posted @ 2021-02-24 14:38 signheart 阅读(84) 评论(0) 推荐(0) 编辑

java虚拟机5:垃圾回收算法

摘要: 引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep):这是最基础的算法,标记-清除算法就如同它的名字样, 阅读全文

posted @ 2021-02-24 14:37 signheart 阅读(156) 评论(0) 推荐(0) 编辑

java虚拟机6:hotspot 的算法实现

摘要: 1.枚举根节点 2.安全点 3.安全区域 阅读全文

posted @ 2021-02-24 14:35 signheart 阅读(108) 评论(0) 推荐(0) 编辑

java虚拟机3:jvm OutOfMemoryError

摘要: 在JVM中内存一共有3种:Heap(堆内存),Non-Heap(非堆内存) 和Native(本地内存)。 堆内存是运行时分配所有类实例和数组的一块内存区域。非堆内存包含方法区和JVM内部处理或优化所需的内存,存放有类结构(如运行时常量池、字段及方法结构,以及方法和构造函数代码)。本地内存是由操作系统 阅读全文

posted @ 2021-02-24 14:35 signheart 阅读(79) 评论(0) 推荐(0) 编辑

java虚拟机4:jvm GC机制回收 判断对象生死 及 方法区永久代回收条件

摘要: heap堆中存放着几乎所有的对象实例,垃圾收集器在堆堆进行回收前,首先要确定这些对象哪些还“活着”,哪些已经“死去”。方法有如下两种: (1)引用计数法 算法思想:为对象添加一个引用计数器,每当有一个地方引用该对象时,则该引用计数器值加1,;当引用失效时,则该引用计数器值减1;最后,计数器为0的对象 阅读全文

posted @ 2021-02-24 14:35 signheart 阅读(156) 评论(0) 推荐(0) 编辑

java虚拟机2:hotspot 对象探究

摘要: 对象的创建 Java是一门面向对象的编程语言,Java程序运行过程中每时每刻都有对象被创建出来。在语言层面上,创建对象通常(例外:克隆、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(本文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 虚拟机遇到 阅读全文

posted @ 2021-02-24 14:35 signheart 阅读(141) 评论(1) 推荐(0) 编辑

java虚拟机1:JVM内存结构

摘要: 几个计算机的概念为以后写文章考虑,也为巩固自己的知识和一些基本概念,这里要理清楚几个计算机中的概念。1、计算机存储单位从小到大依次为位Bit、字节Byte、千字节KB、兆M、千兆GB、TB,相邻单位之间都是1024倍,1024为2的10次方,即1Byte = 8bit,1K = 1024Byte,1 阅读全文

posted @ 2021-02-24 14:35 signheart 阅读(99) 评论(0) 推荐(0) 编辑

JVM调优总结 -Xms -Xmx -Xmn -Xss

摘要: 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0 阅读全文

posted @ 2021-02-24 14:34 signheart 阅读(326) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 37 下一页

导航