垃圾收集器 如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现 Serial收集器 串行收集器是最古老,最稳定以及效率高的收集器,可能会产生较长的停顿,只使用一个线程去回收。新生代、老年代使用串行回收;新生代复制算法、老年代标记 压缩;垃圾收集的过程中会Stop The World( ...
分类:
其他好文 时间:
2019-02-10 12:08:35
阅读次数:
216
1、简述python引用计数机制 python垃圾回收主要以引用计数为主,标记-清除和分代清除为辅的机制,其中标记-清除和分代回收主要是为了处理循环引用的难题。 引用计数算法 当有1个变量保存了对象的引用时,此对象的引用计数就会加1 当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3 ...
分类:
编程语言 时间:
2019-02-09 16:27:53
阅读次数:
219
python的垃圾回收机制 一、引子 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存空间给回收掉,而变量名是访问到变量值的唯一方式,所以当一个变量值没有关联任何变量名时,我们就无法再访问到该变量值了,该变量值就是一个垃圾会被pyt ...
分类:
编程语言 时间:
2019-02-07 20:41:49
阅读次数:
206
golang自带内存回收机制 GC。GC通过独立的进程执行,它会搜索不再使用的变量,并释放。需要注意的是,进行GC会占用机器资源。 GC是自动进行的。如果要手动进行GC,可以调用runtime.GC()函数,进行显式GC。 SetFinalizer 一个对象object被GC时,如果需要执行一些特殊 ...
分类:
其他好文 时间:
2019-02-07 18:58:45
阅读次数:
211
要弄懂JVM的垃圾回收,首先要知道我们要回收什么,在哪回收,什么时候回收。 一、JVM内存模型 java虚拟机把内存模型分为了这么几部分 (1)程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。 (2 ...
分类:
其他好文 时间:
2019-02-06 21:20:21
阅读次数:
181
一、Swap 原理 前面提到,Swap 说白了就是把一块磁盘空间或者一个本地文件(以下讲解以磁盘为例),当成内存来使用。它包括换出和换入两个过程 1、所谓换出 就是把进程暂时不用的内存数据存储到磁盘中,并释放这些数据占用的内存。 2、换入 则是在进程再次访问这些内存的时候,把它们从磁盘读到内存中来 ...
分类:
系统相关 时间:
2019-02-06 18:27:19
阅读次数:
291
1.MRC是什么,有什么用? 在苹果开发中,我们是没有垃圾回收机制的。所以在ARC推出之前,我们苹果开发程序员需要通过手动代码的形式尽量严密的管理我们的App的内存; 2.如何运用MRC管理内存? 1)实际关键字: 无论是ARC还是MRC管理内存都涉及到几个关键字符: 使用alloc、new、cop ...
分类:
移动开发 时间:
2019-02-05 22:15:05
阅读次数:
235
一 JVM的内部结构 1.JVM内部分为九大结构,如图: 1)类加载子系统:负责从文件系统或是网络中加载Class信息,加载的信息存放在一块称之为方法去的内存空间。 2)方法区(永久区):用于存放类的信息、常量信息、常量池信息、包括字符串字面量和数字常量等。(反射就是从这里读取类的信息) 3)Jav ...
分类:
其他好文 时间:
2019-02-05 19:31:33
阅读次数:
191
关于至此,我从大一下学习,以及大二上的巩固,这应该是SE部分的最后一章节内容,介绍一下jdk10的新特性 jdk在更新10之后,出现很多新特性,根据我所观看的视频,主要提及以下几点新特性 1.新增var弱类型变量,可作为局部变量(不可作全局) 2.垃圾回收机制变为并行收集,每次jdk更新都会进行优化 ...
分类:
其他好文 时间:
2019-02-05 09:26:03
阅读次数:
199
Math Random 上面的大家有兴趣的可以研究下,我下面主要说下system的方法,这个对于大家学习jvm有很多帮助的 System lang包下的 (public final class System) 包含一些有用的字段和犯法 不能被实例化 Jvm通过gc去运行回收器 肯定是某个方法 这样才 ...
分类:
其他好文 时间:
2019-02-04 22:11:20
阅读次数:
213