admin
-
Java并发:Java中锁的分类
Java中锁的分类 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁…
-
Java并发:BlockingQueue解读
BlockingQueue解读 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,…
-
Java并发:Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore CountDownLatch A synchronization aid that …
-
Java并发:彻底理解ThreadLocal
彻底理解ThreadLocal 深挖过threadLocal之后,一句话概括:Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。所以Th…
-
Java并发:Java中CAS详解
Java中CAS详解 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁. 锁机制存在以下问题: – (1)在多线程竞争下,加锁、释…
-
Java并发:AtomicInteger源码分析——基于CAS的乐观锁实现
AtomicInteger源码分析——基于CAS的乐观锁实现 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执…
-
Java并发:ConcurrentHashMap解读
ConcurrentHashMap解读 Java7 基于分段锁的ConcurrentHashMap ConcurrentHashMap 和 HashMap 思路是差不多的,但是因为…
-
Java并发:Synchronized原理和优化
Synchronized原理和优化 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线…
-
Java并发:CopyOnWriteArrayList实现原理及源码分析
CopyOnWriteArrayList实现原理及源码分析 CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读操作无锁的ArrayLi…
-
Java并发:单例模式的双检查
单例模式的双检查 单例类在Java开发者中非常常用,但是它给初级开发者们造成了很多挑战。他们所面对的其中一个关键挑战是,怎样确保单例类的行为是单例?也就是说,无论任何原因,如何防止…
-
Java基础:Java容器之LinkedList
Java容器之LinkedList 定义 实现List接口与Deque接口双向链表,实现了列表的所有操作,并且允许包括null值的所有元素,对于LinkedList定义我产生了如下…
-
Java基础:Java容器之HashMap
Java容器之HashMap HashMap 概述 Map 是 Key-Value 对映射的抽象接口,该映射不包括重复的键,即一个键对应一个值。HashMap 是 Java Col…
-
Java基础:Java容器之ArrayList
Java容器之ArrayList ArrayList结构图 ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接…
-
Java基础:java中HashSet详解
java中HashSet详解 HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 …
-
Java基础:JAVA中BitSet使用详解
JAVA中BitSet使用详解 适用场景:整数,无重复; Bitset 基础 Bitset,也就是位图,由于可以用非常紧凑的格式来表示给定范围的连续数据而经常出现在各种算法设计中。…
-
Java基础:JAVAHashmap的死循环及Java8的修复
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死…
-
Java基础:Java内部类和静态内部类的区别
Java 内部类和静态内部类的区别 java 内部类和静态内部类的区别 下面说一说内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定…
-
Java基础:java泛型详解-绝对是对泛型方法讲解最详细的,没有之一
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 …
-
Java基础:Javafinally语句到底是在return之前还是之后执行?
网上有很多人探讨Java中异常捕获机制try…catch…finally块中的finally语句是不是一定会被执行? 很多人都说不是,当然他们的回答是正确的…
-
Java基础:Java面向对象的特征
面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数…