java八股
文章平均质量分 94
凉漠
摸爬滚打
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java八股补充篇2
代理模式为一个对象(目标对象)创建一个“代理对象”,客户端不直接访问目标对象,而是通过代理对象间接访问,从而在不修改目标对象的前提下,增加额外的功能(如日志、权限检查、事务等)。代理类在编译期就已经写好,是“静态”存在的。特性静态代理动态代理(如 JDK 动态代理、CGLIB)代理类生成时机编译期手动编写运行时动态生成灵活性低,一个代理类对应一个目标类高,一个处理器可代理多个类代码量多,需要为每个目标写代理类少,通用的是否需要接口必须实现公共接口JDK 动态代理需要接口;原创 2025-11-06 11:48:37 · 766 阅读 · 0 评论 -
消息队列-八股
消息队列(Message Queue,MQ)是分布式系统中的核心中间件之一,主要从三大核心价值出发。订单服务创建订单后,需要通知库存、物流、积分、短信等多个下游系统。如果直接调用,任何一个下游故障都会导致订单失败。订单服务只负责发一条“订单创建”消息到 MQ,各下游系统。:加入一个操作设计到好几个步骤,这些步骤之间不需要同步完成比如客户去创建了一个订单,还要去客户轨迹系统添加一条轨迹、去库存系统更新库存、去客户系统修改客户的状态等等,这些操作串行执行将会产生大量的时间,用户体验差。原创 2025-11-06 10:56:24 · 843 阅读 · 0 评论 -
java八股补充篇
怎么解决这三个问题。原创 2025-10-24 01:03:28 · 919 阅读 · 0 评论 -
Redis相关八股
Redis 提供了8 种淘汰策略,分为三类:基于 LRU、LFU、TTL 和随机。第一类:针对所有 key(allkeys)策略说明从所有 key 中淘汰最近最少使用(Least Recently Used)的。从所有 key 中淘汰最不经常使用(Least Frequently Used)的。从所有 key 中随机淘汰。第二类:仅针对设置了过期时间的 key(volatile)策略说明从设置了 TTL 的 key 中淘汰最近最少使用的。从设置了 TTL 的 key 中淘汰最不经常使用的。从。原创 2025-10-23 20:09:16 · 608 阅读 · 0 评论 -
MySQL相关
MySQL数据库核心知识点摘要(148字): InnoDB作为MySQL默认存储引擎,通过事务(ACID)、行锁和MVCC实现高并发安全,支持崩溃恢复。MVCC机制通过多版本数据快照实现读写并发控制。数据库范式规范表结构设计,减少冗余。事务隔离级别中,InnoDB在RR级别通过间隙锁解决幻读问题。聚簇索引(B+树存储完整数据)与非聚簇索引(存储主键值)影响查询效率。UUID主键会导致写入性能差、空间浪费等问题,推荐使用自增ID或有序分布式ID。原创 2025-10-19 14:49:24 · 905 阅读 · 0 评论 -
Spring面试
JDK动态代理实现原理:基于Java的反射机制,要求目标类必须实现至少一个接口。Spring会在运行时动态创建一个实现了与目标类相同接口的代理类。核心组件类和接口。通过方法创建代理对象,所有方法调用都会被的invoke()方法拦截。优点:是Java原生支持,无需额外依赖。缺点:只能代理实现了接口的类。CGLIB动态代理实现原理:基于字节码生成库(ASM),通过继承目标类来创建子类作为代理。代理类会重写目标类的所有非final方法。核心组件类和接口。通过Enhancer。原创 2025-10-18 20:18:56 · 908 阅读 · 0 评论 -
java八股-操作系统
操作系统内存管理是操作系统的核心功能之一,主要负责合理分配、回收和保护内存资源,确保多个进程能够高效、安全地共享物理内存。操作系统设计了虚拟内存,每个进程都有自己的独立的虚拟内存,我们所写的程序不会直接与物理内打交道。内存管理的核心目标✅提高内存利用率:让尽可能多的程序装入内存。✅方便程序使用:为程序员提供“无限大”的地址空间。✅实现内存保护:防止进程非法访问其他进程或系统的内存。✅支持虚拟内存:让程序可以运行在比物理内存更大的“虚拟”空间中。物理内存计算机中实际存在的。原创 2025-10-16 19:11:54 · 611 阅读 · 0 评论 -
java线程-并发编程
多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。为了避免临界区的竞态条件发生,有多种手段可以达到目的。(如共享变量、文件、数据库连接等),并且。是指一段代码,在这段代码中,线程会。,从而可能产生错误或不一致的结果。访问和修改共享资源,导致程序的。临界区与竞态条件的关系。原创 2025-10-16 16:38:15 · 1018 阅读 · 0 评论 -
java线程相关八股
方式是否有返回值是否可抛异常是否推荐适用场景继承 Thread❌❌⚠️ 不推荐简单演示实现 Runnable❌❌✅ 推荐一般多线程任务实现 Callable + FutureTask✅✅✅ 推荐需要返回结果线程池(ExecutorService)✅/❌✅/❌✅✅强烈推荐生产环境、高并发线程池采用先添加到队列而不是先创建最大线程的设计,主要是为了提高资源利用率减少线程创建的开销,避免系统过度消耗资源。线程的创建、销毁和上下文切换是有开销的。原创 2025-10-15 15:57:33 · 1015 阅读 · 0 评论 -
JVM相关
垃圾回收(Garbage Collection, GC)自动识别并回收不再使用的对象,释放内存空间,防止内存泄漏和内存溢出。是指在垃圾回收过程中,JVM暂停所有应用线程(用户线程)的执行,只保留必要的GC线程进行垃圾回收操作。核心特点:全局暂停:所有正在运行的Java线程都会被冻结,应用程序暂时“卡住”。GC专用时间:在此期间,只有GC线程在工作,确保堆内存状态一致,避免在回收过程中对象引用关系发生变化。影响用户体验:STW的时间长短直接影响应用的延迟(Latency)和响应性。原创 2025-10-14 19:11:22 · 808 阅读 · 0 评论 -
Spring Boot02(数据库、Redis)02---java八股
这种策略只针对设置了过期时间的key进行操作,优先淘汰那些最近最少使用且已经设置了过期时间的key。描述:在设置了过期时间的key中,淘汰过期时间剩余最短的。这种策略优先淘汰那些即将过期的key,确保Redis存储的数据尽可能新鲜。在不确定哪些key是热门数据,或者对淘汰策略没有特殊要求的情况下,可以使用这种简单的随机淘汰策略。通常不推荐使用,除非对数据的完整性有极高的要求,且能够接受在内存不足时拒绝所有写操作的后果。在需要淘汰过期key,但又不希望完全依赖LRU算法的情况下,可以使用这种随机淘汰策略。原创 2025-03-22 23:27:50 · 1550 阅读 · 0 评论 -
分布式存储(Zookeeper)---java八股
分布式事务是指在分布式系统中,由多个微服务或数据库参与的事务,这些参与者可能分布在不同的服务器或数据存储中。与单体应用中的传统事务不同,分布式事务需要确保在多个系统或服务之间的一致性、可靠性和原子性,即要保证在多方参与的事务中,要么全部成功,要么全部失败。ZAB协议是Zookeeper用来实现一致性的原子广播协议领导者选举阶段:从Zookeeper集群中选出一个节点作为Leader,所有的写请求都会由Leader节点来处理。原创 2025-02-17 14:18:20 · 1142 阅读 · 0 评论 -
Spring Boot02(数据库、Redis)---java八股
Mybatis的优缺点#{}和${}的区别是什么?。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用 PreparedStatement 来赋值;Mybatis在处理${}时,会将sql中的${}替换成变量的值,调用 Statement 来赋值;使用#{}可以有效的防止 SQL 注入, 提高系统安全性。索引的基本原理索引用来快速地寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。索引设计的原则?事务的基本特性和隔离级别。原创 2025-02-16 17:08:14 · 1810 阅读 · 0 评论 -
Spring Boot01(注解、)---java八股
多个事务方法相互调用时,事务如何在这些方法间传播,方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都会对方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务执行也有影响,这种影响具体是什么就由两个方法所定义的事务传播类型所决定。另外,Bean是不是线程安全,跟Bean的作用域没有关系,Bean的作用域只是表示Bean的生命周期范围,对于任何生命周期的Bean都是一个对象,这个对象是不是线程安全的,还是得看这个Bean对象本身。原创 2025-02-16 14:53:36 · 1257 阅读 · 0 评论 -
java05(类、泛型、JVM、线程)---java八股
Java中有哪些类加载器JDK自带有三个类加载器:bootstrap ClassLoader、ExtClassLoader、AppClassLoader。●BootStrapClassLoader是ExtClassLoader的父类加载器,默认负责加载%JAVA_HOME%lib下的jar包和class文件。●ExtClassLoader是AppClassLoader的父类加载器,负责加载%JAVA_HOME%/lib/ext文件夹下的jar包和class类。原创 2025-02-15 11:29:31 · 1480 阅读 · 0 评论 -
java基础04(集合、异常、引用、线程)---java八股
java八股---java基础03(包、IO流、反射、String、包装类)-优快云博客原创 2025-02-14 16:20:53 · 881 阅读 · 0 评论 -
java基础03(包、IO流、反射、String、包装类)---java八股
Java包。原创 2025-02-14 11:48:23 · 1151 阅读 · 0 评论 -
java02(面向对象、类、变量、方法、值传递)---java八股
包括数据抽象和行为抽象两方面。抽象只关注对象有哪些 属性和行为,并不关注这些行为的细节是什么。原创 2025-02-13 21:58:11 · 798 阅读 · 0 评论 -
java基础01(概述、基础语法)---java八股
JVM、JRE和JDK的关系JVM --Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以 实现跨平台。包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行 Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。是提供给Java开发人员。原创 2025-02-13 17:42:13 · 623 阅读 · 0 评论
分享