摘要: ## 垂直应用架构 也叫单体架构。以 MVC 的垂直架构举例,MVC 架构通常分为 3 层,展示层、控制层、模型层。通常基于 MVC 架构开发的应用代码会打成一个 war 包,部署在 Tomcat 等 Web 容器中。不同的业务模块间通过本地 API 进行调用,基本不存在跨进程的远程服务调用。 垂直 阅读全文
posted @ 2023-06-02 15:46 xfcoding 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 存储引擎的种类 MySQL 中存在多种存储引擎,比如: InnoDB 支持事务; 支持外键; 同时支持行锁和表锁。 适用场景:经常更新的表,存在并发读写或者有事务处理的业务场景。 MyISAM 支持表锁(插入更新操作会锁表); 不支持事务; 拥有较高的插入和查询速度。 适用场景:只读类的数据分析的业 阅读全文
posted @ 2023-06-01 17:29 xfcoding 阅读(21) 评论(0) 推荐(0) 编辑
摘要: ## 1. ThreadLocal 是什么 JDK 对`ThreadLocal`的描述为: > 此类提供线程局部变量。这些变量与普通变量的不同之处在于,每个访问一个变量的线程(通过其get或set方法)都有自己的、独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些字段希 阅读全文
posted @ 2023-05-25 14:36 xfcoding 阅读(463) 评论(0) 推荐(3) 编辑
摘要: ## 基础概念 1. 进程(process):进程是计算机中的一个任务,比如打开浏览器、IntelliJ IDEA。 2. 线程(thread):线程是进程内部的子任务。比如IDEA在敲代码的同时还能自动保存、自动导包,都是子线程做的。 进程和线程的关系就是一个进程包含一个或多个线程。 线程是操作系 阅读全文
posted @ 2023-05-17 10:43 xfcoding 阅读(784) 评论(0) 推荐(1) 编辑
摘要: 大家是否见过这种for循环,在for循环前加了个标记的: ```java outerLoop: for (; ; ) { for (; ; ) { break outerLoop; } } ``` 我之前有一次在公司业务代码中见过有这种写法的,没在意,今天在看JDK线程池的代码时,又看到`Threa 阅读全文
posted @ 2023-05-10 22:57 xfcoding 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 最近的需求里有这样一个场景,要校验一个集合中每个对象的多个Id的有效性。比如一个Customer对象,有3个Id:`id1`,`id2`,`id3`,要把这些Id全部取出来,然后去数据库里查询它们是否存在。 ```java @Data public class Customer { private 阅读全文
posted @ 2023-05-05 23:00 xfcoding 阅读(1293) 评论(0) 推荐(2) 编辑
摘要: Java 中,数组是保存一组对象的最有效的方式,但是数组的大小是固定的,通常在写代码时,我们不知道对象的确切个数,这个时候,JDK 提供的容器类帮我们解决这个问题。 Java 的容器类分为两类:`Collection`和`Map`。所有元素序列对象都实现了`Collection`接口,键值对对象则实 阅读全文
posted @ 2023-04-20 07:17 xfcoding 阅读(79) 评论(0) 推荐(0) 编辑
摘要: ## 基础知识点 1. 使用双引号创建字符串时,JVM会先在字符串常量池中查找是否已存在该字符串,存在则返回,不存在则在池中创建后再返回。使用String的`intern()`方法也是类似处理。 2. 使用`new String`的方式创建,或者使用`+`拼接变量时,JVM都会重新创建一个新对象。比 阅读全文
posted @ 2023-04-16 16:42 xfcoding 阅读(119) 评论(0) 推荐(0) 编辑
摘要: ``` Objects.requireNonNull```方法的源码是这样: ``` java public static T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; 阅读全文
posted @ 2022-11-24 23:13 xfcoding 阅读(1922) 评论(0) 推荐(1) 编辑
摘要: 事务是什么 百度百科是这么定义的: 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。 维基百科: 数据库事务表示在数据库管理系统内针对数据库执行的 阅读全文
posted @ 2022-11-21 23:23 xfcoding 阅读(530) 评论(2) 推荐(1) 编辑