
Java面试八股
文章平均质量分 93
夏荷影
这个作者很懒,什么都没留下…
展开
-
Redis八股
当查询一个不存在的数据,mysql查询不到数据,无法写入缓存,导致每次都请求数据库。原创 2024-10-14 20:23:52 · 1130 阅读 · 0 评论 -
JAVA 并发八股
AQS是多线程的队列同步器,在基础框架中使用的锁机制AQS内部维护了一个先进先出的双向队列,队列中存储的是排队的进程在AQS内部还有一个属性state,这个state就相当于是一个资源,默认为0(无锁状态),如果队列中的有一个线程成功将state修改为1,则视为改线程获取了资源。对state修改的时候使用了cas操作,保证多个线程修改的情况下的原子性。原创 2024-10-11 18:06:19 · 938 阅读 · 0 评论 -
设计模式面试题
模型中的静态结构,描述了系统中类的集合,类的属性和类之间的关系;是系统分析和设计阶段的产物。原创 2024-04-09 21:48:41 · 1119 阅读 · 1 评论 -
中间件-消息队列
延迟队列指的是存储对应的延迟消息,消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。利用RabbitMQ的死信交换机和消息存活时间TTL来实现安装死信插件(具体没用过)原创 2024-03-19 20:22:54 · 1453 阅读 · 1 评论 -
JVM面试题
程序计数器是线程私有的,每个线程中存在一份,内部保存字节码的行号,用于记录正在执行中的字节码指令地址。每个线程运行时所需要的内存,称为虚拟机栈,先进后出每个栈由多个栈帧(frame)组成,对应着每次方法调用所占用的内存(包括参数、局部变量、返回地址等)每个线程只能有一个活动栈帧,对应着当前正在执行的方法常量池:可以看作一张表,虚拟机指令根据表中信息找到要执行的类名、方法名、参数类型、字面量等信息当类被加载,它的常量池信息就会放入运行时常量池,并将其中符号地址变为真实地址。原创 2024-03-18 20:38:15 · 998 阅读 · 0 评论 -
Mybatis八股
MyBatis 动态 sql 可以让我们在 xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。其执行原理为,使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,以此来完成动态 sql 的功能。若Dao层函数有多个参数,那么其对应的xml中,#{0}代表接收的是Dao层中的第一个参数,#{1}代表Dao中的第二个参数,以此类推。Mybatis 的 Dao 接口可以有多个重载方法,但是多个接口对应的映射必须只有一个,否则启动会报错。原创 2024-03-12 15:56:56 · 887 阅读 · 0 评论 -
MySQL常见面试题
索引是帮助MySQL高效获取数据的数据结构(有序)。提高数据检索的效率,降低数据库的IO成本(不需要全盘扫描)通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。聚簇索引(聚集索引):数据与索引放在一起,B+树的叶子节点保存了整行数据,有且只有一个。一般情况下主键作为聚簇索引非聚簇索引(二级索引):数据与索引分开存储,B+树的叶子节点保存对应的主键,可以有多个通过二级索引找到对应的主键值,到聚集索引中查找整行数据,这个过程就是回表。原创 2024-03-07 20:47:35 · 791 阅读 · 0 评论 -
Spring八股 常见面试题
简单来说,Bean 代指的就是那些被 IoC 容器所管理的对象。我们需要告诉 IoC 容器帮助我们管理哪些对象,这个是通过配置元数据来定义的。配置元数据可以是 XML 文件、注解或者 Java 配置类。AOP称为面向切面编程,用于将与业务无关,但是对多个对象产生影响的公共行为和逻辑进行抽取和封装,形成一个可重用的模块,这个模块被命名为"切面"(Aspect)。可以减少系统中的重复代码,降低模块间的耦合度,同时提高了系统的可维护性。术语含义目标 Target被通知的对象代理 Proxy。原创 2024-02-29 21:06:14 · 2094 阅读 · 0 评论 -
Java集合八股
大O表示法:不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势。原创 2024-02-28 19:44:06 · 783 阅读 · 0 评论 -
Java基础八股
字节码是JAVA可以理解的代码,即扩展名为.class的文件,不面向任何特定的处理器,只面向虚拟机。采用字节码的好处在于:一定程度上解决了传统解释型语言执行效率的问题,同时又保留了解释性语言可移植的特点。字节码不针对特定机器,所以Java程序无需重新编译便可在多种不同的操作系统上运行。JIT编译器在完成第一次编译后,会将字节码对应的机器码保存下来,下次可以直接使用。从 Java5 开始,Java 支持定义可变长参数,所谓可变长参数就是允许在调用方法时传入不定长度的参数。原创 2024-02-28 19:40:14 · 971 阅读 · 0 评论