本文的源码是基于 JDK 1.7版本 顺序表&链表 在分析 HashMap 源码之前,先来了解一下两个重要的数据...[作者空间]
线程与 ThreadLocalMap ThreadLocal 是一个线程本地变量,它的功能是每一个线程都各自维护自...[作者空间]
多引用写入 测试输出结果 从输出结果来看,name 属性并没有发生改变 使用以下两种方法来修复这个问题: 输出结果...[作者空间]
序列化与反序列化的概念 从广义上讲,数据序列化就是将数据结构或者是对象转换成我们可以存储或者传输的数据格式的一个过...[作者空间]
注解的本质 这里先得出结论,注解的工作就是通过动态代理实现的。 定义和使用注解 下面来定义一个最简单的注解,并通过...[作者空间]
JVM 内存模型 .java 源文件 -> javac 工具编译 -> .class 文件 -> JVM 解析 -...[作者空间]
volatile 关键字 volatile 作用 volatie 用于修饰变量,它有两个作用。 它可以保证变量在多...[作者空间]
线程间的共享和协作 Lock 显示锁 在 Java 中,一般情况下都是使用 synchronized 关键字来加锁...[作者空间]
线程间的共享和协作 线程间的共享 JVM 会为每一个线程独立分配虚拟机栈空间,本地方法栈空间以及程序计数器,而对于...[作者空间]
线程间的共享和协作 [TOC] Lock 显示锁 在 Java 中,一般情况下都是使用 synchronized ...[作者空间]
代理模式 代理在我们日常生活中经常出现,例如我们去租房,为了方便我们会去找中介,让他们帮我去找房子,事后我们给他一...[作者空间]
反射 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个...[作者空间]
为什么需要泛型? 先来看一段代码,这段代码是用来计算两个数之和,可以看到每次新增一种数据类型,那么就要新增一个方法...[作者空间]
CAS 机制 什么 CAS ? 在 Java 中,锁分为两类,一种是悲观锁 Synchronized ,一种是乐观...[作者空间]
一、JVM 内存模型 本节来分析 Java 对象如何进行分配和回收。 JVM 运行时数据区主要由线程私有区域和线程...[作者空间]