Set接口及源码分析
[#](#一-set接口的特点) (一)Set接口的特点 {#一-set接口的特点} ------------------------------------------ `A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 a...
[#](#一-set接口的特点) (一)Set接口的特点 {#一-set接口的特点} ------------------------------------------ `A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 a...
Map中用到最多的是HashMap,有关HashMap的介绍和底层源码的分析可以看我之前的文章。 HashMap有个很致命的问题就是他并非线程安全,因此在多线程环境下使用HashMap会出现问题,HashTable线程安全,但是它的效率太低了,ConcurrentHashMap就出现了,ConcurrentHashMap兼顾了线程安全和速度,下面就从底层源码出发来了解一下Co...
[#](#一-list接口的概述) (一)List接口的概述 {#一-list接口的概述} --------------------------------------------- 在前面我们讲完了Collection的特点和使用,接下来就开始讲Collection的子接口和实现类,List具有以下两个特点: 1. 有序(不是指按数值大小有序排列,而是指插入和取出的顺序是...
[#](#一-map方法概述) (一)Map方法概述 {#一-map方法概述} --------------------------------------- 首先先看一下官方对Map接口的解释,《Java Platform SE 8》: `An object that maps keys to values. A map cannot contain duplicate ...
[#](#一-jvm分代) (一)JVM分代 {#一-jvm分代} --------------------------------- 堆内存是JAVA虚拟机所管理的内存最大的一块,Java堆被所有线程共享,几乎所有的对象实例都是在堆中分配内存,因此Java的堆是垃圾回收的主要区域。 JVM的内存分代讲的就是堆内存的分代,为了更加高效的回收垃圾,将内存划分为了多个gener...
[#](#一-关于垃圾回收) (一)关于垃圾回收 {#一-关于垃圾回收} ------------------------------------ JAVA的垃圾回收需要完成三件事情: 1、哪些内存需要回收 2、什么时候回收 3、如何回收 下面就从这三个问题出发去了解Java的垃圾回收机制。 [#](#二-哪些垃圾需要回收) (二)哪些垃圾需要回收 {#二-哪些垃圾...
[#](#一-基础概念介绍) (一)基础概念介绍 {#一-基础概念介绍} ------------------------------------ 首先看一张图:下图是Java虚拟机运行时数据区,JVM的内存模型可以分为方法区、虚拟机栈、本地方法栈、堆和程序计数器。 ![](http://static.51tbox.com/static/2024-10-27/col/d55...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 如果说垃圾收集算法是内存回收的理论,那么垃圾收集器就是内存回收的具体实现。 垃圾收集器目前存在的有很多,但是依旧没有哪个收集器是万能的存在,我们只能选择一个最适合应用的收集器。 下面会介绍目前主流Java虚拟机中所采用的七种垃圾收集器: Serial、parNew、Para...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 我们都知道Java代码会被编译成class文件,在class文件中描述了该类的各种信息,class类最终需要被加载到虚拟机中才能运行和使用。 虚拟机把Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成虚拟机可以直接使用的Java类型,这就是虚拟机的类加载机...
[#](#一-cms垃圾收集器) (一)CMS垃圾收集器 {#一-cms垃圾收集器} ------------------------------------------ CMS(Concurrent Mark Sweep)收集器是一种以获取**最短回收停顿时间**为目标的老年代收集器。CMS是基于标记-清除算法的老年代垃圾回收器,CMS是目前应用最广泛的老年代垃圾回收器。 ...