- 博客(12)
- 收藏
- 关注
原创 Java集合面试题详解
集合在迭代过程中结构被修改(非迭代器自身的remove方法),抛出ConcurrentModificationException,保证程序快速失败。掌握Java集合框架的原理及各种集合类的区别和适用场景,是Java面试中的重要内容。希望本文对你的面试准备有所帮助。
2025-07-27 19:52:20
342
原创 互联网大厂Java面试实录:从Stream到Kafka的技术拷问
Java 8的Stream API有哪些核心操作?:Spring Boot自动配置的原理是什么?:Hibernate的一级缓存和二级缓存区别?:如何用Spring Cloud实现服务熔断?:Redis的持久化机制有哪些?
2025-07-26 13:05:32
344
原创 互联网大厂Java面试实录:严肃面试官与水货程序员谢飞机的爆笑对决
就是“比较并交换”,比如……(突然卡壳)呃,就是比较一下再交换!:谢飞机同学,你的基础还不错,但有些问题回答得不够清晰。:内存嘛,就是堆、栈、方法区……就是每个线程有自己的小本本,互不干扰!(回答正确,面试官夸赞):IoC就是控制反转,AOP就是切面编程!:搞笑水货程序员,时而准确回答,时而胡言乱语。是旧的,新的肯定比旧的好!:线程安全就是大家一起用不会打架!:Spring的IoC和AOP是什么?:MySQL的索引失效场景有哪些?:Redis的持久化机制有哪些?(突然想到)哦对了,还有。
2025-07-26 11:19:17
210
原创 互联网大厂Java面试实录:严肃面试官与水货程序员谢飞机的爆笑对决
HashMap啊,就是键值对,用哈希表存的,冲突了就用链表……:ArrayList是数组,LinkedList是链表,一个查得快,一个增删快!:谢飞机,请简单说一下ArrayList和LinkedList的区别。:wait、notify……:核心线程数、最大线程数、队列……:IoC是控制反转,AOP是面向切面编程!:RDB和AOF……:好的,今天就到这里,你先回家等通知吧。:Spring的IoC和AOP是什么?:MySQL的索引失效场景有哪些?:那线程间通信的方式有哪些?:线程池的核心参数有哪些?
2025-07-26 11:18:43
252
原创 互联网大厂Java面试实录:严肃面试官与水货程序员谢飞机的爆笑对决
谢飞机,先简单介绍一下HashMap的工作原理。:HashMap啊,就是存键值对的,键不能重复,值可以重复。哦对了,它还有个兄弟叫HashTable,但HashMap更快,因为它是非线程安全的!(得意)(点头):不错,那你能说说HashMap的扩容机制吗?:扩容?就是装不下了就变大呗!默认是16,满了就变32,反正就是翻倍!(挠头)(扶额):...那ArrayList和LinkedList的区别呢?:ArrayList是数组,LinkedList是链表。数组查询快,链表插入快!(自信)
2025-07-26 11:13:44
237
原创 互联网大厂Java面试实录:严肃面试官与水货程序员谢飞机的搞笑对答
ArrayList是数组,LinkedList是链表!:HashMap就是键值对嘛,用数组加链表存的……:直接抛异常、丢弃任务、调用者运行……(沉思)哦,丢弃队列里最老的任务!(支支吾吾):用了函数、用了不等于、用了or……(微笑):很好,看来你对基础掌握得不错。(点头):不错,回答得很简洁。(挠头):负载因子……:核心线程数、最大线程数、队列……:Spring的AOP实现原理是什么?(叹气):今天就到这里吧,回去等通知。:MySQL的索引失效场景有哪些?:说说线程池的核心参数有哪些?
2025-07-26 11:10:35
305
原创 互联网大厂Java面试实录:面试官 vs 水货程序员谢飞机
谢飞机,先说说HashMap的底层实现吧。:啊,HashMap啊,就是键值对嘛!底层是数组+链表,后来改成了数组+红黑树,为了提升查询效率!(点头):不错,那你能说说为什么链表长度超过8会转红黑树吗?:这个……因为8是个吉利数字?(无奈):……
2025-07-25 22:16:04
161
原创 设计模式-责任链模式
而每一个next是由继承的统一抽象类是实现的。最终所有类的职责可以动态的进行编排使用,编排的过程可以做成可配置化。抽象类中定义了一个抽象方法,abstract AuthInfo doAuth,这是每一个实现者必须实现的类,不同的审核级别处理不同的业务。可以很好的处理单一职责和开闭原则,外部调用并不需要关系责任链是如何进行处理的。levelUserId、levelUserName,是责任链中共用信息,标记每一个审核节点的人员信息。这个类包装类了责任链处理过程中返回结果的类,方便处理每个责任链的返回信息。
2024-10-18 22:51:12
917
原创 设计模式-单例模式
使用CAS的好处就是不需要使用传统的枷锁方式保证线程安全,而是依赖于CAS的忙等算法,依赖于底层硬件的实现,来保证线程安全。相对于其他锁的实现没有线程的切换和阻塞也就没有了额外的开销,并且可以支持较大的并发性。这种方式单例确实满足了懒加载,但如果有多个访问者同时去获取对象实例,就会造成多个同样的实例并存,从而没有达到单例的要求。这种方式是安全的,但由于把锁加到方法上后,所有的访问都因需要锁占用导致资源的浪费。双重锁的方式是方法级锁的优化,减少了部分获取实例的耗时,同时也满足了懒加载。
2024-10-12 10:43:07
796
原创 设计模式-建造者模式
建造者模式主要解决的问题是在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的过程构成;由于需求的变化,这个复杂对象的各个部分经常面临着重大的变化,但是将它们组合在一起的过程却相对稳定。装修公司的套餐服务,豪华、简约风格。比如对于吊顶和地板,有一级二级吊顶,一级二级地板等。按不同的套餐价格选取不同的组合。接口中定义了田中各项物料的方法;建造者模式是通过将多个简单对象通过一步步的组装构建出一个复杂对象的过程。建造者的使用就非常容易,通过不同的物料填充不同的装修风格。
2024-10-05 16:57:10
530
原创 抽象工厂模式
3.单一职责原则,可以将产品生成的代码抽取到同一位置,使得代码易于维护。4.开闭原则,向应用程序添加新的产品时,无需修改客户端代码。通过抽象工厂模式,可以将客户端与具体产品的创建过程解耦,使得客户端可以通过工厂接口来创建一族产品。抽象工厂模式是围绕一个超级工厂来创建其他工厂。该超级工厂又称为其他工厂的工厂。提供一个接口以创建一些列相关或相互依赖的对象,而无需指定它们具体的类。接着声明抽象工厂,包含类型家具构造方法的接口。如图,椅子对应一个接口,桌子对应一个接口。创建默认工厂,来获取工厂。
2024-09-25 15:46:35
381
原创 每天进步一点点-工厂模式
这种设计模式也是 Java 开发中最常见的一种模式,它的主要意图是定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。工厂模式又称工厂方法模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。如今很多厂商提供大模型API接口的调用,我们在应用当中,不一定只使用一种API,可以选择多种API的实现。当然这可能也有一些缺点,比如需要实现的类非常多,如何去维护,怎样减低开发成本。对于调用者来说,不用关心具体的实现。
2024-09-23 20:07:43
1515
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人