Shenandoah 垃圾回收器是 Red Hat 在 2014 年宣布进行的一项垃圾收集器研究项目 Pauseless GC 的实现,旨在针对 JVM 上的内存收回实现低停顿的需求。该设计将与应用程序线程并发,通过交换 CPU 并发周期和空间以改善停顿时间,使得垃圾回收器执行线程能够在 Java ...
分类:
编程语言 时间:
2019-10-19 21:06:12
阅读次数:
109
整体结构 java提供了4中引用类型,在垃圾回收的时候,都有自己的各自特点。 为什么要区分这么多引用呢,其实这和Java的GC有密切关系。 强引用(默认支持模式) 把一个对象赋给一个引用变量,这个引用变量就是一个强引用。 强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还活 ...
分类:
编程语言 时间:
2019-10-19 11:34:44
阅读次数:
104
python中垃圾回收 以引用计数为主,但解决不了循环引用,以隔代回收为辅 这和链表有些类似: ...
分类:
编程语言 时间:
2019-10-19 09:34:15
阅读次数:
71
[TOC] Python的垃圾回收机制是以:引用计数器为主,标记清除和分代回收为辅。 1. 引用计数器 每个对象内部都维护了一个值,该值记录这此对象被引用的次数,如果次数为0,则Python垃圾回收机制会自动清除此对象。下图是Python源码中引用计数器存储的代码。 引用计数器的获取及代码示例: 2 ...
分类:
其他好文 时间:
2019-10-18 22:28:11
阅读次数:
94
本篇是整理蒋金楠对CLR 内存管理的博文,蒋大神的博文中将CLR 的内存分管理分为三个逻辑部分,博文中详细讲述了哪些程序集要加载到系统程序域,哪些要加载到共享程序域,以及我们写的代码会被加载到默认程序域。下面是我整理后的思路,目的是加强一下对CLR 内存管理的概念。 程序集与应用程序域 程序集是一个 ...
分类:
其他好文 时间:
2019-10-18 19:18:43
阅读次数:
96
1、字符编码 1.1 什么是字符编码 计算机只能识别二进制; 则人类的字符到计算机中的数字,必须经历一个过程: 翻译的过程中必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符和数字一一对应的关系 字符编码中的编码指的是翻译或者转换的意思,即将人能理解的字符翻译成计算机能识别的数字 ...
分类:
编程语言 时间:
2019-10-18 17:21:42
阅读次数:
87
尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让 ...
分类:
编程语言 时间:
2019-10-18 13:58:42
阅读次数:
69
1. 正则表达式 (1) 就是符合一定规则的字符串 (2) 常见规则 A:字符 x 字符 x。举例:'a'表示字符a \\ 反斜线字符。 \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a ...
分类:
编程语言 时间:
2019-10-17 23:36:52
阅读次数:
115
垃圾回收机制 引用计数 循环导入 标记删除 分代回收 ...
分类:
编程语言 时间:
2019-10-17 20:26:03
阅读次数:
97
一、哪些内存可以回收 JVM 的内存区域中,程序计数器、虚拟机栈和本地方法栈这 3 个区域是线程私有的,随着线程的创建而创建,销毁而销毁,因此不用回收。 垃圾回收的重点就是关注堆和方法区中的内存了,堆中的回收主要是对象的回收,方法区的回收主要是废弃常量和无用的类的回收。 二、什么时候可以被回收 一般 ...
分类:
编程语言 时间:
2019-10-17 01:31:18
阅读次数:
114