加载中
MCS锁 简介

概述 上一篇分析了CLH锁,这篇分析一下MCS锁。如果没有看过上一篇的话,建议先看一下 CLH锁简介,本篇是在上一篇的基础上做了简单的描述。 简述 MCS 的名字也是由发明人的名字字幕组合来的(...

2019/03/29 12:24
184
CLH锁 简介

概述 在学习Java AQS框架的时候发现加锁的逻辑非常奇怪,后来得知加锁逻辑是CLH锁的一个变种,于是了解一下,对于理解AQS框架有好处。 简介 CLH锁是有由Craig, Landin, and Hagersten这三个人...

2019/03/28 17:31
437
Java线程池ThreadPoolExecutor使用与解析

概述 JDK提供了一个工具类Executors来非常方便的创建线程池,下面主要通过一个示例来分析Java线程池的实现原理。 使用 Runnable runnable = new Runnable() { @Override public void run() {...

2019/03/15 17:24
115
解析 Callable Runnable Future 使用和原理

概念 Callable类的定义 @FunctionalInterface public interface Callable<V> { V call() throws Exception; } Runnable类的定义 @FunctionalInterface public interface Runnable { public ...

CAS
2019/03/09 12:10
315
Thread 运行状态

根据JDK文档的描述,Thread 运行状态一共可分为6种。 NEW 尚未启动的线程的线程状态。 RUNNABLE 一个可运行的线程的线程状态。在运行状态的线程在java虚拟机执行,但它可能在等待其他资源,如...

2019/03/08 05:33
132
Java集合目录

Map HashMap内部结构 tableSizeFor HashIterator HashMap扰动函数 ConcurrentHashMap 转 ConcurrentHashMap总结 HashTable LinkedHashMap List LinkedList ArrayList Set HashSet......

2018/11/27 15:35
6
Java集合--LinkedList

概要 LinkedList 是一个双向链表,实现了 List 和 Deque 接口。它允许元素为空,非线程安全。 Deque 是一个双端队列,允许2端分别添加和删除元素。JDK中的说明是这样的 A linear collection ...

2018/11/27 15:19
62
Java集合--ArrayList

概述 ArrayList 是一个数组集合,容量能够动态增长,并且提供了随机访问的功能,在平时工作中用的很频繁,通过源代码研究一下内部的实现机制。 继承关系 public class ArrayList<E> extends ...

2018/11/26 06:19
69
Java集合--HashSet

概述 HashSet 实现了 Set 接口,是一个不包含重复元素的集合。通过源代码分析一下 HashSet 是如何做到元素不重复的。 继承关系 public class HashSet<E> extends AbstractSet<E> implements ...

2018/11/26 04:50
53
Java集合--jdk1.8 ConcurrentHashMap

概述 HashMap 是一个以键值对存储数据的容器,但是在它是线程不安全的,在多线程的环境下它有很多潜在的问题。ConcurrentHashMap 作为 HashMap 的并发版本,是一个线程安全的容器,在高并发的...

2018/11/12 05:29
1.7K
ConcurrentHashMap总结

写得太好,忍不住转。 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好...

2018/11/06 16:46
234
Java集合--tableSizeFor

在看 HashMap 源码的时候有这么一段代码 private static final int MAXIMUM_CAPACITY = 1 << 30; private static final int tableSizeFor(int c) { int n = c - 1; n |= n >>> 1; n |= n >>...

2018/11/06 13:22
390
Java1.8 默认方法

Java8中引入的默认方法,充分展示了Java平台概念的一致性与JDK向前兼容之间的矛盾,而且以牺牲概念的一致性而满足JDK向前兼容。 1.理想与现实 【曾经】Java接口纯粹是契约的集合,是一种程序...

2018/11/05 18:18
150
哈希冲突的解决方法

1.基本概念 哈希算法:根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上的算法。也称为散列算法、杂凑算法。 哈希表:数据经过哈希算法之后得到的集合。这样...

2018/11/05 17:24
383
Java集合--HashTable

简单看一下 HashTable 内部结构 public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable { private transient Entry<?,?>[] table; p...

2018/11/05 16:54
37
Java集合--HashIterator

循环遍历一个 HashMap 可以通过下面的方式 for (Map.Entry entry : hashMap.entrySet()) { Object key = entry.getKey(); Object value = entry.getValue(); .... } 或者用迭代器 Iterat......

2018/11/05 13:29
437
Java集合--LinkedHashMap源码分析

概述 分析一下 LinkedHashMap 源码,看下内部结构,研究一下如何保证访问顺序。 继承关系 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V> LinkedHashMap 继承自...

2018/11/05 11:55
69
Spring 统一的异常访问体系

要了解Spring为什么要提供统一的异常访问层次体系,得先从DAO模式说起. 不管是一个逻辑简单的小软件系统,还是一个关系复杂的大型软件系统,都很可能涉及到对数据的访问和存储,而这些对数据...

2018/11/05 05:00
110
SSL/TLS协议运行机制的概述

互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。 一、作...

2018/11/03 09:26
66
公钥加密 私钥解密

什么时候用公钥加密什么时候用私钥加密? 1.公钥加密私钥解密 为了 加解密 2.私钥加密公钥解密 为了 签名 通过私钥对自己的内容进行加密生成数字签名(这个私钥只有我才有),如果被公钥成功...

2018/11/02 05:39
59

没有更多内容

加载失败,请刷新页面

返回顶部
顶部