Java 中为什么要避免使用 Finalizer?
Java 中的 finalize() 方法是 Object 类自带的一个方法,因所有的类都继承自 Object,所以所有类都是 Object 的子类,我们在子类重写 finalize() 方法就可以说使用了 Finalizer,使用其的目的 …
阅读更多Java 中的 finalize() 方法是 Object 类自带的一个方法,因所有的类都继承自 Object,所以所有类都是 Object 的子类,我们在子类重写 finalize() 方法就可以说使用了 Finalizer,使用其的目的 …
阅读更多因 Java 中没有命名参数的概念,当一个类的构造器可选参数太多的时候,代码可读性会变得很差。于是,建造者模式(Builder Pattern)应运而生。 本文首先举了一个真实的例子,引出构造器可选参数太多时应如何去处理的问题。然后,分析传 …
阅读更多Java 7 中引入了 try-with-resources 特性来保证资源使用完毕后,自动进行关闭。任何实现了 java.lang.AutoCloseable 接口的类,都可以看作是资源,也都可以使用该特性。本文将详细介绍该特性的使用方法 …
阅读更多使用 Java 原生方式访问 PostgreSQL 数据库时,偶然发现 JDBC Driver 42.3.0 读取 BigDecimal 时发生小数点前的 0 全部被抹掉的 Bug,特记录于此。
阅读更多本文首先将介绍在 Java 8 之前,传统的 Date 与 String 相互转换的工具类是怎么实现的;接着再探索在 Java 8 新引入 Instant 后,如何实现 Instant 与 String 的互转,以及新的工具类的实现。
阅读更多Moshi 是一个可用于 Java 与 Kotlin 的 JSON 序列化与反序列化库,其主要使用 Kotlin 编写。本文以样例代码的方式来演示该库在 Java 中的使用。
阅读更多jOOQ 是一个轻量级的 Java ORM(对象关系映射)框架,可用来构建复杂的 SQL 查询。jOOQ 可以根据数据库表自动生成对应的 Java 类,且字段类型与数据库一一对应,减少了 SQL 注入的风险。
阅读更多本文将会以对比 Java 的方式来学习 Kotlin 中的一些惯用写法与最佳实践,以便对 Java 转 Kotlin 的同学能有一些帮助。
阅读更多本文关注 Java 并发编程基础,介绍并发的基本概念、进程和线程的概念、Java 多线程的初步使用、共享资源访问控制等基础知识。 开始探索 Java 并发编程之前,我们需要知道:什么是并发?以及,并发与并行有什么不同?
阅读更多上文「如何快速搭建一个 Spring Boot 项目」介绍了使用 Spring Initializr 搭建 Spring Boot 模板项目的方法。本文接着介绍如何使用 Spring Boot 构建一个 RESTful Web 服务,主要关 …
阅读更多