Java 常见并发容器总结
JDK 提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap : 线程安全的 HashMapCopyOnWriteArrayList : 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector。Con...
Java 反射机制详解
何为反射?如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。...
MQ消息队列八股系列(1)
1、MQ 使用场景有哪些? 异步通信场景: MQ可以实现消息的异步传递,避免了请求等待的时间,提高了系统的响应速度和吞吐量。 常见的应用场景有异步下单、异步支付等,例如在电商平台中,当用户...
Java 线程池最佳实践
简单总结一下我了解的使用线程池的时候应该注意的东西,网上似乎还没有专门写这方面的文章。1、正确声明线程池线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明,避免使用Executors 类...
MQ消息队列八股系列(3)
21、RocketMQ如何保证消息不丢失? 在 RocketMQ 中,消息的可靠性和一致性可以通过以下几个机制来保障: 1. 消息持久化 同步刷盘(SYNC_FLUSH) 描述:消息写入后立即同步刷盘,将消息持久化到...
BigDecimal 详解
《阿里巴巴 Java 开发手册》中提到:“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。浮点数的运算竟然还会有精度丢失的风险吗?确实会!示例代码: float a = 2.0f - 1.9f; ...
Atomic 原子类总结
Atomic 原子类介绍Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线...
Java 代理模式详解
1. 代理模式代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标...
Java 语法糖详解
语法糖是大厂 Java 面试常问的一个知识点。本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解...
Java SPI 机制详解
在面向对象的设计原则中,一般推荐模块之间基于接口编程,通常情况下调用方模块是不会感知到被调用方模块的内部具体实现。一旦代码里面涉及具体实现类,就违反了开闭原则。如果需要替换一种实现...









