JDK源码阅读
火云咩哈哈
希望跟大家分享的同时我们一起进步!
展开
-
ArrayList在执行remove方法时遇到的问题
关于ArrayList删除操作中遇到的一个问题代码是(略去类和main函数,只上核心代码):List list = new ArrayList<>(); for(int i =0 ;i<10;i++){ list.add(i); } for(int i = 0 ; i<10;i++){ System.out.println(list.size()); list原创 2017-04-27 18:36:59 · 3516 阅读 · 0 评论 -
ArrayList源码解析与学习
为了更深一步的学习掌握Java中的集合类,最近决定把Java中比较常用的集合类源码学习一下。 今天就把我对ArrayList源码的理解跟大家分享下,JDK版本是1.7(不同版本的源码可能略有差异,但是思想几乎不变)。 ArrayList底层是通过数组来实现的,其主要方法get、add、remove等方法都是通过围绕这个数组来进行一系列的操作,这些方法也是我们理解ArrayList的重点原创 2017-04-28 00:17:06 · 234 阅读 · 0 评论 -
LinkedList源码解析与学习
为了更深一步的学习掌握Java中的集合类,最近决定把Java中比较常用的集合类源码学习一下。 今天就把我对LinkedList源码的理解跟大家分享下,JDK版本是1.7(不同版本的源码可能略有差异,但是思想几乎不变)。 LinkedList底层是由双向链表来实现,我主要从add、get、remove以及它的构造函数还有一些关键参数(Node结点类)理解它。原创 2017-05-02 10:29:04 · 243 阅读 · 0 评论 -
HashMap源码阅读与解析
1、概述 Hashmap是一种常用的集合类,以key-value键值对的形式存在。HashMap中,可以通过hash算法来决定key-value键值对的存储位置,从而实现key-value键值对的快速查找和存储。虽然HashMap存取效率很高,却是线程不安全的,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap或者使用Concurr原创 2017-05-02 11:35:15 · 234 阅读 · 0 评论 -
ConcurrentHashMap实现原理及源码分析
ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分析(JDK1.7).ConcurrentHashMa转载 2017-05-19 10:55:49 · 324 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字节码文件是根据JVM虚拟机规范中规转载 2017-07-31 11:14:23 · 426 阅读 · 0 评论