Java面试宝典:从入门到精通
文章平均质量分 95
准备Java面试不再繁琐!“Java面试宝典:从入门到精通”专栏为你倾力打造一站式面试指南,提供最全面、系统的Java知识点。从基础到高级,从理论到实战,助你轻松掌握面试关键点。不论你是新人还是老手,这里都有你需要的干货,助你在面试中脱颖而出,拿下心仪Offer!
程序员-杨胡广
作业难题、毕设辅导、就业简历优化加微:BitPlanet。喜欢读三十六计、孙子兵法、鬼谷子等谋略书籍,爱折腾。目前任职上海某厂高级Java开发,多年java开发经验,前后端全栈开发,精通各类业务的服务架构。目前正在研究Python AI模型,神经网络,感兴趣一起交流。
展开
-
四大集合之Queue-用不一样的姿势学习
JDK源码对Queue集合是这么解释的,大家看看。专为在处理之前保存元素而设计的集合。胡广是这么理解的,List集合用于存储常用元素、Map集合用于存储具有映射关系的元素、Set集合用于存储唯一性的元素。Queue集合呢?所有的数据结构都是为了解决业务问题而生,而Queue集合这种数据结构能够存储具有先后时间关系的元素,很适用于在业务高峰期,需要缓存当前任务的业务场景。像Kafka、RabbitMQ、RocketMQ都是队列任务这种思想。Queue集合底层接口提供的方法很简单,一共有 6 个。原创 2024-09-14 17:22:59 · 1119 阅读 · 95 评论 -
了解Redis集群概念,集群如何选举主节点
像上文的Redis集群的A、B、C三个节点,主从模型可以为这每一个主节点添加一个副本节点。Redis集群重新分片可以将任意数量已指派给某个节点的槽改为指派给另一个节点,而相关槽所属的键值对也会从源节点被移动到目标节点。Redis 集群将数据自动分片到多个 Redis 节点,Redis 集群还在分区期间提供一定程度的可用性,当某些节点发生故障或无法通信时,Redis集群能够继续运行。Redis集群的主从模型选举主节点和Redis哨兵选举出主节点非常相似,但大家不要搞混了,Redis集群中并没有哨兵的概念。原创 2024-09-11 10:34:57 · 715 阅读 · 2 评论 -
Redis面试必问:Redis为什么快?Redis五大基本数据类型
和上文提交的哈希对象不是同一个级别的产物,字典是Redis内部的数据结构,而哈希对象是提供给外部使用的。所以Redis内部会对有序集合采用字典和跳跃表两种实现,当使用对应不同场景时,就采用对应的不同数据结构来高效操作有序集合。跳跃表的查询效率是比较快的,可以和平衡二叉树相媲美,同时跳跃表相比平衡树的实现更加的简单。哈希键如果只包含少量的键值对,同时键、值都是类似小整数、短字符串类型的,会采用压缩列表的底层实现。列表键里如果包含的都是类似小整数、短字符串类型的,会采用压缩列表的底层实现。原创 2024-09-10 07:00:42 · 1035 阅读 · 20 评论 -
Redis面试必备:Redis两种内存回收策略,Redis键空间、过期字典等
每隔一段时间检查数据库中一部分的键,删除其中的过期键,该策略可以设置删除操作的执行时长和频率。过期的键不管,直到每次获取键,如果发现键过期了,才会释放出键内存。我们可以把Redis的数据库和MySQL的数据库理解成同一个东西,不同数据库之间都是相互隔离的,在一个数据库中定义的键对其他数据库。例如我们在Redis的数据库1设置键值对,在数据库1可以查询出来,而在数据库2中是查询不出来的。键空间的概念图如下,dict字典存储了所有键,每个键的指针指向值的引用地址。定时删除策略会为设置过期时间的键。原创 2024-09-10 06:56:43 · 758 阅读 · 12 评论 -
都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写
Redis本身是一个基于内存的数据库,它提供了RDB持久化、AOF持久化两种方式,用来将存储在内存中的数据库状态保存到磁盘中。前者是保存了整个Redis。AOF文件是AOF持久化的产物,AOF持久化通过保存服务器所有执行的写命令来记录数据库状态。对于一个键值对,AOF旧的文件会保存数十条对该键值对的修改命令,这样浪费了大量内存空间。现有的AOF文件,新旧两个AOF文件所保存的数据库状态相同,但新AOF文件。到新AOF文件的末尾,从而保证两个新旧AOF文件状态一致。的冗余命令,使得新的AOF文件体积很小。原创 2024-09-09 19:18:11 · 3170 阅读 · 117 评论 -
Redis主从数据同步过程:命令传播、部分重同步、复制偏移量等
从服务器使用SYNC进行初次数据同步后,主、从服务器的数据库状态并不是每时每刻都保持一致的,这种情况反而是常态。向主服务器发送心跳检测命令,如果主服务器超过1s没有收到replconf命令,说明主从服务器的网络连接有问题了。这种情况Redis主服务器会将造成主从服务器数据不一致的写命令,即最近执行的写命令,发送给从服务器执行。在心跳检测时的过程中,如果主服务器发现他们的复制偏移量不一致,就会通过该偏移量找到从服务器。后,主从服务器的偏移量就会 + N。从服务器执行命令后,主、从服务器的数据也就同步了。原创 2024-09-09 19:16:07 · 752 阅读 · 4 评论 -
2024年JAVA面试题目宝典-全网最全(关注持续更新中。。。)
程序员-杨胡广为帮助大家在面试中取得成功,创办了一个持续更新的面试专栏。内容涵盖Java基础、常用框架、中间件、数据库和服务器等多个领域,旨在提供系统化的学习资源,帮助求职者和跳槽者快速掌握面试要点。期待大家在评论区交流,共同进步!原创 2024-09-05 23:51:12 · 469 阅读 · 7 评论 -
MyBatis面试题必问: Mybatis一、二级缓存及其优缺点
MyBatis 是一个持久层框架,它通过 XML 或注解的方式将 SQL 语句与 Java 对象进行映射。与 Hibernate 不同,MyBatis 不完全采用 ORM(对象关系映射)思想,而是更加灵活地直接编写 SQL。MyBatis 适合处理复杂 SQL 场景,而 Hibernate 更适合简单的 CRUD 操作和全自动的对象映射。原创 2024-09-04 00:15:52 · 734 阅读 · 8 评论 -
使用AI写WebSocket知识是一种怎么样的体验?
包懵逼的,这些对于没学过的人毫无意义,不用记啦,当做笑话随便看看,老老实实去学websocket基础知识吧,学完再去动手做比啥都强。原创 2024-09-04 00:14:57 · 2574 阅读 · 9 评论 -
面试必备:熟悉Spring MVC工作流程,掌握Spring MVC常见注解
这篇文章深入探讨了 Spring MVC 的工作流程及其常见注解的使用。首先,它介绍了 Spring MVC 的核心组件和请求处理流程,包括 DispatcherServlet、Controller、ModelAndView 等关键概念。接着,文章详细解析了常用注解,如 @RequestMapping、@RestController、@RequestBody、@ModelAttribute 等,解释了它们的用途和实际应用场景。此外,文章还涵盖了异常处理、文件上传、国际化支持、跨域请求处理等高级主题,帮助开发原创 2024-09-03 08:27:20 · 925 阅读 · 7 评论 -
Spring面试必备:Spring IOC和AOP的理解、如何解决Spring循环依赖
IOC(Inversion of Control)是 Spring 框架的核心概念,指的是将对象的创建和管理交给 Spring 容器,而不是在应用程序中显式地进行控制。通过 IOC,依赖对象可以通过依赖注入(Dependency Injection, DI)进行传递,简化了对象的创建过程,降低了耦合度。原创 2024-09-03 08:26:07 · 1119 阅读 · 5 评论 -
Java并发编程面试必备:如何创建线程池、线程池拒绝策略
本文介绍了Java中的线程池及其在高并发编程中的应用,重点解析了ThreadPoolExecutor的核心参数配置、线程池类型选择及适用场景。文章探讨了常见的线程池拒绝策略,包括AbortPolicy和CallerRunsPolicy,并分析了它们在应对系统过载时的效果。此外,文章提供了20个常见面试问题及其详尽解答,涵盖了线程池的工作机制、任务队列、线程复用、异常处理与监控等关键知识点,为面试者提供了全面的复习指导,以帮助其在并发编程面试中表现出色。原创 2024-09-01 13:20:17 · 1662 阅读 · 5 评论 -
Java NIO是什么?零拷贝的概念
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。原创 2024-08-28 00:25:18 · 1001 阅读 · 3 评论 -
Java I/O流面试题全解析(全网最全含答案)— 持续更新中《Java面试宝典》
在一个安静的下午,你坐在书桌前,思考如何让你的Java代码更加高效。忽然,你想到了I/O操作,这是每个Java开发者绕不过去的难题。你可能曾因为慢如蜗牛的文件读写速度而头疼不已,也可能在处理流时犯了错,导致程序崩溃。这些都源自对Java I/O的理解不够深入。今天,我们将深入探讨Java I/O流的奥秘,让你不仅知其然,更知其所以然。原创 2024-08-28 00:22:06 · 1102 阅读 · 1 评论 -
Jvm面试题全解析(全网最全含答案)— 持续更新中《Java面试宝典》
深入解析 Java 虚拟机(JVM)面试常见问题,内容涵盖 JVM 内存布局、垃圾回收机制及其优化、类加载器的工作原理等。文章详细阐述了 JVM 各内存区域(如堆、栈、方法区等)的作用和管理方式,介绍了垃圾回收算法和常用垃圾回收器,包括 CMS 和 G1。通过自定义类加载器和多种方法打破双亲委派模型,文章还提供了大量实际代码示例和深入分析,帮助读者深入理解 JVM 的核心概念,并为面试准备提供了全面、实用的参考原创 2024-08-27 20:47:57 · 1153 阅读 · 2 评论 -
MySQL面试题全解析(全网最全含答案)— 持续更新中《Java面试宝典》
在这篇文章中,我将带领大家深入了解MySQL的事务特性、隔离级别、索引类型以及如何优化查询性能。我们将探讨事务的四大特性以及四种隔离级别,并通过实际例子解析索引的运作机制,如B-Tree和哈希索引。同时,文章还涵盖了索引的使用技巧及其在实际场景中的应用,尤其是如何通过Explain关键字分析SQL语句的执行效率,并利用慢查询日志来识别并优化性能瓶颈。对于正在备战面试的小伙伴,这篇文章将为你打下扎实的基础。原创 2024-08-26 22:47:44 · 1013 阅读 · 8 评论