新生代 --复制算法 老年代 --标记压缩清除算法 分代 分区思想 垃圾回收的任务是识别和回收垃圾对象进行内存清理,为了让垃圾回收器可以高效的执行,大部分情况下,会要求系统进入一个停顿的状态。 停顿的目的是终止所有应用线程,只有这样系统才不会有新的垃圾产生,同时停顿保证了系统状态正在某一个瞬间的一致 ...
分类:
编程语言 时间:
2019-01-18 23:15:30
阅读次数:
239
1.计算机一直在演化,64核,128核等等,但是我们依旧在使用为单核设计的技术编程2.Go语言让分享自己的代码包更容易3.Go语言重新思考传统的面向对象,提供了更高效的复用代码手段4.Go不仅提供高性能而且开发更快速5.Go语法简洁,编译速度快,内置并发,自带垃圾回收器6.Go编译器只关注直接被引用 ...
分类:
编程语言 时间:
2019-01-18 19:52:11
阅读次数:
195
《对象搜索算法与回收算法》介绍了垃圾回收的基础算法,相当于垃圾回收的方法论。接下来就详细看看垃圾回收的具体实现。 上文提到过现代的商用虚拟机的都是采用分代收集的,不同的区域用不同的收集器。常用的7种收集器,其适用的范围如图所示 Serial、ParNew、Parallel Scavenge用于新生代 ...
分类:
其他好文 时间:
2019-01-09 18:41:37
阅读次数:
179
1. Java对象分配流程 2. 栈上分配 2.1 本质:Java虚拟机提供的一项优化技术 2.2 基本思想: 将线程私有的对象打散分配在栈上 2.3 优点: 2.3.1 可以在函数调用结束后自行销毁对象,不需要垃圾回收器的介入,有效避免垃圾回收带来的负面影响 2.3.2 栈上分配速度快,提高系统性 ...
分类:
其他好文 时间:
2019-01-08 19:22:52
阅读次数:
181
1.值类型(System.ValueType类)和栈(Stack) System.ValueType--bool、byte、char、decimal、double、enum、float、int、long、sbyte、short、struct、unit、ulong、ushort。 栈是编译期间就分配好 ...
在java中,大致有以下几种引用类型,强引用(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)、虚引用(PhantomReference) 强引用-FinalReference 强引用是平时最常见的,类似诸如 这个a就是强引用类型,最主要的 ...
分类:
其他好文 时间:
2019-01-05 16:43:35
阅读次数:
161
.NET Core 包含以下部分: .NET Core 运行时:提供类型系统、程序集加载、垃圾回收器、本机互操作(简单理解为托管代码对非托管代码的调用)和其他基本服务。.NET Core 框架库提供基本元数据类型、应用编写类型和基本实用程序。 ASP.NET Core 运行时:提供框架以生成基于新式 ...
分类:
Web程序 时间:
2018-12-30 17:26:10
阅读次数:
183
1.垃圾回收器期职责 3.垃圾回收器概念 3.1.垃圾回收器期望的性能 堆太小,容易被填满,垃圾回收搜集的频率高,回收速度快。 堆太大,不容易填满,垃圾回收的频率低,回收速度慢。 3.2.可选的设计方案 1.串行回收器 VS 并行回收器 串行回收器不能更好的利用多核CPU,只能使用一个核. 并行回收 ...
分类:
其他好文 时间:
2018-12-24 02:50:46
阅读次数:
170
明白生产环境中的jvm参数写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了……一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的。比如说:JDK版本是多少?采用何种垃圾回收器?程序启动的时候默认分配堆内存空间是多少?随着程序的运行,程序最多能使用多大的内存空间?程序中使用了多少个线程?这些线程又处于何种状态?了解了这些,会对程序的运行有一个更好的了
分类:
其他好文 时间:
2018-12-20 11:50:26
阅读次数:
217
android 内存泄漏分析指北 简单来说内存泄漏就是当对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用 java 垃圾回收介绍: Java 虚拟机运行所管理的内存包括以下几个运行时的数据区域 如下图: 程序计数器: 一块比较小的内存区域,可以看作是当前线程所执行的字节码的行 ...
分类:
移动开发 时间:
2018-12-10 22:38:13
阅读次数:
292