![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面经
文章平均质量分 88
面经分类专栏旨在整理和归纳各种面试题目
澡澡洗澡澡
菜鸡一枚
展开
-
一文彻底搞懂 volatile 和 synchronized 的区别
在Java多线程编程中,volatile和synchronized是两个常用的关键字,用于保证共享变量的可见性和线程安全。虽然它们都可以用于实现线程安全,但是它们的运行机制和使用方式有很大不同。原创 2024-04-11 10:51:44 · 868 阅读 · 0 评论 -
一文彻底搞懂 Redis 缓存与数据库一致性
一般的业务场景都是读多写少的,当客户端的请求太多,对数据库的压力越来越大,引入缓存来降低数据库的压力是必然选择,目前业内主流的选择基本是使用 Redis 作为数据库的缓存。但是引入缓存以后,对我们系统的设计带来了很大的挑战,其中缓存和数据库的数据一致性问题就是一个非常棘手的问题。原创 2024-04-10 16:33:32 · 1603 阅读 · 0 评论 -
一文彻底搞懂Elasticsearch
Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene构建,提供了全文搜索、结构化搜索、分析等功能。它主要用于实时搜索、日志和事件数据分析、全文搜索等场景。原创 2024-04-09 21:15:23 · 1106 阅读 · 0 评论 -
一文彻底搞懂Kafka
Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用 Scala 语言编写,目前是 Apache 的开源项目。原创 2024-04-08 21:03:24 · 780 阅读 · 0 评论 -
一文彻底搞懂JAVA 异常分类及处理
如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。原创 2024-04-07 18:34:34 · 768 阅读 · 0 评论 -
一文彻底搞懂Redis为什么快
Redis(Remote Dictionary Server)是一个开源的基于内存的数据结构存储系统,它支持多种数据结构,如字符串(Strings)、哈希表(Hashes)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)等,并提供了丰富的操作这些数据结构的命令。原创 2024-04-06 13:56:51 · 556 阅读 · 0 评论 -
一文彻底搞懂synchronized实现原理
synchronized 是 Java 中实现线程同步的关键字,用于保护共享资源的访问,确保在多线程环境中同一时间只有一个线程能够访问特定的代码段或方法。它提供了互斥性、可见性和有序性三个基本特性,确保了线程间操作的原子性和数据的一致性。原创 2024-04-05 13:52:12 · 1671 阅读 · 0 评论 -
一文彻底搞懂ZooKeeper选举机制
ZooKeeper 是一个分布式的开源协调服务,它提供了一个高性能的分布式协调服务,用于构建分布式应用程序和服务。ZooKeeper 集群是由多个 ZooKeeper 服务器组成的,这些服务器协同工作以提供高可用性和可靠性。原创 2024-04-04 15:05:52 · 2013 阅读 · 0 评论 -
一文彻底搞懂分布式事务解决方案
分布式事务是指跨多个节点、多个数据存储或多个服务之间进行的事务操作。在分布式系统中,由于数据和服务的分散性,事务操作可能涉及多个资源,因此需要特殊的机制来确保事务的一致性、隔离性、原子性和持久性(ACID 特性)。原创 2024-04-03 18:05:59 · 1211 阅读 · 0 评论 -
一文彻底搞懂SpringMVC执行流程
Spring MVC 是 Spring Framework 的一部分,是一个基于 Java 的开源 Web MVC 框架,用于构建 Web 应用程序。它提供了一种轻量级的、灵活的方式来开发 Web 应用程序,并借助依赖注入和面向切面编程等技术来促进松耦合和高效的开发。原创 2024-04-02 18:26:27 · 1445 阅读 · 0 评论 -
一文彻底搞懂如何创建线程
java创建线程(Thread)的5种方式方式一:继承于Thread类方式二:实现Runnable接口方式三:实现Callable接口方式四:使用线程池方式五:使用匿名类原创 2024-04-01 19:29:41 · 882 阅读 · 0 评论 -
一文彻底搞懂 TSL 流程
TLS(Transport Layer Security)是 HTTPS 使用的加密协议,它的前身是 SSL(Secure Sockets Layer),用于在通信双方之间建立安全连接并保护数据的传输。原创 2024-03-31 19:37:53 · 1035 阅读 · 0 评论 -
一文彻底搞懂并发容器
并发容器是一种用于多线程环境的数据结构,它们能够有效地处理并发访问和修改的问题。在多线程应用程序中,多个线程可能会同时访问和修改共享的数据结构,这可能会导致数据不一致、竞态条件和其他并发问题。并发容器通过实现特定的算法和机制来确保线程安全性,从而有效地管理共享数据结构的并发访问。原创 2024-03-30 18:47:34 · 903 阅读 · 0 评论 -
一文彻底搞懂spring循环依赖
Spring 中的循环依赖是指两个或多个 Bean 之间相互依赖,形成一个循环引用的情况。在 Spring 容器中,循环依赖通常指的是单例(Singleton)作用域的 Bean 之间的循环引用。原创 2024-03-29 21:57:51 · 1034 阅读 · 0 评论 -
一文彻底搞懂常见IO模型
阻塞式 IO(Blocking IO):在进行 IO 操作时,用户线程会被阻塞,直到数据准备好或操作完成才会返回结果。这种模型下,用户线程需要等待IO操作完成后才能进行其他任务。原创 2024-03-28 20:09:20 · 1540 阅读 · 0 评论 -
一文彻底搞懂MySQL中事务的五种分类
事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全部成功完成,要么全部失败回滚,从而保证数据库操作一致性和完整性的重要机制,它确保了数据库在并发环境下的正确性和可靠性。原创 2024-03-27 18:53:52 · 1751 阅读 · 0 评论 -
一文彻底搞懂反射机制
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能就是反射机制。也就是说通过反射机制,我们可以获取想要获取到的东西。原创 2024-03-26 17:51:41 · 897 阅读 · 0 评论 -
一文彻底搞懂Redis底层数据结构
Redis是一个基于内存的数据存储系统,它支持多种数据结构和数据类型,每种数据结构和数据类型都有其特定的用途和适用场景。原创 2024-03-25 11:28:08 · 1623 阅读 · 1 评论 -
一文彻底搞懂MySQL索引
MySQL索引是一种数据结构,用于提高数据库查询效率。它可以快速定位到表中符合特定条件的数据行,从而加快查询速度。索引通常是根据表中的一个或多个字段创建的,它们存储了对应字段值的排序方式和位置信息,使得数据库系统可以更快地定位到所需的数据行。原创 2024-03-24 16:26:07 · 745 阅读 · 0 评论 -
一文彻底搞懂HashMap
JDK 8 中 HashMap 的数据结构是数组+链表+红黑树。原创 2024-03-23 18:23:07 · 1242 阅读 · 0 评论 -
一文彻底搞懂虚拟内存
虚拟内存是一种内存管理技术,是虚拟的、逻辑上存在的存储空间。原创 2024-03-21 17:48:01 · 1181 阅读 · 0 评论 -
一文彻底搞懂线程池
线程池是一种线程管理机制,用于管理和复用线程,以提高程序的性能和资源利用率。在多线程编程中,创建和销毁线程是一项开销较大的操作,因此通过线程池可以预先创建一定数量的线程,并维护一个线程队列,以便在需要时重复利用这些线程,从而避免不断地创建和销毁线程带来的性能开销。原创 2024-03-20 22:25:25 · 1114 阅读 · 0 评论 -
一文彻底搞懂分库分表
分库:从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中。分表:从单张表拆分成多张表的过程,将数据散落在多张表内。原创 2024-03-19 16:15:50 · 1257 阅读 · 0 评论 -
一文彻底搞懂select、poll、epoll之间的区别
select、poll 和 epoll 都是用于 I/O 多路复用的机制,它们的目的都是监视多个文件描述符,以确定是否有数据可读、可写或者发生了异常。原创 2024-03-18 11:23:44 · 1081 阅读 · 0 评论 -
一文彻底搞懂进程间通信方式
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)原创 2024-03-17 18:04:03 · 1059 阅读 · 0 评论 -
一文彻底搞懂TIME_WAIT状态为什么等待2MSL的时长
MSL 指的是最大报文生存时间(Maximum Segment Lifetime),是 TCP 协议中的一个重要参数。它表示一个 TCP 报文在网络中能够存在的最长时间,通常以秒为单位。原创 2024-03-16 15:00:04 · 765 阅读 · 0 评论