-
JVM:类加载器
说明 基于Java11。 系统类加载器 ClassLoader systemClassLoader = ClassLoader.getSystemClassLo
-
JVM:类的加载过程
加载 Loading 通过一个类的全限定名获取定义此类的二进制字节流 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类
-
Java 中的 GC Roots
判断是否会被回收 Java使用的是可达性分析法,为了解决引用计数法的循环引用问题。 引用计数法 枚举根节点做可达性分析(根搜索路径) 基本思想 以GC Ro
-
单例双重校验为什么还要加 volatile
单例代码 双重校验 + volatile public class Singleton { //防止在new对象时指令重排序 private
-
为什么匿名内部类引用外部局部变量必须要加 final 关键字
Java 代码 public class Test { public static void main(String[] args) {
-
为什么匿名内部类引用外部局部变量不用加 final 也不报错
Java 代码 匿名内部类引用了局部变量,编写代码时没有用final修饰也没有报错,因为编译器会检查后续有没有写操作,如果有,则在编译器时就会报错(包括匿名内部
-
Lombok MapStruct cannot find symbol
现象 Lombok与MapStruct一起使用时,无法获取到getter、setter方法。 解决方法 Maven插件中添加处理Lombok注解的插件。 <
-
Java 语法糖 - 增强 for 循环
本质 对于数组而言,会转换为普通for循环。 对于集合而言,会转换为iterator迭代器。 数组 对于数组而言,增强for循环本质是for(int i = 0
2022-04-27, Views: 1812 , Topics: Java
-
Java 语法糖 - 方法重写时的桥接方法
桥接方法 子类重写的方法的返回值可以是父类方法的返回值的子类。 本质 编译器帮忙生成了合成的桥接方法。 内部有一个重写父类相同返回值的方法,以及子类重写的返回值
2022-04-27, Views: 1542 , Topics: Java
-
Java 语法糖 - try with resource
前提 需要实现AutoCloseable接口。 示例一 Java 代码 public class Test8 { public static void
2022-04-26, Views: 1492 , Topics: Java
-
Java 语法糖 - switch 匹配字符串
本质 switch匹配字符串本质是先通过比较输入字符串的hashCode和分支条件对应的字符串的hashCode是否相同,相同再使用equals比较字符串是否相
2022-04-24, Views: 3186 , Topics: Java
-
Java 语法糖 - 可变参数
本质 可变参数本质就是数组。 Java 代码 可以看到String... args可变参数可以直接赋值给String[]数组。 public class Tes
2022-04-21, Views: 1401 , Topics: Java
-
Java 语法糖 - 泛型擦除
示例 Java 代码 public class Test { public static void main(String[] args) {
2022-04-20, Views: 1791 , Topics: Java
-
Java 语法糖 - 自动拆装箱
Java 代码 public class Test { public static void main(String[] args) {
-
LRU 算法 Java 实现
定义 Least Recently Used 最近最少使用,是一种常用的页面置换算法。 选择最近最久未使用的数据予以淘汰。 LinkedHashMap publ
-
Tomcat acceptCount 和 maxConnections 参数解析
版本 Tomcat9 参数说明 acceptCount:全连接队列容量,等同于backlog参数,与Linux中的系统参数somaxconn取较小值,Windo
-
Java JDBC 获取数据库链接
方法一 Class<?> clazz = Class.forName("com.mysql.jdbc.Driver"); // Driver driver = (Driver) clazz.newI
-
Java SPI 机制
示例代码 接口 package com.example.service; public interface HelloService { void
2022-04-09, Views: 1336 , Topics: Java
-
Java module-info.java 关键字解释
示例 module com.example.demo { requires javafx.controls; requires javafx.f
2022-01-10, Views: 2812 , Topics: Java
-
Java Log4j2 高危漏洞复现及解决办法
影响范围 影响< 2.15.0的所有2.x版本。且JDK版本在Oracle JDK 11.0.1、8u191、7u201、6u211及之前的版本。 Git