本文主要是为了梳理JS垃圾回收机制所写,阐述了JS垃圾回收机制的原理以及标记无用变量的策略(引用计数和标记清除),希望也能给小伙伴带来帮助,梳理自己的知识体系。 ...
分类:
编程语言 时间:
2020-06-17 23:23:01
阅读次数:
63
#介绍 ##1. 缓存产品介绍 Memcached(一般大公司会做二次开发再使用) Redis Tair(淘宝所使用的缓存产品,基于Memcache进行二次开发诞生的产品) ##2. Redis功能介绍 数据类型丰富(也就是存储结构不一样) (笔试、面试) 支持持久化 (笔试、面试) 多种内存分配及 ...
分类:
其他好文 时间:
2020-06-17 20:23:58
阅读次数:
44
#JVM内存溢出1、堆内存溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证GCRoots到对象之间有可达路径来避免垃圾收集回收机制清除这些对象,当这些对象所占空间超过最大堆容量时,就会产生OutOfMemoryError的异常。堆内存异常示例如下:/**设置最大堆最小堆:-Xms20m-Xmx20m运行时,不断在堆中创建OOMObject类的实例对象,且while执行结束之前,G
分类:
其他好文 时间:
2020-06-17 16:46:28
阅读次数:
59
1. 什么是ThreadLocal? 多线程在访问同一个共享变量操作时,尤其是写入操作时,为了保证线程安全,都会做一些额外的同步措施。ThreadLocal提供了另一种不靠加锁就能保证线程安全的方式。ThreadLocal是JDK包提供的,它提供线程本地变量,如果创建一个ThreadLocal变量, ...
分类:
其他好文 时间:
2020-06-17 13:11:58
阅读次数:
58
逃逸分析是golang编译器分析一个对象到底应该放到堆内存上,还是栈内存上(引用了他人的文章) 为何要做逃逸分析 因为对一个程序来说,使用栈内存还是堆内存他们的效率差别很大。 栈内存: 操作系统管理内存的分配和释放,不用golang的垃圾回收操心 内存的存储结构类似于数据结构中的栈,读写位置都在栈顶 ...
分类:
其他好文 时间:
2020-06-16 18:16:57
阅读次数:
48
简介 TaurusDB是一种基于MySQL的计算与存储分离架构的云原生数据库,一个集群中包含多个存储几点,每个存储节点包含多块磁盘,每块磁盘对应一个或者多个slicestore的内存逻辑结构来管理. 在taurus的slicestore中将数据划为多个slice进行管理,每个slice的大小是10G ...
分类:
其他好文 时间:
2020-06-16 14:48:28
阅读次数:
45
Java专题二十二:垃圾回收(GC) 22.1. 垃圾回收算法 22.1.1. 复制算法 复制算法将内存按容量划分为大小相等的两块,每次只使用其中的一块,当这一块内存用完了,就将还存活着的对象复制到另一块上面,然后再把已经使用过的内存空间一次清理掉 22.1.2. 标记-清除算法 标记-清除算法将垃 ...
分类:
编程语言 时间:
2020-06-15 17:25:41
阅读次数:
53
iOS中野指针问题叙述 野指针就是指向一个已删除的对象或者受限内存区域的指针。我们写C++的时候强调指针初始化为NULL,强调用完后也为其赋值为NULL,谁分配的谁回收,来避免野指针的问题。比较常见的就是这个指针指向的内存,在别处被回收了,但是这个指针不知道,依然还指向这块内存。MRC 时代因为引用 ...
分类:
移动开发 时间:
2020-06-15 13:50:49
阅读次数:
91
目录 一.介绍 二.问题提出 2.1内存原理图 2.2几个问题 三.回答问题 3.1为什么会出现内存泄漏 3.2若Entry使用弱引用 3.3弱引用配合自动回收 四.总结 一.介绍 之前使用ThreadLocal的时候,就听过ThreadLocal怎么怎么的可能会出现内存泄漏,具体原因也没去深究,就 ...
分类:
其他好文 时间:
2020-06-15 12:02:05
阅读次数:
100
总所周知,Java中垃圾是由JVM自动回收,而不需要程序员自己动手,这样编码难度确实降低了,但是其回收的性能成为问题 1.什么是垃圾 没有任何引用指向的一个对象或者多个对象(循环引用)会被JVM认为是垃圾 2.如何定位垃圾 1.引用计数法(单个对象):引用的增加和减少都被记录,而引用为0的时候,就认 ...
分类:
编程语言 时间:
2020-06-14 20:32:54
阅读次数:
68