MyBatis 中 #{} 和 ${} 的区别详解 一、概述 在 MyBatis 中,#{} 和 ${} 都用于在 SQL 语句中引用参数,但它们在底层实现、安全性和使用场景上存在本质区别。 对比维度 #{} ${} 处理方式 预编译参数(PreparedStatement) 直接字符串替换 SQL
Java 跳出循环详解:break、continue 和 return 概述 在 Java 中,控制循环流程的关键字有三个:break、continue 和 return。它们的作用不同,适用的场景也不同。 关键字 作用 是否结束方法 break 结束整个当前循环,执行循环后面的语句
Java 使用阻塞队列实现生产者消费者模式 一、什么是生产者消费者模式? 生产者消费者模式是一种经典的多线程协作设计模式。它通过一个共享缓冲区(通常是一个队列)将"生产数据"和"消费数据"的线程解耦: 生产者线程
Java 中的阻塞队列(BlockingQueue)详解 一、什么是阻塞队列? 阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列: 支持阻塞的插入:当队列满时,插入元素的线程会被阻塞,直到队列有空闲位置。 支持阻塞的移除:当队列空时,获取元素的线程会被阻塞,直到队列中有可用元素。
Java 中创建线程的四种方式详解 概述 在 Java 中,创建线程有多种方式。从 JDK 源码的角度,官方文档指出 “There are two ways to create a new thread of execution”(继承 Thread 类或实现 Runnable 接口),但从实际开发
Java 语言中 static 的应用场景 一、static 概述 static 是 Java 中的静态修饰符,用于修饰成员变量、成员方法、代码块和内部类。被 static 修饰的成员属于类级别,随类的加载而分配内存,不依赖于任何对象实例。 核心特点: 在类加载时完成初始化,优于对象存在 被类的所有
HashMap 扩容问题详解 一、HashMap 扩容机制概述 HashMap 底层采用数组 + 链表(红黑树) 的结构。为了保持查询效率,当 HashMap 中的元素数量超过 阈值(threshold) 时,会触发扩容。 1.1 扩容触发条件 负载因子(loadFactor):默认
利用Guava进行缓存 原文来源:简书 - Guava缓存简介+demo+克隆类的使用 作者: salt丶 发布时间: 2020.07.03 09:12:57 ⚠️ Wolai页面(
单例模式的代码如下所示: public class Singleton { private volatile static Singleton uniqueInstance; private Singleton() { } public static Sing