
面试
文章平均质量分 63
代码有点萌
。
展开
-
JVM笔记
程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经无法访问,程序用不了它们了,对程序而言它们已经死亡),为了确保程序运行时的性能,java 虚拟机在程序运行的过程中不断地进行自动的垃圾回收(GC)。什么是引用引用是一个对象别名,与被引用的对象共享同一块内存区域。在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。原创 2023-12-21 18:47:06 · 733 阅读 · 0 评论 -
MySQL的四大主要内容
MySQL支持四种事务隔离级别,分别是Read Uncommitted(读取未提交数据)、Read Committed(读取已提交数据)、Repeatable Read(可重复读)、Serializable(串行化)。不同的隔离级别提供不同程度的数据一致性和并发性。InnoDB存储引擎通过使用行级锁和MVCC机制,实现了高并发性能和事务隔离级别。锁机制保证了数据的一致性,MVCC机制则提高了并发性。事务隔离级别和锁机制可以根据具体的应用场景进行调整,以平衡性能和数据一致性的需求。原创 2023-12-21 18:39:39 · 581 阅读 · 0 评论 -
`Spring`、`Spring Boot`和`Spring MVC`
、和是Spring框架的不同模块,各自有不同的目标和关注点。Spring:Spring Boot:Spring MVC:总结区别:原创 2023-12-21 18:38:13 · 365 阅读 · 0 评论 -
Redis的缓存持久化以及缓存淘汰策略
Redis 作为一款内存数据库,支持多种缓存持久化和淘汰策略,以确保数据的持久性和有效管理内存。原创 2023-12-21 18:37:28 · 804 阅读 · 0 评论 -
ReentrantLock
是 Java 中提供的一种高级的线程同步机制,其底层实现涉及到多个概念和数据结构。原创 2023-12-21 18:35:51 · 422 阅读 · 0 评论 -
多线程的实现方式
运行时异常通常是由程序逻辑错误引起的,例如除零操作、数组越界、空指针引用等。Runnable 接口 run 方法只能抛出运行时异常,且无法捕获处理;Callable 接口 call 方法允许抛出异常,可以获取异常信息。换言之,Runable 比较保守,啥也没有。原创 2023-12-21 18:34:44 · 861 阅读 · 0 评论 -
心跳检测解决了什么问题
现在思考一个问题,服务在下线时需要从注册中心移除元数据,那么注册中心怎么才能感知到服务下线呢?我们最先想到的方法就是节点主动通知的实现方式,当节点需要下线时,向注册中心发送下线请求,让注册中心移除自己的元数据信息。但是如果节点异常退出,例如断网、进程崩溃等,那么注册中心将会一直残留异常节点的元数据,从而可能造成服务调用出现问题。为了避免上述问题,实现服务优雅下线比较好的方式是采用主动通知 + 心跳检测的方案。原创 2023-12-07 17:21:40 · 423 阅读 · 0 评论