本篇是整理蒋金楠对CLR 内存管理的博文,蒋大神的博文中将CLR 的内存分管理分为三个逻辑部分,博文中详细讲述了哪些程序集要加载到系统程序域,哪些要加载到共享程序域,以及我们写的代码会被加载到默认程序域。下面是我整理后的思路,目的是加强一下对CLR 内存管理的概念。 程序集与应用程序域 程序集是一个 ...
分类:
其他好文 时间:
2019-10-18 19:18:43
阅读次数:
96
1、字符编码 1.1 什么是字符编码 计算机只能识别二进制; 则人类的字符到计算机中的数字,必须经历一个过程: 翻译的过程中必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符和数字一一对应的关系 字符编码中的编码指的是翻译或者转换的意思,即将人能理解的字符翻译成计算机能识别的数字 ...
分类:
编程语言 时间:
2019-10-18 17:21:42
阅读次数:
87
真正影响JAVA程序性能的,就是碎片化。碎片是JAVA堆内存中的空闲空间,可能是TLAB剩余空间,也可能是被释放掉的具有较长生命周期的小对象占用的空间。 减少new对象。每次new对象之后,都要开辟新的内存空间。这些对象不被引用之后,还要回收掉。因此,如果最大限度地合理重用对象,或者使用基本数据类型 ...
分类:
编程语言 时间:
2019-10-18 14:12:48
阅读次数:
93
尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让 ...
分类:
编程语言 时间:
2019-10-18 13:58:42
阅读次数:
69
[TOC] python的发展史 起源 Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作 ...
分类:
编程语言 时间:
2019-10-18 12:33:56
阅读次数:
78
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别。这里仅讨论HotSpot虚拟机中的垃圾收集器。垃圾收集器组合HotSpot虚拟机的所有收集器如下:... ...
分类:
其他好文 时间:
2019-10-18 11:10:56
阅读次数:
73
tcmalloc(即Thread-Cache Malloc)是一个通用的内存分配器,使用tcmalloc只需要在编译的链接阶段加入-ltcmalloc,而不是使用glibc(ptmalloc2),不需要有任何的代码改动。也就是说用户在使用malloc/free、new/delete时会使用tcmal... ...
分类:
其他好文 时间:
2019-10-18 11:06:13
阅读次数:
151
原文:[ASP.NET Core 3框架揭秘] 依赖注入:IoC模式 正如我们在《依赖注入:控制反转》提到过的,很多人将IoC理解为一种“面向对象的设计模式”,实际上IoC不仅与面向对象没有必然的联系,它自身甚至算不上是一种设计模式。一般来讲,设计模式提供了一种解决某种具体问题的方案,但是IoC既没... ...
分类:
Web程序 时间:
2019-10-18 09:36:54
阅读次数:
95
日常的开发过程中,经常会有使用到多线程。从而使得程序处理某项任务的效率大大提高。使用多线程的时候,为了更好的把多线程管理、调度起来,从而最大的发挥系统的运算能力。这个时候我们往往选择线程池来对多线程进行管理和协调。
分类:
编程语言 时间:
2019-10-18 09:19:46
阅读次数:
79
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