Wesley13 Wesley13
2年前
java 强引用,软引用,弱引用,虚引用
强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。我们平常使用的大多数是强引用。软引用(SoftReference)如果
Wesley13 Wesley13
2年前
CIL锁,GIL与线程池的区别,进程池和线程池,同步与异步
一.GIL锁什么是GIL?全局解释器锁,是加在解释器上的互斥锁GC是python自带的内存管理机制,GC的工作原理:python中的内存管理使用的是应用计数,每个数会被加上一个整型的计数器,表示这个数据被引用的次数,当这个整数变为0时则表示该数据已经没有人使用,成为了垃圾数据,当内存占用达到某个阈值,GC会将其他线程挂起,然后执行垃圾清理操作,垃圾
Easter79 Easter79
2年前
Swift专题讲解十六——ARC在Swift中的应用
Swift专题讲解十六——ARC在Swift中的应用一、引言      ARC(自动引用计数)是ObjectiveC和Swift中用于解决内存管理问题的方案。在学习ObjectiveC编程时经常会学习到一个关于ARC的例子:在一个公用的图书馆中,每次进入一人就将卡插入,走的时候将自
Stella981 Stella981
2年前
Redis5.0之后的内存策略
前言:这八种算法是基于redis5.0版之后的,他新增了新增allkeyslfu,volatilelfu这两种算法,也就是多了LFU算法,而LFU与LRU算法不同在于;LRU是淘汰最近最长时间未使用的页面进行淘汰,而LFU是要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,
Stella981 Stella981
2年前
CountDownLatch 计数栓
import java.util.concurrent.CountDownLatch;/  Created by zyBourn on 15/12/25. /public class Entity {    public static void main(String args)
Stella981 Stella981
2年前
Rust编程进阶:035、Rc智能指针介绍
Rc<T,引用计数器,用来记录一个值是否被使用,如果计数为零可清除。适用于堆中数据需要被程序多部分使用,但编译时不能确定谁最后完成。大部分情况下所有权是非常明确的:可以准确的知道哪个变量拥有某个值。然而,有些情况单个值可能会有多个所有者。例如,在图数据结构中,多个边可能指向相同的结点,而这个结点从概念上讲为所有指向它的边所拥有。结点直到没有任何边指
Stella981 Stella981
2年前
Python C 扩展的引用计数问题探讨
PythonGC机制对于Python这种高级语言来说,开发者不需要自己管理和维护内存。Python采用了引用计数机制为主,标记清除和分代收集两种机制为辅的垃圾回收机制。首先,需要搞清楚变量和对象的关系:变量:通过变量指针引用对象。变量指针指向具体对象的内存空间,取对象的值。对象,类型已知,每个对象都包
Stella981 Stella981
2年前
Python 的可变类型与不可变类型(即为什么函数默认参数要用元组而非列表)
Python的内建标准类型有一种分类标准是分为可变类型与不可变类型:可变类型:列表、字典不可变类型:数字、字符串、元组因为变量保存的实际都是对象的引用,所以在给一个不可变类型(比如int)的变量a赋新值的时候,你实际上是在内存中新建了一个对象,并将a指向这个新的对象,然后将原对象的引用计数–1.比如下面的示例:
Stella981 Stella981
2年前
Python垃圾回收机制
对于Python垃圾回收机制主要有三个,首先是使用引用计数来跟踪和回收垃圾,为了解决循环引用问题,就采用标记清除的方法,标记清除的方法所带来的额外操作实际上与系统中总的内存块的总数是相关的,当需要回收的内存块越多,垃圾检查带来的额外操作就越多,为了提高垃圾收集的效率,采用“空间换时间的策略”,即使用分代机制,对于长时间没有被回收的内存就
Wesley13 Wesley13
2年前
PHP内核探索:写时复制COW机制
写时复制(CopyonWrite,也缩写为COW),顾名思义,就是在写入时才真正复制一份内存进行修改。COW最早应用在\nix系统中对线程与内存使用的优化,后面广泛的被使用在各种编程语言中,如C的STL等。在PHP内核中,COW也是主要的内存优化手段。在前面关于变量和内存的讨论中,引用计数对变量的销毁与回收中起着至关重要的标识作用。引用计数