自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深入浅出学JAVA

不积跬步 无以至千里

转载 设计模式之——单例模式

单例模式,是设计模式中比较简单,常用的一种。它有很多种写法,各有优劣,并涉及到多线程的情况下的线程安全问题,有些同学可能对单例还是一知半解,所以今天来聊一聊单例模式。什么是单例模式?保证一个类仅有一个实例,并提供一个访问它的全局访问点。通过使用单例模式,可以节约系统的资源开销,避免共享资源的多重占用等优点。我什么时候会用到单例?对于创建对象需要消耗很多资源的对象。如:数据库连接池对...

2018-11-14 20:25:47 383

转载 Java集合之六—AbstractMap

AbstractMap是一个抽象类,它是Map接口的一个骨架实现,最小化实现了此接口提供的抽象函数。在Java的Collection框架中基本都遵循了这一规定,骨架实现在接口与实现类之间构建了一层抽象,其目的是为了复用一些比较通用的函数以及方便扩展,例如List接口拥有骨架实现AbstractList、Set接口拥有骨架实现AbstractSet等。下面我们按照不同的操作类型来看看Abstra...

2018-11-09 19:50:59 194

转载 Java集合之七—Map总结

Map是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Python中叫做字典(Dictionary),也有些语言称其为关联数组(Associative Array),...

2018-11-09 19:48:25 474

转载 Java集合之四—LinkedHashMap

LinkedHashMap继承HashMap并实现了Map接口,同时具有可预测的迭代顺序(按照插入顺序排序)。它与HashMap的不同之处在于,维护了一条贯穿其全部Entry的双向链表(因为额外维护了链表的关系,性能上要略差于HashMap,不过集合视图的遍历时间与元素数量成正比,而HashMap是与buckets数组的长度成正比的),可以认为它是散列表与链表的结合。/** * The h...

2018-11-09 19:42:08 360

转载 Java集合之五—WeakHashMap

WeakHashMap是一个基于Map接口实现的散列表,实现细节与HashMap类似(都有负载因子、散列函数等等,但没有HashMap那么多优化手段),它的特殊之处在于每个key都是一个弱引用。首先我们要明白什么是弱引用,Java将引用分为四类(从JDK1.2开始),强度依次逐渐减弱: 强引用: 就是平常使用的普通引用对象,例如Object obj = new Object(),这就是一...

2018-11-09 19:36:37 231

转载 Java集合之三—ConcurrentHashMap

我们上述所讲的Map都是非线程安全的,这意味着不应该在多个线程中对这些Map进行修改操作,轻则会产生数据不一致的问题,甚至还会因为并发插入元素而导致链表成环(插入会触发扩容,而扩容操作需要将原数组中的元素rehash到新数组,这时并发操作就有可能产生链表的循环引用从而成环),这样在查找时就会发生死循环,影响到整个应用程序。Collections.synchronizedMap(Map<K...

2018-11-09 19:27:14 985

转载 HashMap与TreeMap的排序以及四种遍历方式

一、Map概述1、Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。2、Map与Collection的区别    (1)Map 是以键值对的方式存储元素,键唯一,值可以重复。    (2)Collection存储的是单列元素,子接口Set元素唯一,子接口List可以重复。    (3)Map的数据结构针对键有效,跟值无关...

2018-11-05 18:27:31 1957

转载 JAVA集合之二—TreeMap

大家好,今天我们来学习一下Map家族中的另一个成员:TreeMap。一、基本概念在介绍TreeMap之前,我们来了解一种数据结构:二叉树。相信学过数据结构的同学知道,这种结构的数据存储形式在查找的时候效率非常高。二叉树结构(源自百度百科) 二叉树结构又可再细分为二叉查找树 叉平衡树二叉查找树 二叉查找树是一种有序的树,所有的左孩子的value值都是小于叶子结点的...

2018-11-05 17:45:58 518

转载 Java集合之一—HashMap

深入浅出学Java——HashMap哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。一、什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,...

2018-11-02 23:59:41 174076 38

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