文章分类 - Java
1
摘要:# Concurrent 集合 我们已经通过 ReentrantLock 和 Condition 实现了一个 BlockingQueue ```java public class TaskQueue { private final Lock lock = new ReentrantLock(); p
阅读全文
摘要:线程间共享变量需要使用 volatile 关键字标记,确保每个线程都能读取到更新后的变量值。 为什么要对线程间共享的变量用关键字 volatile 声明?这涉及到 Java 的内存模型。在 Java 虚拟机中,变量的值保存在主内存中,但是,当线程访问变量时,它会先获取一个副本,并保存在自己的工作内存
阅读全文
摘要:# 创建新线程 要创建一个新线程非常容易,我们希望新线程能执行指定的代码,有以下几种方法: 1. 从 Thread 派生一个自定义类,然后覆写 run() 方法 ```java public class Main { public static void main(String[] args) {
阅读全文
摘要:# 标准库 API Java 标准库有两套处理日期和时间的 API - 一套定义在 java.util 这个包里面,主要包括 Date 、Calendar 和 TimeZone 这几个类 - 一套新的 API 是在 Java 8 引入的,定义在 java.time 这个包里面,主要包括 LocalD
阅读全文
摘要:
阅读全文
摘要:Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 # 泛型带来的好处 在没有泛型的情况的下,通过对类型 Object 的引用来实现参
阅读全文
摘要:Java 的标准库 java.io 提供了 File 对象来操作文件和目录。构造 File 对象时,既可以传入绝对路径,也可以传入相对路径。绝对路径是以根目录开头的完整路径,例如: ```java File f = new File("C:\\Windows\\notepad.exe"); ```
阅读全文
摘要:sealed 翻译为密封,密封类(Sealed Classes)的首次提出是在 Java15 的 JEP 360 中,并在 Java 16 的 JEP397 再次预览,而在 Java 17 的 JEP 409 成为正式的功能。 Sealed Classes 主要特点是限制继承 Sealed Clas
阅读全文
摘要:在 JDK 10 及更高版本中,您可以使用 var 标识符声明具有非空初始化式的局部变量,这可以帮助您编写简洁的代码,消除冗余信息使代码更具可读性,谨慎使用。 # var 声明局部变量 var 特点: 1. var 是一个保留字,不是关键字(可以声明 var 为变量名) 2. 方法内声明的局部变量,
阅读全文
摘要:Text Block 处理多行文本十分方便,省时省力。无需连接 "+" ,单引号,换行符等。 Java 15 ,参考JEP 378 认识文本块 语法:使用三个双引号字符括起来的字符串。 """ 内容 """ 例如: String name = """lisi"""; // Error ,不能将文本块
阅读全文
摘要:Switch 增强的三个方面,参考:JEP 361 支持箭头表达式 支持 yied 返回值 支持 Java Record 箭头表达式 & 新的 case 标签 Switch 新语法示例: public static void main(String[] args) { int week = 7; S
阅读全文
摘要:Java 14 中预览的新特性叫做 Record 。 在 Java 中,Record 是一种特殊类型的 Java 类,可用来创建不可变类。 参考 JEP 395 。 Jackson 2.12 支持 Record 。 任何时候创建 Java 类,都会创建大量的样板代码: 每个字段的 set ,get
阅读全文
摘要:——乐之者java。相关链接: > https://space.bilibili.com/392539815 http://www.roadjava.com/ Lombok 可以简化 POJO 类的书写,如 getter 、 setter 、tostring 、equals 、hashcode 等。
阅读全文
摘要:出处:https://medium.com/swlh/5-ways-to-replace-if-else-statements-857c0ff19357 本文并不肯定或者否定哪一种写法,仅仅为大家提供一些其他的编码思路或者一些值得借鉴的点子。 设计更好的软件,替换 If-Else 的 5 种方法,从
阅读全文
摘要:1. Rational Rose(收费) 2. StarUML
阅读全文
摘要:在文章的开头,先说下 NPE 问题,NPE 问题就是,我们在开发中经常碰到的 NullPointerException 。假设我们有两个类,他们的 UML 类图如下图所示: 
浙公网安备 33010602011771号