写给 Java / Spring Boot 开发者的 Golang 教程
我使用 Java 很多年了,我非常喜欢 Java 及其生态系统。在 Java 生态系统中,[Spring Boot](/spring-boot/) 是我构建 Java 应用的首选框架。 前不久,我在一个项目中使用了 [Golang](https://go.dev/),起初我对它的感觉褒贬不一。但用得越多,就越喜欢它。 每当我尝试学习一种新的语言或框架时,我都会尝试将新框架/...
我使用 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 对象可能...
1、简介 {#1简介} ----------- 了解如何处理 Java 类型层次结构中的对象对于编写灵活和可维护的代码至关重要。在这个领域中,两个基本概念是向上转型(Upcasting)和向下转型(Downcasting)。 本文将带你深入了解这些概念,探索它们之间的区别,以及它们在 Java 中的原理。 2、Java 中的类型转换 {#2java-中的类型转换} ---...
1、简介 {#1简介} ----------- 本文将带你了解 Java 枚举、JPA 和 PostgreSQL 枚举的概念,以及如何将它们结合使用,在 Java 枚举和 PostgreSQL 枚举之间创建无缝映射。 2、Java 枚举 {#2java-枚举} --------------------- Java 枚举(`Enum`)是一种特殊类型的类,用于表示一组固定数...
1、简介 {#1简介} ----------- 在现代软件开发中,由于 JSON 数据的轻量和通用性,处理 JSON 数据已经变得无处不在。*PostgreSQL* 凭借其对 JSON 的强大支持,为存储和查询 JSON 数据提供了出色的平台。 在 Java 中,我们通常使用 JDBC 与数据库进行交互,本文将带你了解如何使用 Java 的 `PreparedStateme...
1、概览 {#1概览} ----------- 本文将带你了解 Java 中读取文件的不同方法之间的差异。主要介绍 `getResourceAsStream()` 方法和 `FileInputStream` 类,以及它们的用例。 先说结论,`Files.newInputStream()` 方法,由于其在内存和性能方面的好处,推荐用于替代 `FileInputStream`。...