在前面,我们已经了解了JVM的分代收集,知道JVM垃圾收集在新生代主要采用标记-复制算法,在老年代主要采用标记-清除和标记-整理算法。接下来,我们看一看JDK默认虚拟机HotSpot的一些垃圾收集器的实现。 1、常见垃圾回收器 首先来看一下JDK 11之前全部可用的垃圾收集器。 图中列出了七种垃圾收 ...
分类:
其他好文 时间:
2021-03-31 12:31:26
阅读次数:
0
1、引用类型 java.lang.ref整体包结构 类型 对应类 特征 强引用 强引用的对象绝对不会被gc回收 软引用 SoftReference 如果物理内存充足则不会被gc回收,如果物理内存不充足则会被gc回收。 弱引用 WeakReference 一旦被gc扫描到则会被回收 虚引用 Phant ...
分类:
编程语言 时间:
2021-03-30 13:48:45
阅读次数:
0
初始赋值, 表明要赋值的对象为null 内存回收 示例代码如下: // 对象初始化 var obj = null // 动态赋值 obj = { 'name': 'xyz', 'age': 18 } // 内存回收 obj = null console.log(obj) ...
分类:
Web程序 时间:
2021-03-30 13:40:20
阅读次数:
0
java.io流的基本常用类 Java.io包下面的类主要是对文件的操作 包括File,inputStream,OutputStream,Reader和Writer及其子类。 1. FLie类 File类常用构造函数: String parentPath = "C:\\Users\\Administ ...
分类:
编程语言 时间:
2021-03-30 12:49:11
阅读次数:
0
C++三种管理数据内存的方式:自动存储,静态存储,动态存储 自动存储:自动变量的持久性为自动的,在程序开始执行其所属的函数后者代码块时创建,执行后释放 静态存储:在程序整个运行期间都存在。(外部链接性,内部链接性,无链接性) 内存泄漏问题:被分配的内存再也不能使用,也无法回收(new和delete使 ...
分类:
编程语言 时间:
2021-03-17 14:37:09
阅读次数:
0
主要针对C面向对象编程技术做详细讲解,探讨C中的核心和精髓。 1.内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等 堆区:由程序员分配和释 ...
分类:
编程语言 时间:
2021-03-09 13:17:24
阅读次数:
0
win键++/—号键(放大缩小视图比例) 2.win键+R键(打开运行窗口)然后输入(psr.exe)就可以快速录屏了 输入(recent)就可以打开电脑打开的日期了,可以查看打开哪些文件了 3.win+D键(快速返回桌面) 4.SHIFT+Del键(永久的删除文件,不会出现在回收站那) 5.Ctr ...
分类:
其他好文 时间:
2021-03-04 13:33:38
阅读次数:
0
1. JVM的体系结构 其中栈区由于函数返回后就会出栈,因此不会存在垃圾回收。垃圾回收主要针对的是堆区的回收。 JNI:Java Native Interface,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。 2. 类加载器 类的生命周期 类的加载过程详细参考Class文件 ...
分类:
其他好文 时间:
2021-03-02 12:30:06
阅读次数:
0
前言 Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的生产力得到了释放,但是 ...
分类:
编程语言 时间:
2021-03-01 14:04:44
阅读次数:
0
Python垃圾回收 基于C语言源码底层,让你真正了解垃圾回收机制的实现 引用计数器 标记清除 分代回收 缓存机制 Python的C源码(3.8.2版本) 1.引用计数器 1.1环状双向链表 refchain 在python中创建的任何对象都会放在refchain链表中 name = 'jack' ...
分类:
编程语言 时间:
2021-02-26 13:06:33
阅读次数:
0