Java 中的日期和时间处理类:从传统到现代
1、概览 {#1概览} ----------- 处理 `Date`(日期)和 `Time`(时间)是许多 Java 应用程序的基本组成部分。多年来,Java 在处理日期方面不断发展,引入了更好的解决方案来简化开发者的工作。 2、传统的日期和时间处理类 {#2传统的日期和时间处理类} ----------------------------- 在 `java.time` 包...
1、概览 {#1概览} ----------- 处理 `Date`(日期)和 `Time`(时间)是许多 Java 应用程序的基本组成部分。多年来,Java 在处理日期方面不断发展,引入了更好的解决方案来简化开发者的工作。 2、传统的日期和时间处理类 {#2传统的日期和时间处理类} ----------------------------- 在 `java.time` 包...
许多零基础 Java 开发者刚参加 Java 培训时并不知道 JavaSE/JavaEE/JavaME 三者之间的区别,那我们究竟该学习 JavaSE 还是 JavaEE,还是 JavaME 呢?笔者将以通俗易懂的方式给大家讲解这三者之间的区别。 三大版本 {#三大版本} ------------ JavaSE 即 Java 标准版,它是 JavaEE 和 JavaME...
### 一、charAt 与 codePointAt {#一charat-与-codepointat} 我们知道 Java 内部使用的是 utf-16 作为它的 char、String 的字符编码方式,这里我们叫它内部字符集。而 utf-16 是变长编码,一个字符的编码被称为一个 code point,它可能是 16 位 ------ 一个 code unit,也可能是 32...
1、概览 {#1概览} ----------- *Blowfish* 加密算法最初是作为 *DES* 加密算法的替代方案而设计的,是当今最流行的加密算法之一。*Blowfish* 是一种对称的分组加密算法,由 *[Bruce Schneier](https://en.wikipedia.org/wiki/Bruce_Schneier)* 于 1993 年设计 。该算法的块大小...
我使用 Java 很多年了,我非常喜欢 Java 及其生态系统。在 Java 生态系统中,[Spring Boot](/spring-boot/) 是我构建 Java 应用的首选框架。 前不久,我在一个项目中使用了 [Golang](https://go.dev/),起初我对它的感觉褒贬不一。但用得越多,就越喜欢它。 每当我尝试学习一种新的语言或框架时,我都会尝试将新框架/...
[Java 22](https://blogs.oracle.com/java/post/the-arrival-of-java-22) 是一个重大改进,我认为对于每个人来说都值得升级。其中包含了一些重要的最终发布功能,比如 **Project Panama** ,以及许多更好的预览功能。我无法一一介绍,但我想简要介绍一些我最喜欢的功能。如果你也想尝试一下的话,代码在 [这里]...
1、简介 {#1简介} ----------- 本文将带你了解如 `java.security.UnrecoverableKeyException` 异常出现的原因以及如何解决该异常。 2、背景 {#2背景} ----------- 在 Java 中,有一个 `Keystore` 的概念。它本质上是一个包含一些 *secret* 的文件。它可以包含证书链以及与之对应的私钥...
1、概览 {#1概览} ----------- 随着生成式 AI 和 ChatGPT 的广泛应用,许多语言都开始提供与 [OpenAI API](https://openai.com/) 交互的库。Java 也不例外。 本文将带你了解 [openai-java](https://github.com/TheoKanning/openai-java) 库,它是一个开源的 Op...
1、简介 {#1简介} ----------- 在 Java 中,通常使用相对于 JAR 文件根目录的路径来访问JAR文件中的资源。 本文将带你了解获取 Java JAR 文件中资源路径的不同方法。 2、使用 Class.getResource() 方法获取资源的 URL {#2使用-classgetresource-方法获取资源的-url} --------------...
1、简介 {#1简介} ----------- 本文将带你了解如何使用 *Jackson* 序列化和反序列化 `java.sql.Blob` 对象。 `java.sql.Blob` 表示 Java 中的二进制大对象(Binary Large Object,Blob),可以存储大量二进制数据。在使用 Jackson 处理 JSON 序列化和反序列化时,处理 Blob 对象可能...