随笔 - 16  文章 - 0  评论 - 3  阅读 - 19469 
07 2023 档案
Java中的线程池使用及原理
摘要:## 开篇-为什么要使用线程池? ​ Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来 3 个好处。 ​ 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 ​ 第二:提高响应速度。当任 阅读全文
posted @ 2023-07-31 03:28 旅途的痕迹 阅读(2322) 评论(0) 推荐(1) 编辑
Java8 函数式编程stream流
摘要:Java8 函数式编程stream流## 开篇介绍 Java 8 中新增的特性旨在帮助程序员写出更好的代码,其中对核心类库的改进是很关键的一部分,也是本章的主要内容。对核心类库的改进主要包括集合类的 API 和新引入的流(Stream),流使程序员得以站在更高的抽象层次上对集合进行操作。下面将介绍stream流的用法。 ## 1.初始 阅读全文
posted @ 2023-07-27 23:10 旅途的痕迹 阅读(575) 评论(2) 推荐(0) 编辑
Java并发工具CountDownLatch的使用和原理
摘要:## 1.等待多线程完成的 CountDownLatch CountDownLatch 允许一个或多个线程等待其他线程完成操作。 假如有这样一个需求:我们需要解析一个 Excel 里多个 sheet 的数据,此时可以考虑使用多线程,每个线程解析一个 sheet 里的数据,等到所有的 sheet 都解 阅读全文
posted @ 2023-07-23 17:09 旅途的痕迹 阅读(196) 评论(0) 推荐(0) 编辑
结合ReentrantLock来看AQS的原理
摘要:### AQS的定义 ​ 队列同步器 AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个 int 成员变量表示同步状态,通过内置的 FIFO 队列来完成资源获取线程的排队工作,并发包的作者(Doug Lea)期望它能够成为实现 阅读全文
posted @ 2023-07-16 08:41 旅途的痕迹 阅读(65) 评论(0) 推荐(0) 编辑
模板模式
摘要:#### 模板模式的定义 其定义如下: Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine ce 阅读全文
posted @ 2023-07-12 00:24 旅途的痕迹 阅读(57) 评论(0) 推荐(0) 编辑
java 线程等待和唤醒方法
摘要:### java线程状态变迁图 ![](https://img2023.cnblogs.com/blog/3230802/202307/3230802-20230709194930011-325237077.png) 从图中可以看出Java 线程等待方法是将线程从Runnable状态转换为Waiti 阅读全文
posted @ 2023-07-09 22:57 旅途的痕迹 阅读(258) 评论(0) 推荐(0) 编辑
Variable 'xxxx' is accessed from within inner class, needs to be final or effectively final-Lambda 表达式的变量与作用域
摘要:#### 问题的原因 问题代码: ``` public static void main(String[] args) { Integer sum = 0; Integer count = 0; List list = new ArrayList(Arrays.asList(1,2,3,4,5)); 阅读全文
posted @ 2023-07-03 23:40 旅途的痕迹 阅读(3355) 评论(0) 推荐(0) 编辑
单例模式
摘要:#### 单例模式的定义 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。) 单例模式的通用类图如下: ![](htt 阅读全文
posted @ 2023-07-03 00:16 旅途的痕迹 阅读(15) 评论(0) 推荐(0) 编辑
volatile是如何保证有序性的?
摘要:#### 为什么需要保证有序性? 有如下代码,在int i = a;执行了的情况下,i的值最终会为几? ``` public class NoVolatileExample { int a = 0; boolean flag = false; public void writer() { a = 1 阅读全文
posted @ 2023-07-02 17:32 旅途的痕迹 阅读(51) 评论(0) 推荐(0) 编辑
happens-before 原则
摘要:#### happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型。JSR-133 使用 happens-before 的概念来阐述操作之间的**内存可见性**。在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 h 阅读全文
posted @ 2023-07-02 15:42 旅途的痕迹 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示