JVM内存模型 java虚拟机在执行java程序的过程中会把它所管理的内存划分为不同的若干个不同的的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程的启动而存在,有些区域依赖用户线程的启动和结束而创建和销毁,java虚拟机所管理的内存将会包括以下几个运行时数据区域 J ...
分类:
其他好文 时间:
2019-02-13 20:56:53
阅读次数:
201
十一、垃圾回收之老年代垃圾收集器 1.Serial Old收集器(标记整理算法-单线程-Client模式下) 2.Paraller Old收集器(标记整理算法-多线程-) 3.CMS收集器(标记清除算法) 4.G1收集器(新生代,老年代都可以用) ...
分类:
其他好文 时间:
2019-02-12 21:55:34
阅读次数:
228
十二、垃圾回收面试题 1.Object的finalize()方法 2.Java中的强软弱虚四种引用 (1)强引用 (2)软引用(间接引用) (3)弱引用 (4)虚引用 (5)四种引用区别 ...
分类:
其他好文 时间:
2019-02-12 21:28:53
阅读次数:
194
八、垃圾回收标记算法 1.对象被判定成垃圾的标准 没有被其他对象引用 2.判断对象是否为垃圾的算法 (1)引用计数法 优点and缺点 (2)可达性分析算法 ...
分类:
编程语言 时间:
2019-02-12 21:23:33
阅读次数:
204
在阅读Thinking in Java的Containers in depth一章中的Holding references时,提到了一个工具包java.lang.ref,说这是个为Java垃圾回收提供了很大的灵活性的包。 并引出了抽象类Reference还有它的三个子类,书上看了好几次都一脸懵逼…… ...
分类:
其他好文 时间:
2019-02-12 00:00:10
阅读次数:
229
7.1 python变量到底是什么 7.2 ==和is的区别 is 判断是否是同一个对象,id是否相等 7.3 del语句和垃圾回收 7.4 一个经典的错误 为了数据的安全性,使用tuple而不是list类型来存储 - ...
分类:
其他好文 时间:
2019-02-11 23:59:11
阅读次数:
280
垃圾回收(GC) 当一个对象没有任何变量或属性对他进行引用,此时无法操作该对象就成了垃圾,会占用大量的内存空间,必须进行清理 JS中拥有自动垃圾回收机制,会将这些垃圾对象从内存中销毁,我们不需要也不能进行垃圾回收的操作 将不再使用的对象设置为null。 var obj = n ...
分类:
编程语言 时间:
2019-02-11 20:16:22
阅读次数:
178
gc是java区别于其他好几门语言(c/c++)的一个代表功能(当然也有很多可以自动管理内存的语言,如所有的脚本语言,你根本不知道内存管理这回事)! 当然,之所以要把c/c++和java相比,是因为java出现的初衷即是对标c++的缺点的。不管怎么样,gc让程序员gg们不用痛苦地管理内存,这是好事! ...
分类:
编程语言 时间:
2019-02-11 20:03:17
阅读次数:
214
一、虚拟机参数配置 1、Java堆参数设置 a)下面是一些简单的使用参数 其中最后一个是一个运行时参数设置的简单实例。一般-XX是系统级别的配置(日志信息,或者是配置使用什么样的垃圾回收器等等),后面跟上+表示启用。不是-XX基本上是对于应用层面的配置信息 下面是一个简单的实例:表示设置初始堆大小为 ...
分类:
编程语言 时间:
2019-02-11 18:32:53
阅读次数:
247
垃圾收集算法 Mark Sweep(标记 清除算法) 标记清除算法分为两个阶段,标记阶段和清除阶段。标记阶段任务是标记出所有需要回收的对象,清除阶段就是清除被标记对象的空间。 优缺点:实现简单,容易产生内存碎片。因为会存在大量的空间碎片,因为回收后的空间是不连续的,这样给大对象分配内存的时候可能会提 ...
分类:
编程语言 时间:
2019-02-10 12:21:38
阅读次数:
214