自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java并发容器之ConcurrentLinkedQueue源码分析

1ConcurrentLinkedQueue概述在并发编程中,我们经常使用线程安全的队列,Java为此提供了两种模式的队列:一个以ConcurrentLinkedQueue为代表的高性能队列 ;一个是以BlockingQueue接口为代表的阻塞队列。阻塞队列使用一把锁(入队和出队共享一把锁)或者两把锁(入队、出队各一把锁)来实现线程安全,BlockingQueue是典型的代表;非阻塞...

2019-07-10 16:51:53 127

原创 IoC容器的初始化过程详解

首先我们了解一下使用IoC容器之前的几个步骤:创建IoC配置文件的抽象资源,这个抽象资源包含了BeanDefinition的定义信息 创建一个BeanFactory 创建一个载入BeanDfinition的读取器,这里使用XMLBeanDefinitionReader对象来载入XML文件形式的BeanDefinition,通过一个回调配置给BeanFactory 从定以好的资源位置读入配...

2019-06-25 19:31:33 452

原创 JDK1.8下ArrayList的自动扩容机制

ArrayList的几个成员变量 private static final int DEFAULT_CAPACITY = 10;//数组默认初始容量 /** * 定义一个空的数组实例以供其他需要用到空数组的地方调用 */ private static final Object[] EMPTY_ELEMENTDATA = {}; ...

2019-06-03 16:41:17 922

原创 JAVA锁体系、CAS、AQS详细讲解

## **Java的锁体系**1. 悲观锁:悲观锁的实现是synchronized关键字和接口Lock的实现类,适用写的操作多的场景2. 乐观锁:乐观锁的实现是CAS算法,例如并发包下的AtomicInteger类的原子自增是CAS的自旋操作实现,下面会根据源码分析CAS算法和自旋;## CAS算法源码分析和应用场景CAS(compareAndSwap),比较和交换,是一种...

2019-05-28 10:49:58 606

原创 为什么重写equals还要重写hashcode

在定义的类重写equals方法的同时为什么一定要重写JDK本地的hashcode方法呢?我们从两者的本质上出发去解决这个问题hashcode()方法时本地方法,返回的是对象的内存地址,object类的equals方法比较的就是对象的内存地址,所以说如果equals相等,说明两个对象的地址也相等;反之,如果hashcode()的返回值相同,equals会是true吗?答案是不一定,原因;哈希...

2019-05-23 22:26:33 118

翻译 详解Java中equals和==的区别

String s1 = new String("string"); String s2 = new String("string"); System.out.println(s1 == s2);//false System.out.println(s1.equals(s2));//true首先看上面的代码,两个结果的输出不一样,让我们来探讨一下是如何产生这种差...

2019-05-23 20:39:35 83

原创 volatile保证可见性但不保证原子性的深入分析

Java垃圾回收中,关于jvm运行时刻的内存分配,其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈;线程栈保存了线程运行时变量值信息,当线程访问某一个对象的值的时候,首先通过对象的引用找到对应在堆内存中的变量的值,然后把堆内存中变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值;在修改完之后的某个时刻...

2019-05-05 14:58:33 634 1

原创 关于HashMap令面试官眼前一亮的回答

面试中的HashMap实现为什么要深入了解HashMap的内部实现HashMap是互联网公司面试最频繁的知识点之一,而很少问及List的的实现类,与因为List的实现过于简单,所以掌握HashMap的原理会让你在面试中获得先机。哈希表哈希表(hash table)也叫散列表,是一种非常重要的数据结构,在通用的数据结构中,哈希表的增删改查速度是最快的,哈希表存储的是键值对,其查找的时间复杂度...

2019-05-03 16:00:42 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除