对象已死吗? Java堆几乎存放了所有的对象实例,垃圾回收器在进行回收之前,首先确定的就是哪些对象存活,哪些对象死亡。 可达性分析算法: 由于引用计数算法无法处理“循环引用”的情况,所以主流的商用程序语言(Java、C#等)都是通过可达性分析来判定对象是否存活的。 这个算法的基本思想就是:通过一系列 ...
分类:
其他好文 时间:
2019-09-09 19:05:23
阅读次数:
80
1.概念 1.1什么是GC 垃圾(Garbage)就是程序需要回收的对象,如果一个对象不在被直接或间接地引用,那么这个对象就成为了「垃圾」,它占用的内存需要及时地释放,否则就会引起「内存泄露」。有些语言需要程序员来手动释放内存(回收垃圾),有些语言有垃圾回收机制(GC),例如我正在学习的Java语言 ...
分类:
其他好文 时间:
2019-09-09 14:39:04
阅读次数:
127
一、文件操作 1、操作文件的流程 2、在Python中的文件操作 3、强调 #强调第一点: 打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为: 1、f.close() #回收操作系统级打开的文件 2、del ...
分类:
其他好文 时间:
2019-09-08 22:17:50
阅读次数:
141
Reference:https://time.geekbang.org/column/article/107396 GC算法 JVM提供了不同的回收算法来实现这?套回收机制,通常垃圾收集器的回收算法可以分为以下?种: 如果说收集算法是内存回收的?法论,那么垃圾收集器就是内存回收的具体实现,JDK1. ...
分类:
其他好文 时间:
2019-09-08 20:01:21
阅读次数:
97
基础 1、JVM内存模型和JAVA内存模型JMM 2、Jvm垃圾回收机制 3、Java多线程、线程池及并发包 4、Java锁 5、Java集合 6、Java BIO、NIO 7、Spring源码解析; 8、SpringBoot 存储相关: 1、MySQL 2、Redis 3、MQ 架构相关: 1、分 ...
分类:
编程语言 时间:
2019-09-08 09:33:44
阅读次数:
98
基础数据类型和引用数据类型 js原型链 js继承 原型继承和class继承 call,apply,bind的区别? 闭包,应用场景,优缺点? 垃圾回收?什么算法? 对象遍历 给定一个对象,如何遍历获取里面的属性和值? 数组遍历 如何判断一个变量是不是数组 instanceof原理了解吗? js事件捕... ...
分类:
Web程序 时间:
2019-09-08 09:19:52
阅读次数:
147
class一些内置方法 一、 __getattribute__ class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print('执行的是我') # return self.__dict__[item] f1= ...
分类:
其他好文 时间:
2019-09-07 16:03:05
阅读次数:
116
GC需要完成的三个件: 哪些内存需要回收 ?什么时候回收? 如何回收? java内存运行时区域中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出 而有条不紊的执行着出栈和入栈操作。每一个桢帧中分配多少内存基本上是类结构确定下来就已知的,因此这个区域的内存 ...
分类:
其他好文 时间:
2019-09-07 13:11:22
阅读次数:
92
1.强引用:虚拟机回收时,就算内存不足也不会回收。2.软引用:虚拟机回收时,当内存不足时才回收。(使用时需判断是否为空)适合操作频率不高,想避免OutOfMemory异常的发生。(Bitmap)3.弱引用:虚拟机回收时,只要发现有弱应用即回收。(使用时需判断是否为空)适合操作频率高,想应用有更好的性能。(handler)4.虚引用仅持有虚引用的对象,在任何时候都可能被GC;常用于跟踪对象被GC回收
分类:
编程语言 时间:
2019-09-07 01:00:38
阅读次数:
95
一、实验目的1.理解虚拟内存、磁盘缓存的概念。2.掌握基本的内存管理知识。3.掌握查看实时查看内存、内存回收的方法二、实验内容1. 监控内存使用情况2. 检查和回收内容三、实验平台1.实验工具: Vmware。2. 实验设备: 已安装Red Hat Linux 5.0( 或红旗Linux、 Slac... ...
分类:
系统相关 时间:
2019-09-06 18:44:59
阅读次数:
175