自定义博客皮肤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)
  • 收藏
  • 关注

原创 JUC之Queue源码(一)

Queue接口Queue接口规定了队列的6个标准方法,功能包括入队、出队以及查找。下面是方法说明:方法 方法说明 add 添加队列元素,队列满时,会抛出异常。 offer 添加队列元素,队列满时,不会抛出异常。 remove 移除队首元素,队列为空时,会抛出异常。 poll 移除队首元素,队列为空时,不会抛出异常。 element 返回队首元素,不会移除元素,队列为空时,会抛出异常。 peek 返回队首元素,不会移除元素,队列为空时,

2022-05-09 16:46:03 337

原创 JUC之StampedLock源码

前提1.WNode源码分析static final class WNode { volatile WNode prev; //节点的前置连接 volatile WNode next; //节点的后置连接 volatile WNode cowait; //连续读节点的等待队列 volatile Thread thread; volatile int status; // 0, WA

2022-05-05 13:18:54 733

原创 JUC之ReentrantLock、ReentrantReadWriteLock

ReentrantLock一种基于Lock接口实现的独占可重入锁。它有两种实现,一种是公平锁,一种是非公平锁。ReentrantLock基于AQS,而且是独占式的,所以代码比较简单,源码重点在tryAcquire方法里,下面直接看源码解析:public class ReentrantLock implements Lock, java.io.Serializable { private final Sync sync;//同步器 public Reentrant

2022-04-29 19:27:45 102

原创 JUC之Atomic源码解析

Atomic操作类型1.基本类型AtomicIntegerAtomicInteger使用的是volatile+cas的方式保证数据的操作原子性。这种方式是有缺点的,ABA问题是它的缺点,所以使用该类型,要能无视ABA带来的影响。没有深入到jvm的源码级别,这里说一下里面的几个特殊方法的说明:public final int accumulateAndGet(int x, IntBinaryOperator ac..

2022-04-24 18:29:26 301

原创 JUC之AQS源码解析

JUC之AQS源码解析

2022-04-23 17:52:39 358

原创 数据结构——线性数据结构

数据结构是指计算机组织和存储数据的方式,不同的数据结构的特点影响着数据相关操作的效率。线性数据结构是指元素之间的关系是一对一的。线性数据结构有栈,队列,双队列,数组,链表,串。一、数组数组是一种典型的顺序存储线性结构并且大小固定,其中元素都具有相同类型,数组在内存中是以一种连续的空间进行存储的,也就是说数组中的元素在内存空间中是两两相邻的,所以已知第一个元素的位置,其他元素的位置都可以...

2019-03-24 23:38:20 2870

原创 JVM的内存管理

一、JVM的概述java语言的跨平台性就是靠着jvm的产生而实现的,jvm是Java Virtual Machine的缩写,所谓虚拟机就是虚拟一台计算机,在真实的计算机上仿真模拟各种计算机功能实现的。java是跨平台的,但是jvm不是,就是因为jvm根据不同平台的规范进行编写,才屏蔽了平台相关性因素。二、虚拟机的运行时数据区图中的各个区域就是jvm运行时使用的内存区,不同区域所属的功能不同。1.程...

2018-06-20 16:49:27 419

原创 python序章

一、简述由于突然对python有了一些兴趣和工作的需要,开始接触这门语言,语言历史及地位等等就不详细概述了。本人使用的是python 3.6.5的版本,据说python 2.x和3.x的版本有些许区别,这里就不考虑了。    Python 是一个解释型、交互性和面向对象的脚本语言。python是解释型脚本语言,这就代表它是不需要编译的,不想java、c、c++等需要编译后才能执行;交互性指的是py...

2018-06-12 09:31:20 227

空空如也

空空如也

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

TA关注的人

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