我是攻城师

468 篇文章
62 人订阅

JDK

我是攻城师

什么是线程安全?

线程安全在多线程编程时是一个比较重要的概念,我们下先来看下维基百科是如何定义这个概念的:

651
我是攻城师

关于Java的BIO,NIO和AIO的演进

Java里面的IO模型种类较多,主要包括BIO,NIO和AIO,每个IO模型都有不一样的地方,那么这些IO模型是如何演变呢,底层的原理又是怎样的呢? 本文我们就...

981
我是攻城师

如何避免单例模式被破坏

这里不再讨论单例的模式的n种写法,仅仅讨论如何避免单例模式被破坏,看下面的一个例子:

1581
我是攻城师

理解Java7和8里面HashMap+ConcurrentHashMap的扩容策略

(2)在(1)的基础上,理解ConcurrentHashMap的并发安全的设计和实现思路

1734
我是攻城师

理解另类的并发安全实现CopyOnWriteArrayList

在Java的并发包java.util.concurrent里面有一个比较有意思现象,针对Map和LinkList都有对应的高效的+线程安全的并发实现类:

1893
我是攻城师

理解Java并发工具类Exchanger

Exchanger类是JDK5中的一个并发工具辅助类,这个类的主要作用是可以用于两个线程之间交换数据,以实际生活中的场景来讲,比如很多小区楼下都有自取的快递柜,...

1412
我是攻城师

深入理解Java8并发工具类StampedLock

StampedLock类是JDK8里面新增的一个并发工具类,这个类比较特殊,在此之前我们先简单的了解一下关于数据库或者存储系统的锁策略和机制。

1322
我是攻城师

在ReadWriteLock类中读锁为什么不能升级为写锁?

关于读写锁里面有一个锁升级和降级的问题,也就是写锁可以降级为读锁,但是读锁却不能升级为写锁。那么为什么是这样?

1515
我是攻城师

学习使用Lock+Conditionk编写三个经典多线程例子

在jdk5之后的高级并发包里面Lock接口可以替换原来jvm内置的锁synchronized关键字,同理使用Condition接口的await,signal,s...

592
我是攻城师

Java单例模式之双检锁深入思考

单例模式在Java开发中是非常经典和实用的一种设计模式,在JDK的内部包的好多api都采用了单例模式,如我们熟悉的Runtime类,单例模式总的来说有两种创建方...

3153
我是攻城师

Java进阶之内存模型介绍

不管在什么编程语言里面,读取和写入都是我们程序最普遍的操作,在单线程的程序里面我们可能不关注线程的读写问题,但是一旦到多线程的环境下,读和写就会变得非常敏感。J...

652
我是攻城师

Java开发者如何正确的使用String,StringBuffer,StringBuilder类

通过前面的文章,我们知道String类最大的特点是不可变性,这意味着对String类的任何修改都会新生成一个字符串,比如你执行了String类的substrin...

945
我是攻城师

理解Java中的hashCode和equals方法

37510
我是攻城师

JDK8中HashMap的工作原理剖析

49111
我是攻城师

如何备份ElasticSearch索引数据到HDFS上

3873
我是攻城师

JDK8中ArrayList的工作原理剖析

3605
我是攻城师

Spring-Boot1.4.0项目部署问题小记

2865
我是攻城师

4个理由告诉你Java为何排行第一

2795
我是攻城师

SolrCloud5.4.1集群实战(一)

2896

扫码关注云+社区