文章简介 ThreadLocal应该都比较熟悉,这篇文章会基于ThreadLocal的应用以及实现原理做一个全面的分析 内容导航 什么是ThreadLocal ThreadLocal的使用 分析ThreadLocal的实现原理 ThreadLocal的应用场景及问题 什么是ThreadLocal T ...
分类:
其他好文 时间:
2018-12-14 10:21:13
阅读次数:
211
1.面向对象和面向过程的区别面向过程优点:性能比面向对象要高,因为类的实例化需要消耗大量的资源,通常用在嵌入式系统开发中缺点:代码量太大,难维护,难扩展面向对象优点易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护缺点性能低于面向对象程序2.Java语言的特点简单、易学跨平台面向对象分布式健壮性支持多线程支持网络编程支持编译和解释3
分类:
编程语言 时间:
2018-12-11 17:23:02
阅读次数:
236
GC算法:实现 上面我们介绍了GC算法中的核心概念,接下来我们看一下JVM里的具体实现。首先必须了解的一个重要的事实是:对于大部分的JVM来说,两种不同的GC算法是必须的,一个是清理Young Generation的算法,另一种是清理Old Generation的算法。 在JVM里有各种各样的这种内 ...
分类:
编程语言 时间:
2018-12-09 21:30:37
阅读次数:
304
前言 垃圾收集器作为内存回收的具体表现,Java虚拟机规范并未对垃圾收集器的实现做规定,因而不同版本的虚拟机有很大区别,因而我们在这里主要讨论基于Sun HotSpot虚拟机1.6版本Update22,此虚拟机包含的收集器如下所示: 如图展示了7种作用于不同分代的收集器,若两个收集器之间存在连线,说 ...
分类:
其他好文 时间:
2018-12-09 14:15:52
阅读次数:
178
前言 很多人将垃圾收集(Garbage Collection)视为Java的伴生产物,实际1960年诞生的Lisp是第一门真正使用内存动态分配与垃圾手机技术的语言。在目前看来,内存的动态分配与内存回收已经相当成熟,但了解GC与内存分配还是非常有必要的,当排查内存溢出、内存泄漏问题,当垃圾手机称为系统 ...
分类:
其他好文 时间:
2018-12-09 14:07:49
阅读次数:
189
一. 什么是GC Java与C语言相比的一个优势是,可以通过自己的JVM自动分配和回收内存空间。 垃圾回收机制是由垃圾收集器Garbage Collection来实现的,GC是后台一个低优先级的守护进程。在内存中低到一定限度时才会自动运行,因此垃圾回收的时间是不确定的。 为何要这样设计:因为GC也要 ...
分类:
其他好文 时间:
2018-12-09 00:32:28
阅读次数:
197
此文已由作者赵计刚薪授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 说明:垃圾回收算法是理论,垃圾收集器是回收算法的实现,关于回收算法,见《第四章 JVM垃圾回收算法》 1、七种垃圾收集器 Serial(串行GC)-- 复制ParNew(并行GC)-- 复制Parallel ...
分类:
其他好文 时间:
2018-12-06 20:41:50
阅读次数:
264
此文已由作者赵计刚薪授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 说明:垃圾回收算法是理论,垃圾收集器是回收算法的实现,关于回收算法,见《第四章 JVM垃圾回收算法》 1、七种垃圾收集器 Serial(串行GC)-- 复制ParNew(并行GC)-- 复制Parallel ...
分类:
其他好文 时间:
2018-12-06 20:31:55
阅读次数:
188
内存规整 堆中的内存空间是否是规整的(连续的),由JVM垃圾收集器所采用的垃圾回收算法决定,如果垃圾回收算法是带有压缩算法的,则为连续的、规整的,如果垃圾回收算法是标记 清除算法(例如CMS收集器),则内存是不连续的、不规整的。 内存空间规整与否,决定这内存的分配方式。 内存分配方式 指针碰撞 内存 ...
分类:
其他好文 时间:
2018-12-05 21:54:34
阅读次数:
223
Serial、ParNew、Parallel Scavenge用于新生代; CMS、Serial Old、Paralled Old用于老年代。并且他们相互之间以相对固定的组合使用(具体组合关系如上图)。G1是一个独立的收集器不依赖其他6种收集器。ZGC是目前JDK 11的实验收集器。
分类:
其他好文 时间:
2018-12-03 20:16:48
阅读次数:
205