原创

JavaDoc 规范与最佳实践指南

1. 类上的 JavaDoc 注释结构 基本结构 第一段:概要描述(一句或一段话,以英文句号结束) 第二段:详细描述(一段或多段话,每段以英文句号结束) 第三段:文档标注(作者、创建时间、参阅类等信息) 单行示例 /** * Utility class used to help generate

裴先生 发布于 2021-01-15
原创

Java 泛型详解:类型安全的编程利器

概述 JDK5新特性之一,提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。那么参数化类型就是将类型将原来具体的类型参数化,然后在使用或调用时传入具体的类型。这种参数类型可以用在类、方法和接口中,分别被称为泛型类、泛型方

裴先生 发布于 2020-12-19
原创

Java 实现吸血鬼数字查找算法

问题描述 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的。 例如下列数字都是吸血鬼数字: 1260 = 21 × 60 1827 = 21 × 87 2187 = 27 × 81

裴先生 发布于 2020-12-10
原创

Java Web 图片上传解决方案:解决 Tomcat 重新部署导致图片丢失问题

在 Java Web 开发过程中,不免会遇到图片上传的场景。本文提供了一套完整的解决方案,解决 Tomcat 重新部署时图片资源丢失的问题。 问题描述 第一个问题:虚拟路径问题 在 Tomcat 上部署的项目获取到的是 webapps 下面的路径: // 上传后的临时存储的路径 String fil

裴先生 发布于 2020-12-03
原创

Java 抽象类与抽象方法详解

概述 抽象类和抽象方法必须使用 abstract 关键字修饰! 语法定义 抽象类的定义 public abstract class 类名 {} 抽象方法的定义 public abstract void eat(); 重要特性 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类! 抽象类不能直接

裴先生 发布于 2020-11-29
原创

Java Bean Validation 参数校验详解

常用校验注解 数值校验注解 @Max:可用于数字和字符串(字符串必须为数值型),其值必须小于等于指定的最大值 @Min:可用于数字和字符串(字符串必须为数值型),其值必须大于等于指定的最小值 长度校验注解 @Length:可用于字符串,其长度必须在指定的范围内 @Size:可用于字符串、List、数

裴先生 发布于 2020-11-22
原创

Java 内存管理:深入理解 finalize() 与垃圾回收机制

1. 概述 在《Thinking in Java》第五章 5.5 小节“清理:终结处理和垃圾回收”中,作者强调了对象清理工作的重要性。虽然 Java 有垃圾回收器(GC)处理 new 出来的内存,但对于“特殊内存区域”或特定的状态校验,仍需深入理解其内部机制。 2. finalize() 方法 垃圾

裴先生 发布于 2020-10-10
原创

Java 8 异步编程与时间处理实战指南

异步API 以前我们用 Thread 或者 Runnable 来实现异步,这是Oracle官方做法,不过缺点很明显:对于复杂业务场景需要配置线程池,代码繁杂;对于新手容易造成不必要的Bug;如果涉及到线程锁或线程通讯就棘手了。 现在,Java 8 为我们提供了 CompletableFuture 类

裴先生 发布于 2020-10-01
上一页
下一页