BigDecimal 详解
《阿里巴巴 Java 开发手册》中提到:“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。浮点数的运算竟然还会有精度丢失的风险吗?确实会!示例代码: float a = 2.0f - 1.9f; ...
Java 语法糖详解
语法糖是大厂 Java 面试常问的一个知识点。本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解...
MQ消息队列八股系列(1)
1、MQ 使用场景有哪些? 异步通信场景: MQ可以实现消息的异步传递,避免了请求等待的时间,提高了系统的响应速度和吞吐量。 常见的应用场景有异步下单、异步支付等,例如在电商平台中,当用户...
MQ消息队列八股系列(3)
21、RocketMQ如何保证消息不丢失? 在 RocketMQ 中,消息的可靠性和一致性可以通过以下几个机制来保障: 1. 消息持久化 同步刷盘(SYNC_FLUSH) 描述:消息写入后立即同步刷盘,将消息持久化到...
Java 代理模式详解
1. 代理模式代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标...
AQS 详解
AQS 介绍AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。AQS 就是一个抽象类,主要用来构建锁和同步器。 public...
计算机Java基础常见面试题总结(上)
基础概念与常识Java 语言有哪些特点?简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统...
Java 序列化详解
什么是序列化和反序列化?如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。简单来说:序列化:将数据结构或对象转换成二进制...
MQ消息队列八股系列(2)
11、如何解决消息队列的延时以及过期失效问题? 整理后的内容如下: 解决消息队列的延时问题 1.1 增加消费者实例 方法:增加消费者实例可以提高消息处理的并发度,从而减少消息的等待时间。 1.2...
Java并发常见面试题总结1
什么是线程和进程?何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函...








