- 博客(10)
- 收藏
- 关注
原创 Java8 新特性之 Lambda 表达式和 Stream API
Stream API 的操作中,中间操作可以有多个,但是终止操作只能有一个中间操作并不会立即执行,而是返回一个新的 Stream 流,只有在触发终止操作的时候,才会触发计算,返回流的计算结果。
2024-11-08 20:44:44
1042
原创 java基础-八大基本数据类型
本篇文章偏向于 Java 基础,阅读时间大约为:4 分钟。目录1、前言2、Java 的八大基本数据类型2.1、整数类型(byte、short、int、long)2.2、浮点数类型(float、double)2.3、字符(char)2.4、布尔类型(boolean)3、变量的初始化和默认值4、基本数据类型的转换4.0、字面量和变量简述4.1、隐式类型转换4.2、显式类型转换。
2024-11-03 15:00:35
3202
原创 Java 多线程中的通信机制
隐式锁:避免了手动加锁和释放锁。可重入锁:避免了死锁。简单易用:实现起来较为简单方便。不够灵活:加锁粒度过大。效率过低:相较于显示锁,synchronized 效率过低。不可中断:其他处于 BLOCKED 状态中的线程必须要等待锁的释放才可以被中断。
2024-10-31 20:28:22
1226
1
原创 【java】如何优雅的停止线程?
尝试去关闭线程volatile 关键字:中断标记:线程池相关方法,会去尝试关闭线程池中正在运行的线程。上面这些方法都是优雅的关闭线程的方法,他们都是尝试去关闭线程而不是强制关闭线程。
2024-10-30 20:52:49
1435
2
原创 【Java 】集合篇-ArrayList-7000 字内容带你从入门到掌握(含源码)
AraryList 是 Java 集合框架中的一个动态数组实现类,位于 java.util 包下。它提供了一个可变变小的数组。可以动态的增加或者删除元素。动态数组支持随机访问线程不安全扩容机制总的来说,arrayList 适合需要频繁随机访问以及遍历元素的场景。我们简单记忆:ArrayList 实现了 List 接口(List 接口实现了 Collection 接口)。ArrayList 是线程不安全的ArrayList 是可以存放 null 元素的。
2024-10-28 21:40:33
922
原创 【Java】一篇文章学会 ThreadLocal
本篇文章会从源码的角度分析 ThreadLocal。文章内容不长,阅读时间大致为:4 分钟。是 Java 中提供的一种用于在多线程环境中存储线程私有变量的工具。它允许每个线程都能有自己的、独立于其他线程的变量副本,确保线程之间的数据隔离,避免数据竞争和状态共享问题。看下面图来加深理解(※※※)一个线程对应一个 ThreadLocalMap,ThreadLocalMap 中存放一个 Entry[] 数组,Entry 的结构是:以 ThreadLocal 对象为 key, Object 为 value。
2024-10-28 15:10:56
1969
原创 一篇文章掌握Java线程的生命周期(含快速掌握技巧)
新建(NEW)就绪(RUNNABLE)阻塞(BLOCKED)等待(WAITING)超时等待(TIMED_WAITING)终止(TERMINATED)记忆技巧(※※)。表示线程从新建到终止的流程。接着记忆WAITING和,这两者都表示线程处于 “等待状态”,只是 TIMED_WAITING 只会等待一段时间,而 WAITING 会无限等待,直到被唤醒。最后就是BLOCKED状态,这个状态可以理解为线程正在尝试获取锁,没有获取到就会处于 BLOCKED 状态。
2024-10-27 20:54:05
1386
原创 【java】什么是 Future 和 CompletableFuture - 一篇文章快速入门 Java 异步编程
Future 是 Java 并发库中的接口,表示一个异步计算的结果。使用 Future 可以在提交任务时立即返回一个对象,通过该对象可以检查任务的执行状态和结果。
2024-10-27 16:09:42
2643
原创 行为型设计模式-策略模式-一篇文章学会策略模式
策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,将每一个算法封装到独立的类中,使得它们可以相互替换。策略模式允许客户端在运行时选择所需的算法,而不需要修改客户端代码。
2024-10-26 20:11:20
1043
原创 排序-快速排序-java(双指针法)
快速排序(QuickSort)是一种基于分治法的高效排序算法。它通过选择一个,将数组划分成两个子数组,使得左侧子数组的所有元素小于基准元素,右侧子数组的所有元素大于基准元素。然后递归地对这两个子数组进行排序,最终使整个数组有序。下面先给出示例代码。
2024-10-26 19:09:39
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人