java源码
文章平均质量分 77
小马和小金
这个作者很懒,什么都没留下…
展开
-
java中Byte类的源码解析
今天来剖析一下java.lang.Byte类的源码,直奔主题 首先 public final class Byte extends Number implements Comparable<Byte> { public static final byte MIN_VALUE = -128; public static final byte MAX_VALUE = 127;...转载 2018-08-03 16:23:14 · 242 阅读 · 0 评论 -
Java集合之HashSet源码分析
阅读目录 一、HashSet简介 二、HashSet源码分析 三、HashSet的应用示例代码 回到顶部 一、HashSet简介 HashSet是Set接口典型实现,它按照Hash算法来存储集合中的元素,具有很好的存取和查找性能。主要具有以下特点: 不保证set的迭代顺序 HashSet不是同步的,如果多个线程同时访问一个HashSet,要通过代码来保证其同步 集合元素值可以是null ...转载 2018-08-13 14:43:22 · 94 阅读 · 0 评论 -
JDK源码分析之StringBuffer篇
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence { ..... } StringBuffer类跟String类一样定义成final形式,主要是为了“效率”和“安全...转载 2018-08-03 15:14:12 · 72 阅读 · 0 评论 -
AbstractStringBuilder 源码分析
类定义 abstract class AbstractStringBuilder implements Appendable, CharSequence 1 实现了Appendable接口,可序列化 实现了CharSequence接口: 是 char 值的一个可读序列。此接口对许多不同种类的 char 序列提供统一的只读访问。 构造函数 AbstractStringBuilder(i...转载 2018-08-03 14:04:10 · 177 阅读 · 0 评论 -
Java-- String源码分析
本篇博文基于java8,主要探讨java中的String源码。 首先,将一个类分为几个部分,分别是类定义(继承,实现接口等),全局变量,方法,内部类等等,再分别对这几个部分进行说明,这样到最后类的全貌也就比较直观了。 一:实现接口。 public final class String implements java.io.Serializable, Compa...转载 2018-08-03 10:51:30 · 81 阅读 · 0 评论 -
java中Object类 源代码详解
java中Object类 源代码详解 简介 类Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的所有方法。 源码解读 package java.lang; public class Object { /*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用*/ private static nativ...转载 2018-08-03 09:55:38 · 100 阅读 · 0 评论 -
HashMap源码
这一章,我们对HashMap进行学习。 我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。内容包括:第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.6.0_45) 第3.1部分 HashMap的“拉链法”相关内容 第3.2部分 HashMap的构造函数 第3.3部分 Hash...转载 2018-08-10 16:07:06 · 96 阅读 · 0 评论 -
HashTable源码分析
HashTable是什么 HashTable是基于哈希表的Map接口的同步实现 HashTable中元素的key是唯一的,value值可重复 HashTable中元素的key和value不允许为null,如果遇到null,则返回NullPointerException HashTable中的元素是无序的 public class Hashtable<K,V> ex...转载 2018-08-10 16:06:07 · 73 阅读 · 0 评论 -
集合框架AbstractMap
AbstractMap: AbstractMap AbstractMap继承了Map,但没有实现entrySet()方法(该方法还是abstract修饰),如果要继承AbstractMap,需要自己实现entrySet()方法。没有真正实现put(K key, V value)方法,这里“没有真正实现”的意思是,该方法在形式上已经实现了,即没有用ab...转载 2018-08-10 10:31:31 · 183 阅读 · 0 评论 -
transient的用途及使用方法
1,用途 我们知道,当一个对象实现了Serilizable接口,这个对象就可以被序列化,我们不关心其内在的原理,只需要了解这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。而在开发过程中,我们可能要求:当对象被序列化时(写入字节序列到目标文件)时,有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见...转载 2018-08-04 12:06:30 · 670 阅读 · 0 评论 -
ArrayList源码解析
一、对于ArrayList需要掌握的七点内容 ArrayList的创建:即构造器 往ArrayList中添加对象:即add(E)方法 获取ArrayList中的单个对象:即get(int index)方法 删除ArrayList中的对象:即remove(E)方法 遍历ArrayList中的对象:即iterator,在实际中更常用的是增强型的for循环去做遍历 判断对象是否存在于Arra...转载 2018-08-04 12:04:31 · 99 阅读 · 0 评论 -
JDK源码阅读顺序
很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为小编整理的通常所需阅读的源码范围。 标题为包名,后面序号为优先级1-4,优先级递减 1、java.lang 1) Object 1 2) String 1 3) AbstractStringBuilder 1 4) StringBuffer 1 5) StringBuilder 1 6) Boolean 2 7) B...转载 2018-08-04 11:25:10 · 422 阅读 · 0 评论 -
ConcurrentHashMap实现原理及源码分析
ConcurrentHashMap实现原理 众所周知,哈希表是中非常高效,复杂度为O(1)的数据结构,在Java开发中,我们最常见到最频繁使用的就是HashMap和HashTable,但是在线程竞争激烈的并发场景中使用都不够合理。 HashMap :先说HashMap,HashMap是线程不安全的,在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码...转载 2018-08-03 16:51:34 · 119 阅读 · 0 评论 -
HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 目录 一、什么是哈希表 二、Ha...转载 2018-08-03 16:46:55 · 126 阅读 · 0 评论 -
HashMap 在 JDK 1.8 后新增的红黑树结构
读完本文你将了解到: 点击查看 Java 集合框架深入理解 系列 - - 乾杯 传统 HashMap 的缺点 HashMap 在 JDK 18 中新增的数据结构 红黑树 HashMap 中关于红黑树的三个关键参数 HashMap 在 JDK 18 中新增的操作桶的树形化 treeifyBin HashMap 在 JDK 18 中新增的操作 红黑树中添加元素 putT...转载 2018-09-01 14:35:26 · 277 阅读 · 0 评论