1. OOM && SOF OutOfMemoryError异常: 除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能, 内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。 内 ...
分类:
其他好文 时间:
2019-08-14 14:19:23
阅读次数:
129
CMS全称 Concurrent Mark Sweep,是一款并发的、使用标记-清除算法的垃圾回收器~
分类:
其他好文 时间:
2019-08-09 01:32:14
阅读次数:
86
垃圾收集器 判断对象是否需存活 回收堆 判断对象是否存活: 方法一:引用计数法。对象被引用一次就+1,当为0时回收对象。缺点:无法解决循环引用问题。 方法二:可达性分析算法。记录当前对象是否有和GC Roots中对象的引用链。(其中,可以作为GCRoots对象的有:虚拟机栈中引用的对象、方法去中类静 ...
分类:
其他好文 时间:
2019-07-27 15:43:26
阅读次数:
119
数组的map()方法用于遍历数组,每遍历一个元素就调用回调方法一次,并将回调函数的返回结果作为新数组的元素,被遍历的数组不会被改变。 语法:let newAarray = arr.map(function callback(currentValue, index, array) { // Retur ...
分类:
编程语言 时间:
2019-07-23 11:27:43
阅读次数:
158
Java虚拟机采用可达性分析算法来判断对象是否可以回收。可达性分析算法通过一系列的GC Roots对象作为起始点,向下搜索走过的路径称引用链,当一个对象到GC Roots没有任何的引用链时,证明对象是不可用的。 Java中,可作为GC Roots的对象: 虚拟机栈中引用的对象 ...
分类:
编程语言 时间:
2019-07-21 01:44:57
阅读次数:
113
概述 在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其它几个运行区域都有发生OOM异常的可能,下面我们模拟几个异常发生的场景。 Java堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且把保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数 ...
分类:
其他好文 时间:
2019-07-03 20:17:30
阅读次数:
153
准备两台机器192.168.204.128salt-master192.168.204.127salt-minionSaltStack使用python开发,非常简单易用和轻量级的管理工具;采用C/S模式,由master和Minion构成,通过ZeroMQ进行通信,速度非常快。ZeroMQ是一种基于消息队列的多线程高性能通讯库。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行
分类:
其他好文 时间:
2019-06-25 09:33:05
阅读次数:
93
一.如何判断对象已经死亡 1.引用计数 无法处理循环引用的情况 2.可达性分析 目前主流实现方式。 原理: 从GC Roots对象作为起点开始查询,如果有引用链说明对象存活,反之就是已经死亡。 GC Roots对象: (1)栈(栈帧)中引用的对象。 (2) 方法区中类静态变量引用的对象。 (3)方法 ...
分类:
其他好文 时间:
2019-06-23 20:42:11
阅读次数:
106
什么时候回收对象 引用计数法 1、原理:为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。 2、缺点:无法解决循环引用问题 可达性分析 1、原理:以 GC Roots 为起始点进行搜索,可达的对象都是存活的,不可达的对象可被回收。 2 ...
分类:
其他好文 时间:
2019-06-15 16:05:06
阅读次数:
112
Vuex 模块化 (2.0) Vuex 强调使用单一状态树,即在一个项目里只有一个 store,这个 store 集中管理了项目中所有的数据以及对数据的操作行为。但是这样带来的问题是 store 可能会非常臃肿庞大不易维护,所以就需要对状态树进行模块化的拆分。 首先贴出一个逻辑比较复杂的H5项目:源 ...
分类:
其他好文 时间:
2019-06-11 01:10:34
阅读次数:
106