概述 JDK5新特性之一,提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。那么参数化类型就是将类型将原来具体的类型参数化,然后在使用或调用时传入具体的类型。这种参数类型可以用在类、方法和接口中,分别被称为泛型类、泛型方
问题描述 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的。 例如下列数字都是吸血鬼数字: 1260 = 21 × 60 1827 = 21 × 87 2187 = 27 × 81
在 Java Web 开发过程中,不免会遇到图片上传的场景。本文提供了一套完整的解决方案,解决 Tomcat 重新部署时图片资源丢失的问题。 问题描述 第一个问题:虚拟路径问题 在 Tomcat 上部署的项目获取到的是 webapps 下面的路径: // 上传后的临时存储的路径 String fil
概述 抽象类和抽象方法必须使用 abstract 关键字修饰! 语法定义 抽象类的定义 public abstract class 类名 {} 抽象方法的定义 public abstract void eat(); 重要特性 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类! 抽象类不能直接
常用校验注解 数值校验注解 @Max:可用于数字和字符串(字符串必须为数值型),其值必须小于等于指定的最大值 @Min:可用于数字和字符串(字符串必须为数值型),其值必须大于等于指定的最小值 长度校验注解 @Length:可用于字符串,其长度必须在指定的范围内 @Size:可用于字符串、List、数
1. 概述 在《Thinking in Java》第五章 5.5 小节“清理:终结处理和垃圾回收”中,作者强调了对象清理工作的重要性。虽然 Java 有垃圾回收器(GC)处理 new 出来的内存,但对于“特殊内存区域”或特定的状态校验,仍需深入理解其内部机制。 2. finalize() 方法 垃圾
异步API 以前我们用 Thread 或者 Runnable 来实现异步,这是Oracle官方做法,不过缺点很明显:对于复杂业务场景需要配置线程池,代码繁杂;对于新手容易造成不必要的Bug;如果涉及到线程锁或线程通讯就棘手了。 现在,Java 8 为我们提供了 CompletableFuture 类