1、标记清除法(Mark And Sweep) 第一步:从根部出发,遍历全局,然后对所有可达的对象进行标记 第二步:对所有未标记的对象进行清除 优点:方法简单,速度较快。缺点:容易产生较多的内存碎片。 采用这种方式的语言:lua等 2、标记整理回收(mark-compact) 第一步和标记清除法一样 ...
分类:
其他好文 时间:
2018-08-18 13:22:12
阅读次数:
129
一个处理器,在不断地分配和释放内存的过程中,一整块连续的内存被分散为很多离散的小块内存, 这些叫做内存碎片, 内存碎片过多会导致内存的浪费。 uC/OS 的内存管理机制就是为了尽量减少内存碎片。大致的思路是一次性取出一个较大 的内存分区,把这个内存分区分成若干个内存块,然后将内存块逐个串成单向链表。 ...
分类:
其他好文 时间:
2018-08-09 20:07:20
阅读次数:
217
hashcode:对象的初始地址的整数表示 Java中的对象是JVM在管理,JVM会在她认为合适的时候对对象进行移动,比如,在某些需要整理内存碎片的GC算法下发生的GC。此时,对象的地址会变动,但hashcode不会改变。 1.hashCode是为了提高在散列结构存储中查找的效率,在线性表中没有作用 ...
分类:
其他好文 时间:
2018-08-09 14:05:21
阅读次数:
99
前言 接下来要学习安卓的漏洞利用相关的知识了,网上搜了搜,有大神推荐 系列的漏洞。于是开干,本文分析的是 的 . 本文介绍的漏洞是 , 在 的博客上也有对该 的研究。 我之前下载下来了: 的链接: "在这里" 的链接: https://www.exploit db.com/exploits/3822 ...
分类:
其他好文 时间:
2018-08-04 00:06:55
阅读次数:
225
两类缓存服务器:1.代理式缓存服务器;proxy-likecacheserver;2.旁挂式缓存服务器;bypasscacheserver;缓存服务器也可以根据缓存数据内容分类:1.数据缓存;datacache2.页面缓存;pagecache数据存在访问热区,指被经常访问的数据。缓存的实质是:用空间换时间;缓存的局部性特征:空间局部性和时间局部性:缓存的时效性:过期清理:PURGE,修剪;未过期但
分类:
系统相关 时间:
2018-08-03 20:45:23
阅读次数:
331
找到了 "垃圾" 对象,如何标记 "垃圾" 对象? 标记-清除算法 先标记所有需要回收的对象,标记完成后统一回收被标记了的对象。(最基础的算法,其它算法在这个算法基础上改进的) 缺点:标记和清除的效率不高,标记和清除后会产生大量的内存碎片(空间问题) 复制算法 将内存按容量划分两块大小相等的内存块, ...
分类:
编程语言 时间:
2018-07-25 17:42:09
阅读次数:
133
JVM ---------- java virtual machine. java runtime data area . 1.method area 方法区 共享 2.java stack 栈区, 线程 非共享 压入stack frame(method frame... ...
分类:
编程语言 时间:
2018-06-25 17:52:30
阅读次数:
195
本文分析线性表的链式存储结构,1)实现了单链表并对比了顺寻存储结构和链式存储结构的优缺点,给处理工程建议;2)为了解决了单链表频繁申请释放内存产生大量内存碎片、导致系统运行缓慢的问题,实现了静态单链表,在指定内存空间创建链表对象;3)最后还实习那了单向循环链表。
分类:
其他好文 时间:
2018-06-21 21:06:18
阅读次数:
193
声明:源码同《STL源码剖析》(侯捷) STL: C++标准的模板库,通用性高。 常见的数据结构封装。 提供常用的通用算法。 STL六大组件: 容器 算法 迭代器 仿函数(函数对象) 适配器 配置器 空间配置器的作用: 1.提高代码复用率,功能模块化。 2.减少内存碎片问题。 比如我们list是链式 ...
分类:
编程语言 时间:
2018-06-18 18:23:39
阅读次数:
259
1.FSM(Finite State Machine) 2.public class AgentAction : System.Object {//数据类} 3.AgentAction要使用缓存,不然会造成内存碎片。静态类实现缓存吧 4. DefaultAnimState = AnimStates[ ...
分类:
其他好文 时间:
2018-06-05 21:50:39
阅读次数:
197