自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

journey_fan的专栏

多读书,读好书

  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 从源码理解TreeMap.java

从源码理解TreeMap.javapackage java.util;import java.io.Serializable;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Consumer;/** * 基于红黑树的Naviga

2016-04-29 21:03:56 2422 2

原创 JDK源码学习之TreeMap.java分析

TreeMap源码分析——基础分析  常见的数据结构有数组、链表、树。集合类中有基于数组的ArrayList,基于链表的LinkedList,还有链表和数组结合的HashMap。  Treemap基于红黑树实现。查看“键”或“键值对”时,他们会被排序(次序 由Comparable或Comparator决定)。  TreeMap的特点在于,所得到的结果是经过排序的。TreeMap是唯

2016-04-28 22:36:32 911

原创 从源码理解HashMap

package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import ja

2016-04-25 17:47:53 2974 3

原创 HashMap中红黑树操作实现

// 红黑树操作方法实现, 从CLR引入 static TreeNode rotateLeft(TreeNode root, TreeNode p) { //左旋 TreeNode r, pp, rl; if (p != nu

2016-04-25 17:42:25 2659

原创 HashMap中红黑树的查找函数find()实现

//HashMap中红黑树的查找函数find()实现/** * 调用树的find()函数 */ final TreeNode getTreeNode(int h, Object k) { return ((parent != null) ? root() : this).find(h, k, null);

2016-04-25 17:22:49 5061 3

原创 JDK1.8 HashMap中resize()方法解释

JDK1.8 HashMap中resize()方法解析 * 初始化或者是将table大小加倍。如果为空,则按threshold分配空间,否则,加倍后,每个容器中的元素在新table中要么呆在原索引处,要么有一个2的次幂的位移 * @return the table */ final Node[] resize() { Node[] oldTab

2016-04-25 15:30:02 3200 3

原创 HashMap中的put(Object key, Object value)方法实现

HashMap中的put(Object key, Object value)方法实现/** * 实现Map.put及其相关方法 * @param hash hash for key * @param key the key * @param value the value to put * @param onlyIfAbsent 若为 true

2016-04-22 21:57:02 3780

原创 HashMap中get(Object key)方法实现

jdk1.8  HashMap.java中获取指定关键字对应的值value方法get(Object key)  /* 返回指定关键字的值value,没有则返回null */ public V get(Object key) { Node e; return (e = getNode(hash(key), key)) == null ? n

2016-04-22 21:15:41 5688 1

原创 Java中如何创建不可变对象

class:Java中class确切的表示为一个类object:Java中Object确切的表示为一个对象,也称为类的实例如果一个类被设计成不可变的类 ,那么这个类的实例化对象也是不可变的。不可变类:当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变对象:    一旦一个类的实例化对象被创建并初始化,那么它就不可以被改变。可以调用访问器方法(getter

2016-04-22 17:18:52 7077 1

原创 对于给定数字返回最小2次幂

JDK中HashMap.java中有一个函数  static final int tableSizeFor(int cap){ int n = cap -1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >>> 16; retur

2016-04-22 15:35:10 3371

原创 JDK1.8源码学习之HashSet.java

jdk1.8源码学习之HashSet.javapackage java.util;import java.io.InvalidObjectException;public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable{ static final

2016-04-22 12:52:44 1058

原创 JDK1.8源码学习之ConcurrentHashMap.java

jdk1.8源码学习之并发HashMap————ConcurrentHashMap.javapackage java.util.concurrent;import java.io.ObjectStreamField;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.la

2016-04-22 12:50:04 2123 1

原创 Java 哈希机制

通过分析HashMap和HashSet源码分析其Hash存储机制  对于HashSet而言,系统采用hash算法决定集合元素的存储位置,这样可以保证能快速存、取集合元素;  对于HashMap而言,系统key-value当成一个整体进行处理,系统总是根据Hash算法来计算key-value的存储位置,这样可以保证能快速存、取Map的key-value对。  虽然集合号称存储的是Ja

2016-04-21 15:52:08 1791

原创 JDK1.8源码学习之Map.java

package java.util;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Function;import java.io.Serializable;/** * 一个可以将关键字映射为值的对象; * 一个map可以包含重复

2016-04-21 14:12:12 3217 1

原创 Java中mutable对象和immutable对象的区别

今天读jdk源码中Map.java时看到一句话:“great care must be exercised if mutable objects are used as map keys”;第一次知道mutable对象这个概念,google了一下,维基百科定义如下:“In object-oriented and functional programming, an immutable

2016-04-20 17:03:50 20227

原创 JDK1.8源码学习之 HashMap.java

///JDK1.8源码学习之HashMap.javapackage java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.

2016-04-20 15:31:43 1472

推荐系统 蒋凡译 中文版

推荐系统的必读经典书籍,《推荐系统》蒋凡译,奥地利

2019-01-26

Logistic Regression入门必备

Logistic Regression逻辑回归入门学习必备资料,从数学推导到实战应用

2018-10-14

PRML 完整版答案

Pattern Recognition and Machine Learning 完整版课后答案,非常详细

2018-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除