GC垃圾收集算法 堆空间 分代: 年轻代: Eden区: 对象创建的区域: gc最频繁,99%的对象都是在这里创建和销毁的,经过一次youngGC,Eden区基本就空了 Survival区: from: 经过一次youngGC,Eden和to区还存活的对象放入from区, from和to区角色互换 ...
分类:
编程语言 时间:
2020-05-14 19:39:29
阅读次数:
73
(本文中的全部观点,仅代表个人观点)主线程、用户线程、守护线程的区分:主线程:一个进程只有一个主线程(Main),其他都是子线程。(重点:个人认为主线程也是用户线程!!!)用户线程:非守护线程(这个解释有点......废话)守护线程:与系统,程序共存亡的线程就是守护线程。最常见的就是GC垃圾回收器。... ...
分类:
编程语言 时间:
2020-05-14 15:46:12
阅读次数:
65
内存分区模型 C++程序在执行时,将内存大方向划分为 4个区域 代码区:存放函数体的二进制代码(0,1),由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存 ...
分类:
编程语言 时间:
2020-05-14 15:37:00
阅读次数:
61
1:复制算法 将内存平均分为两份:A和B。当A部分内存使用完了,将A部分内存中还在使用的对象copy到B部分内存中,然后清空A部分内存。以此类推... 这种算法缺点是内存利用率只用50%;2:标记-清除算法 先标记所有要回收的对象,然后在清除所有标记好的对象;这种算法的缺点是会有大量的不连续内存碎片... ...
分类:
编程语言 时间:
2020-05-14 15:07:30
阅读次数:
56
垃圾回收算法: 标记-清除法:当发现需要回收的内容时,标记并直接清除。 缺点:需要遍历全堆,复杂度高,并且会带来内存碎片等问题 标记-整理法:将不需要回收的内容标记并整理到一起,然后清除剩下的部分 优缺点:没有内存碎片问题;但是如果存活的多,会产生多次搬运,降低效率。 复制法:将内存分两块,每次将存 ...
分类:
其他好文 时间:
2020-05-14 11:05:38
阅读次数:
63
1.内存的增长主要在binary上 1.binary有两处存储位置 --1. size <= 64 字节(bytes)时,存储在进程的单独heap中,bianry叫做Heap-binary。 --2. size > 64 字节(bytes)时,存储在虚拟机分配出来的单独heap中,bianry叫做R ...
分类:
其他好文 时间:
2020-05-14 10:48:28
阅读次数:
76
标记 清除算法 “标记 清除”算法是最基础的垃圾收集算法,如同它的名字一样,算法的工作过程可以分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,然后统一回收所有被标记的对象。 标记待回收对象:使用可达性分析算法筛选出所有没有可达链的对象。若对象覆盖了finalize方法且虚拟机还没有调用 ...
分类:
编程语言 时间:
2020-05-14 01:14:23
阅读次数:
61
# 事件## 一、事件的介绍1. 事件的组成- 事件源:obox,绑定事件的元素。注意:事件目标,不是任何时候都等同于事件源。一般情况下是一个。- 绑定事件的方式:on,赋值式绑定- 事件类型:click,行为方式- 赋值:= ,赋值式绑定事件的标志之一- 事件处理函数:function(){con ...
分类:
其他好文 时间:
2020-05-14 01:04:37
阅读次数:
88
HTMLElement.prototype.appendHTML = function(html) { var divTemp = document.createElement("div"), nodes = null // 文档片段,一次性append,提高性能 , fragment = docu ...
分类:
Web程序 时间:
2020-05-13 18:35:23
阅读次数:
69
文章链接:https://www.jianshu.com/p/1e375fb40506 Garbage collection(GC) 现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可以任意申请内存,但如同一把双刃剑,为大 ...
分类:
编程语言 时间:
2020-05-12 21:59:35
阅读次数:
101