自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT乐知

it乐知 · 程序员的私房笔记

  • 博客(118)
  • 收藏
  • 关注

原创 一文总结Java中原子类相关实现

开发中涉及到公共资源如果都可以用锁去控制并发,但是对于简单比如一个变量都要实现一个并发控制难免太复杂了,所以Java提供了一些简单的原子类以供使用。

2020-08-24 08:07:22 100

原创 ArrayList相关的面试题你能答上来吗

相信ArrayList是大家最常见也最常用的类了,但是相关面试题却不一定会。

2020-08-21 09:08:36 142

原创 ThreadLocal源码分析以及面试问题

在阅读源码的时候总是会遇到对ThreadLocal的使用,是时候梳理下这个类的作用了。​

2020-08-19 08:40:31 147

原创 一般人不知道的线程间数据交换Exchanger

线程间的数据共享除了定义一个共享数据然后各个线程去访问这种方式外,还可以使用Exchanger交换数据。

2020-08-17 08:13:09 222

原创 让人高看一眼的并发工具类Phaser

前面介绍的几个工具类大家或多或少都有听说过,但是Phaser却很少人知道,如果在面试中问到你能回答上来,会让面试官高看一眼的。​使用场景现实中很多事情都是分很多个阶段,并且每个阶段都要都完成才能进行下一个阶段。比如就像大学时去吃饭一样,寝室几个都是在11点左右准备去吃午饭,首先是大家都要起床,然后一起出门,一起去吃完饭,最后一起回家。每一个过程中都有完成的先后,但是都会等待一起完成才会做接下来的事情。每个阶段的等待好像都可以用上一篇文章讲的CyclicBarrier来实现,但是在这个场景下,由于有多

2020-08-14 08:31:54 157

原创 并发工具类CyclicBarrier介绍与源码解析

在上一篇文章中介绍了Condition的作用,而CyclicBarrier就是通过它来实现自己的功能的,今天就在阅读源码的同时来看看它的运用。

2020-08-12 08:19:49 124

原创 总结AQS在并发工具类中的使用

前面几篇文章分析了AQS的实现在并发中的运用,今天来整体的总结下他们的区别。

2020-08-11 11:05:57 213

原创 并发工具类Condition介绍与源码解析

在之前介绍AQS源码的时候,还遗留了一个内部类ConditionObject没有介绍,它也是并发中至关重要的类。

2020-08-10 08:12:25 97

原创 一文弄懂最复杂并发工具类读写锁源码

前面几篇文章分析了AQS下实现类的使用,今天讲最后一个也是最复杂的一个ReentrantReadWriteLock。

2020-08-03 08:41:02 238

原创 并发工具类信号量Semaphore介绍与源码解析

介绍了ReentrantLock与CountDownLatch,今天介绍第三个AQS下的并发工具类。​

2020-07-31 11:50:59 168

原创 并发工具类闭锁CountDownLatch介绍与源码解析

前面看了ReentrantLock的源码,而闭锁CountDownLatch可能大家见得少,但是他也是AQS下的一个并发工具类,今天来简单介绍一下它。​

2020-07-29 08:12:18 111

原创 ReentrantLock快速的源码解读分析

上一篇文章简单快速的过了下AQS的源码,梳理了下它提供的功能,以及它在并发的作用,今天看下ReentrantLock源码看看它的作用。

2020-07-27 08:16:14 143

原创 快速过一下并发的基础类AQS源码

AbstractQueuedSynchronizer是并发的一个关键基础类,它是很多并发类的构成基础,比如ReentrantLock、CountDownLatch等,了解了它其他类就简单明了了。

2020-07-24 10:27:36 96

原创 多线程并发主要知识点清单总结

多线程并发涉及到的知识很多,这里总结了一些主要的清单和重点内容。

2020-07-22 08:17:10 210

原创 多线程并发支撑基础之JAVA内存模型

Java内存模型可以说是Java并发的底层支持,了解Java内存模型才能正在了解Java并发。

2020-07-20 08:08:32 106

原创 多线程并发之原子变量与非阻塞同步机制

前面所有对资源同步的实现都是加锁,加锁就会出现阻塞,实际上还可以实现不用加锁并且是非阻塞实现同步。

2020-07-17 08:27:04 151

原创 阻塞队列来看并发库中对线程阻塞的实现

上一篇已经实现了一个阻塞队列,阻塞队列的关键是则是线程,那么并发库中的类是如何阻塞线程的呢?​

2020-07-15 08:18:34 129

原创 多线程并发基础通过Object的方法实现阻塞队列

​Java中已经有很多自带同步的类,我们今天通过实现一个阻塞队列来理解原理。

2020-07-13 08:16:43 122

原创 JDK的锁Synchronized、ReentrantLock与读写锁

作为Java中面试常见的锁问题,也是必须了解的。

2020-07-10 08:21:00 199

原创 多线程与并发程序的测试

测试是系统开发中的重中之重,而多线程并发的测试则是其中的难点。

2020-07-08 08:17:38 510

原创 多线程并发的性能问题和解决方法

多线程与并发是为了提升性能,性能提升实际上就是使用更少的资源做更多的事情。

2020-07-06 08:29:10 662

原创 多线程学习之常见死锁问题

多线程开发避不开锁,而锁又避不开死锁问题,所以弄清楚死锁问题才能开发出好的多线程程序。

2020-07-03 08:14:12 169

原创 多线程学习使用线程池必须了解的基础知识

​要使用一门技术肯定要先了解它,要使用线程池也一定要了解线程池使用的情况和基本参数。

2020-07-01 08:17:07 139

原创 多线程学习之如何中断线程

在很多时候我们需要中断或者取消一些任务,在Java中并没有提供一些好的方法来终止线程。

2020-06-29 08:15:48 357

原创 实现简单服务器学习多线程与Executor

这是一个单线程的实现,也能满足基本的要求,但是如果请求多起来以后就会出现问题,由于同一时刻只能处理一个请求,服务器的响应性和吞吐量会急剧下降……

2020-06-27 11:56:19 134

原创 阻塞队列实现生产者消费者以及同步工具类

要学习多线程一些基本的同步类也是不得不学习的,这里主要讲一点基本的概念与使用。

2020-06-24 08:18:56 271

原创 从发展来看Vector与Hashtable的淘汰

语言是会随着时代的发展而发展的,而Vector与Hashtable又是如何随着Java的发展而不再使用的呢?

2020-06-22 00:16:56 284

原创 多线程开发之如何创建一个线程安全的类

​上一篇讨论了如何解决线程安全的问题,今天总结如何设计一个线程安全的类;

2020-06-17 08:11:44 274

原创 多线程入门必须知道的基础知识

多线程给我们带来了更好的资源利用和更好的程序响应,不过也为我们带来了必须要解决的麻烦!

2020-06-15 08:10:55 263

原创 面试问题类初始化过程与对象分配过程

类的初始化过程和对象分配过程也是面试中经常问的问题,如果能够清晰的回答出来必定涨分不少。

2020-06-12 08:23:55 135

原创 简述面试常见问题的锁升级与锁优化

​上一篇讲了锁与线程安全的关系,讲到jdk经历了几个版本对锁进行了优化,这里简单梳理一下锁优化。

2020-06-10 08:15:04 376

原创 结合线程安全梳理synchronized与Lock

​多线程与锁虽然我们平时开发中比较少的用到但是面试确实必问,这里简单梳理以下他们的关系。

2020-06-08 08:11:58 160

原创 一文回答垃圾收集器相关问题

垃圾收集器作为面试必问之一,往深了会有很多,但是一些入门的问题还是希望大家能够马上回答。

2020-06-05 07:51:32 120

原创 Java内存模型与volatile关键字

Java的内存模型大概样子还是有必要了解下的,今天就学习了下,顺便学习了一点volatile关键字!

2020-06-03 08:09:06 157

原创 JVM面试题之运行时内存结构

jvm是Java程序员必须知道的内容,相关的内容也是面试必问的问题,而运行时内存结构又是必问中的必问了。

2020-06-01 08:06:04 221

原创 hashmap经典面试问题以及答案

​上一篇文章分析了hashmap的主要方法,了解了主要方法接下来好解答平时面试的问题了。

2020-05-29 08:10:36 2389

原创 快速弄懂hashmap主要方法实现

​HashMap是我们平时开发中使用频率最高的类型之一,也是必问的面试题之一,弄清楚hashmap能解决很多问题。

2020-05-27 08:11:22 260

原创 通过栈帧简述方法运行过程

今天学习的是如何执行方法内的字节码,以及执行代码时涉及的内存结构,在JVM的内存区域中与方法有关的主要是线程独有的部分……

2020-05-25 08:09:58 383

原创 通过自定义类加载器来验证双亲委托机制

上一篇文章我们知道了类加载器通过组合方式实现了双亲委托,那么类又是如何具体加载的呢?

2020-05-22 08:06:28 140

原创 快速了解类加载采用双亲委托机制的原因与实现

Java中类加载采用的是双亲委托机制,为什么要这样处理?又是怎样实现的呢?接下来简单说说我的理解。

2020-05-20 08:01:10 269

空空如也

空空如也

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

TA关注的人

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