首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java高频面试题
一灯架构
创建于2022-06-07
订阅专栏
精选Java高频面试题,讲解通读易懂,生动有趣,持续更新。
等 736 人订阅
共83篇文章
创建于2022-06-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
不知道怎么优化接口性能,看完这篇文章就够了
工作中经常涉及到优化Java接口性能,这篇文章总结一下优化接口性能涉及哪些方面?包括代码优化、架构优化、数据库优化、缓存策略、网络优化等。以下是详细的优化方案: 1. 代码优化 1.1 批量调用 单个
一文详解Java高性能垃圾回收器ZGC,为什么比CMS、G1更快
ZGC(Z Garbage Collector)是在JDK 11 中引入一种新的垃圾回收器,旨在提供非常低的暂停时间和高的吞吐量,尤其适用于超大堆内存的应用。是一个可伸缩的低延迟垃圾回收器。 CMS与
一口气说出Redis实现5种限流算法,面试稳了
使用Redis实现限流是一种常见的做法,尤其是在分布式系统中。Redis的高性能和丰富的命令集使其非常适合于实现各种限流算法。下面介绍几种常见的限流算法及其在Redis中的实现: 1. 固定窗口限流
git fetch命令到底是干什么用的?与git pull区别是什么?
在Git中,git fetch和git pull是用于从远程仓库获取更新的两个命令,它们的功能和应用场景有显著的区别。大部分开发者只用过git pull,但是什么时候需要用到git fetch命令呢?
不会还有人没有用过git rebase合并分支吧?一文详解git merge与git rebase区别
在Git中,git merge、git merge --squash 和git rebase是用于合并分支的不同方法。每种方法都有其特定的用法和应用场景。以下是它们的详细区别和应用场景: 1. git
不会Raft算法,别写精通分布式系统
Raft 协议是一种为了管理分布式系统的日志复制而设计的一致性算法,Raft的目标是提供一种比 Paxos 更容易理解和实现的方式来保证分布式系统的一致性。Raft 被广泛用于分布式系统中,例如:Et
分布式事务最简单的实现方案:一文详解本地消息表
基本概念 本地消息表是最常用的一种实现分布式事务的模式,通过协调本地事务与外部系统的状态,确保系统在分布式环境下达到一致性。它主要用于确保在多个系统之间进行数据传输和状态更新时,保持最终一致性。 本地
分布式事务实现方案:一文详解Saga事务实现原理
基本概念 Saga事务是一种分布式事务实现方式,通过将大事务分解为一系列有序的、可以独立执行的本地事务来管理一致性。这些本地事务通过协调器或者事件驱动的方式依次执行,如果其中一个事务失败,则使用相应的
还不懂分布式事务:带你深入剖析TCC实现原理
TCC概念 常见的分布式事务实现方案有以下几种:两阶段提交(2PC)、三阶段提交(3PC)、TCC(Try-Confirm-Cancel)、补偿事务(Saga)、MQ事务消息等。 由于2PC资源锁定时
面试必考:怎样解决线上消息队列积压问题
提到消息队列,最常问到的问题就是消息积压,真实线上环境该怎么解决消息积压的问题?真实情况并不是网上说的把积压的消息投递到一个新Topic中,然后慢慢消费。这样做,成本太高、流程复杂、操作麻烦,而
分布式事务实现方案:一文详解RocketMQ事务消息
常见的分布式事务实现方案有以下几种:两阶段提交(2PC)、两阶段提交(2PC)、补偿事务(Saga)、MQ事务消息等。今天就讲一下 RocketMQ 的事务消息,是一种非常特殊的分布式事务实现方案,基
MQ选型:一文详解Kafka与RocketMQ区别
在做MQ技术选型的时候,Kafka和RocketMQ是常用的两个消息队列中间件,今天就从架构设计、性能分析、使用场景来比较一下两者的区别,到底该使用哪个MQ? Kafka最初由LinkedIn开
一文详解MySQL调优流程,吐血整理
MySQL调优是面试中最常问的问题,但是面试者在回答这个问题的时候,答的很混乱,逻辑不清晰,也不全面。今天就跟大家一起总结一下MySQL调优流程。 面试官:我看你的简历上写着精通MySQL调优,你说一
面试官:你说一下TCP为什么需要三次握手和四次挥手?
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议,TCP是全双工模式,需要三次握手建立连接,四次挥手关闭连接。 三次握手 三次握手(Three-way Handshake)是指建立一个
面试官:你知道TCP与UDP的区别吗?
TCP(传输控制协议)和UDP(用户数据报协议)是互联网中两个核心的传输层协议,它们各自采用不同的方式来确保数据从源头传输到目的地。今天就详细探讨TCP与UDP协议的主要区别: 1. 连接的建立 TC
Java并发编程系列:深入剖析CyclicBarrier源码
CyclicBarrier中文叫做循环栅栏,用来控制线程的执行速率。 适用场景: 一组线程在到达栅栏之前,需要相互等待,到达栅栏之后(满足了特定条件),再一起执行。 适用场景好像跟CountDow
Java并发必会,深入剖析Semaphore源码
Semaphore中文叫做信号量,跟CountDownLatch一样也是一种共享锁,用来控制资源的访问。相当于限流的作用,用法跟前面讲过的令牌桶类似,访问资源之前,需要先获取令牌,处理结束后,需要归还
没看过CountDownLatch源码,别说是Java高级开发
高手程序员与新手程序员一个简单的判断标准,就是有没有使用过CountDownLatch,在互联网公司工作超过3年的程序员基本上应该都用过。 CountDownLatch中文名称叫做闭锁,也叫计数锁,
没看过ReentrantLock源码,别说精通Java并发编程
ReentrantLock和Synchronized都是Java开发中最常用的锁,与Synchronized这种JVM内置锁不同的是,ReentrantLock提供了更丰富的语义。可以创建公平锁或非公
没看过AQS源码,别说精通Java并发编程
AQS 全称 AbstractQueuedSynchronizer(抽象队列同步器),旨在作为创建锁和其他同步机制的基础,常见的同步锁 ReentrantLock、CountDownLatch、Sem
下一页