MapStruct使用方式
为什么不用BeanUtils.copyProperties? 因为 BeanUtils 低效(反射) MapStruct 在编译时生成代码,不会使用反射机制 1. 入门 1.1 安装 <!-- …
对象的四种引用关系
Java中的引用有四种,分为强引用(Strongly Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)…
类加载的过程(对象创建的过程)
整体流程如下: 1. 类加载检查 分为两种情况类已经被加载过 和 未被加载过 1.1 未加载过 涉及三个阶段:加载、链接、初始化 加载: 通过类加载器将类文件(.class)加载到内存中。 链接: 验…
Java基础面试题
前言 面渣逆袭 Java 基础篇 原文戳链接 Java概述 1. 什么是Java C++(--):吸收了C++的优点,并且抛弃了指针、多继承等概念 是一门面向对象语言 2. Java特点 面向对象(封…
IO相关
常见的流 1.1 字节流 常用类如下 File读取文件 public static void main(String[] args) { try ( BufferedInputStream bis =…
Redisson常用方法
Redisson 参考: 原文链接 定义:Redisson 是一个用于与 Redis 进行交互的 Java 客户端库 优点:很多   1. 入门 1.1 安装 <!--redissio…
方法区的变更(HotSpot虚拟机)
定义 方法区是Java虚拟机规范定义的一块用于存储类信息、常量、静态变量、编译器编译后的代码等数据的内存区域。方法区是规范,不是实现。   JDK1.6 方法区被实现为永久代 运行时数据区如…
接口和抽象类的区别
1. 接口 1.1 定义 接口是一种规范,是对行为的抽象,接口中不包含任何具体实现(Java 8 及更高版本中允许默认方法) public interface demo { public static…