文章分类 -  Java

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

1