对于一般的锁,如ReentrantLock,其一般都是“独占式”的,也即在同一时刻只有一个线程能够访问锁定的代码。...[作者空间]
ThreadLocal在java.lang包中,其主要作用是提供一个和线程绑定的变量环境,即通过ThreadLoc...[作者空间]
Java提供了一整套的线程管理机制,就是我们常常提起的线程池。今天我们来研究一下它的实现原理,重点研究的是我们提交...[作者空间]
开篇闲话:王侯将相皆有封地,大小根据爵位高低而不同,等级森严。在计算机世界里,大boss(操作系统)很公平,给大家...[作者空间]
在Java中,有两种初始化块:静态初始化块和非静态初始化块。它们都是定义在类中,用大括号{}括起来,静态代码块在大...[作者空间]
final final可以用于以下四个地方 定义变量,包括静态的和非静态的。 定义方法的参数。 定义方法。 定义类...[作者空间]
HashMap为何数组的长度是2的n次方 1.这个方法非常巧妙, 它通过 h & (table.length -1...[作者空间]
GC会stop the world。会暂停程序的执行,带来延迟的代价。所以在开发中,我们不希望GC的次数过多。 本...[作者空间]
内存溢出 程序运行过程中无法申请到足够的内存而导致的一种错误。 内存溢出的几种情况(OOM 异常) OutOfMe...[作者空间]
内存泄漏内存泄漏发生的原因造成内存泄露的常见情形内存泄露的解决方案 Java的一个最显著的优势是内存管理。你只需要...[作者空间]
本文将深入讨论HashSet实现原理的源码细节。在分析源码之前,首先我们需要对HashSet有一个基本的理解。 H...[作者空间]
本文参考至Java 8系列之重新认识HashMap。对于原文中的hash算法和jdk8对于扩容机制的优化等复杂内容...[作者空间]
本文对LinkedList的实现讨论都基于JDK8版本 Java中的LinkedList类实现了List接口和De...[作者空间]
ArrayList使用的存储的数据结构ArrayList的初始化ArrayList是如何动态增长ArrayList...[作者空间]
引入垃圾回收哪些内存需要回收?引用计数法可达性分析如何回收Marking 标记Normal Deletion 清除...[作者空间]
Serializable in Java Class Refactoring with Serialization...[作者空间]
Java只有当需要使用类的时候,才会将类载入。java类的载入,是通过类加载器进行的。 在命令模式下,执行java...[作者空间]
set是用来存储没有重复的元素的。set在java中有三种比较常用实现:HashSet, TreeSet and ...[作者空间]