首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具

面试

场景面试
专栏成员
31
文章
3118
阅读量
13
订阅数
Double-Checked Locking双重检查锁定
通过两次判空与 volatile 的配合,DCL在多线程环境下实现了性能与安全的平衡,但需注意其适用条件与潜在风险。在实际开发中,应根据具体场景选择更简洁或更安全的替代方案。
麦辣鸡腿堡
2025-03-19
1100
synchronized 的锁升级机制详解
synchronized 是 Java 中实现线程同步的核心机制,其锁状态会随着竞争激烈程度动态升级,以提高并发性能。从 无锁 到 重量级锁 的升级过程包括四个阶段,且 不可逆。以下是具体流程及原理:
麦辣鸡腿堡
2025-03-19
1290
什么情况下对象不能被代理
在 Java 中,代理机制(如 JDK 动态代理、CGLIB)是实现 AOP 和动态扩展的核心技术,但某些情况下对象无法被代理。以下是常见场景及原因:
麦辣鸡腿堡
2025-03-19
710
三次握手和四次挥手的理解
三次握手是TCP协议建立可靠连接的核心机制,确保双方具备双向通信能力并同步初始序列号(ISN)。具体过程如下:
麦辣鸡腿堡
2025-03-18
1900
Integer用==判断有什么问题
Java 对 Integer 对象在 -128 到 127 范围内进行了缓存优化,自动装箱(如 Integer a = 100)会复用缓存对象,此时 == 可能返回 true;但超出此范围时,每次自动装箱会创建新对象,导致 == 失效 。
麦辣鸡腿堡
2025-03-18
620
死锁以及如何解决
死锁是指两个或多个进程(或线程)因竞争资源而陷入相互等待的永久阻塞状态,若无外部干预,无法继续推进 。例如,线程A持有资源X并等待资源Y,而线程B持有资源Y并等待资源X,形成循环等待的僵局。
麦辣鸡腿堡
2025-03-18
1000
线程池的理解
线程池通过复用线程、控制并发数和任务队列,有效管理系统资源,提升处理效率。合理配置核心参数(如线程数、队列类型)及拒绝策略,结合业务场景选择合适的线程池类型,并加强监控与异常处理,可确保线程池的高效稳定运行
麦辣鸡腿堡
2025-03-18
920
ArrayList的扩容机制
<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
麦辣鸡腿堡
2025-03-18
940
rabbitmq和rocket的工作流程
<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
麦辣鸡腿堡
2025-03-18
940
RabbitMQ 事务消息的核心机制与 Java 实现示例
RabbitMQ 通过 AMQP 协议的事务机制实现消息的可靠投递,确保消息发送与本地事务的原子性。其核心流程分为三个阶段:
麦辣鸡腿堡
2025-03-18
610
事务消息的理解
事务消息是分布式系统中用于保证本地事务与消息发送原子性的特殊消息类型,其核心目标是解决生产者端的数据一致性问题。例如,在电商场景中,订单系统创建订单后需发送消息清理购物车,事务消息确保这两操作要么都成功,要么都失败,避免数据不一致(如订单已创建但购物车未清理)。
麦辣鸡腿堡
2025-03-18
710
水平分表
水平分表是一种将数据表按一定规则拆分为多个子表的技术。每个子表存储全表数据的一部分,所有子表共同组成完整的数据集。通过这种方式,可以减小单表的数据量,提高查询和操作的性能。
麦辣鸡腿堡
2025-03-18
500
rabbitMQ如何处理消息丢失
麦辣鸡腿堡
2025-03-18
690
分布式锁
分布式锁的本质是通过外部共享存储系统协调多个进程/线程对共享资源的互斥访问,需满足以下特性:
麦辣鸡腿堡
2025-03-18
1150
表设计什么时候必须使用自增ID,什么时候不能用
<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
麦辣鸡腿堡
2025-03-18
790
new String之后会创建几个对象
在 Java 中,使用 new String("abc") 创建字符串对象时,是否创建两个对象取决于字符串常量池中是否已存在 "abc"。以下是具体分析:
麦辣鸡腿堡
2025-03-18
490
java中常用反射的API及作用
通过反射 API,开发者可以在运行时动态加载类、创建对象、调用方法、读写字段,实现高度灵活的逻辑(如 Spring 框架的依赖注入)。但需权衡灵活性与性能、安全性。
麦辣鸡腿堡
2025-03-18
660
HashMap工作原理的理解,1.7和1.8,数据结构,怎么切换红黑树和链表
<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
麦辣鸡腿堡
2025-03-18
1320
为什么不推荐用select *
在 SQL 查询中直接使用 SELECT * 看似方便,但实际上会引入多种潜在问题。以下是主要原因及实际场景分析:
麦辣鸡腿堡
2025-03-18
650
如何理解Nginx的动静分离,思路,怎么实现,什么内容,根据什么规则
动静分离是指将动态资源(如PHP、JSP等需后端处理的请求)与静态资源(如图片、CSS、JS等无需实时计算的资源)分别交由不同服务处理,以提升整体性能。其核心思路包括:
麦辣鸡腿堡
2025-03-18
930
点击加载更多
活动推荐
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文