
Java/源码解读
小白的学习笔记
这个作者很懒,什么都没留下…
展开
-
Java HashMap 核心源码解读
本篇对HashMap实现的源码进行简单的分析。 所使用的HashMap源码的版本信息如下:/** @(#)HashMap.java 1.73 07/03/13** Copyright 2006 Sun Microsystems, Inc. All rights reserved.* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license转载 2016-03-09 23:03:12 · 416 阅读 · 0 评论 -
深入分析Java的序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:怎么实现Java的序列化为什么实现了java.io.Serializable接口才能被序列化transient的作用是什么怎么自定义序列化策略自定义的序列化策略是如何被调用的ArrayList对序列化的实现有什么转载 2016-08-31 11:23:40 · 565 阅读 · 0 评论 -
聊聊并发(四)——深入分析ConcurrentHashMap
术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地转载 2016-05-13 20:11:57 · 709 阅读 · 0 评论 -
ConcurrentHashMap 的实现原理
概述我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fast)。在不考虑性能问题的时候,我们的解决方案有 Hashtable 或者Collections.synch转载 2016-03-11 20:45:28 · 603 阅读 · 0 评论 -
LinkedHashMap 的实现原理
LinkedHashMap 概述HashMap 是无序的,HashMap 在 put 的时候是根据 key 的 hashcode 进行 hash 然后放入对应的地方。所以在按照一定顺序 put 进 HashMap 中,然后遍历出 HashMap 的顺序跟 put 的顺序不同(除非在 put 的时候 key 已经按照 hashcode 排序号了,这种几率非常小)JAVA 在 JDK1.4 以后提供了转载 2016-03-11 19:39:19 · 374 阅读 · 0 评论 -
关于equals和hashcode方法
一:生成equals的约定。在《Effective Java》中说明了覆盖equals方法时的一些规则(约定),下面是约定的内容,来自Object的规范【JavaSE6】: equals方法实现了等价关系 1) 自反性:对于任何非null的引用值x,x.equals(x)一定返回true。 2) 对称性:对于任何非null的引用值x,y,当且y.equals(x)返回true时,x.equal原创 2016-05-02 20:40:39 · 508 阅读 · 1 评论 -
Java中的fail-fast机制
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:1.通过增强的for循环删除符合条件的多个元素2.通过增强的for循环删除符合条件的一个元素3.通过普通的for删除删除符合条件的多个元素4.通过Iterator进行遍历删除符合条件的多个元素/** * 使用增强的for循环 * 在循环过程中从List中删除非基本数据类转载 2016-05-12 09:46:02 · 688 阅读 · 0 评论 -
Java中的WeakHashMap实现分析
在Java集合中有一种特殊的Map类型:WeakHashMap。 WeakHashMap 继承于AbstractMap,实现了Map接口。 和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射,而且键和值都可以是null。 不过WeakHashMap的键是“弱键”,里面存放了键对象的弱引用,当某个键不再正常使用时,会从WeakHashMap中转载 2016-05-11 23:38:49 · 460 阅读 · 0 评论 -
JAVA LinkedList和ArrayList的使用及性能分析
JAVA LinkedList和ArrayList的使用及性能分析,这篇文章也是以JAVA List的总结。第1部分 List概括List的框架图List 是一个接口,它继承于Collection的接口。它代表着有序的队列。AbstractList 是一个抽象类,它继承于AbstractCollection。undefinedAbstractList实现转载 2016-03-29 11:14:57 · 492 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
深入理解Java并发之synchronized实现原理 http://blog.youkuaiyun.com/javazejian/article/details/72828483转载 2017-11-21 11:32:29 · 430 阅读 · 37 评论