
底层原理 面试八股
文章平均质量分 85
面试八股是指在面试过程中,应聘者准备了一系列标准化、刻板的答案,以迎合面试官的期望。这些答案通常包括常见的问题和回答模式,例如自我介绍、个人优势、挑战与解决、团队合作等。面试八股往往缺乏真实性和个性化,只是机械地按照预设的模式回答问题,可能无法真实展现应聘者的能力和特点。
Dddddduo_
江苏省高中数学竞赛三等奖 阿里云认证专家博主 字节跳动青训营后端优秀奖
展开
-
BeanDefinition和Beanfactory实现一个简单的bean容器
Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种用于承载对象的容器,你可以配置你的每个 Bean 对象是如何被创建的,这些 Bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及它们是如何相互关联构建和使用的。如果一个 Bean 对象交给 Spring 容器管理,那么这个 Bean 对象就应该以类似零件的方式被拆解后存放到 Bean 的定义中,这样相当于一种把对象解耦的操作,可以由 Spring 更加容易的管理,就像处理循环依赖等操作。原创 2025-03-30 23:39:16 · 646 阅读 · 0 评论 -
Java锁 从乐观锁和悲观锁开始讲 面试复盘
要通过不同的实现方式进行不同操作。乐观锁认为自己在操作数据的时候不会有别的线程修改数据,所以不会加锁,所以他只会在自己操作数据的时候检查是否有其他线程修改更新的这个数据。这种方式在判断和更新之间,确保了只有一个线程能够成功更新值,其他线程则会重试或失败,从而保证了乐观锁的行为。,在方法级别加锁时,锁是针对该对象的,保证同一时刻只有一个线程能够执行该方法。相对较低,特别是在高并发环境下,由于JVM的锁优化不足,可能导致性能瓶颈。可以通过锁的竞争情况动态升级为不同的锁类型(如偏向锁、轻量锁、重量锁)。原创 2025-01-18 21:57:25 · 783 阅读 · 0 评论 -
Java算法 八股 Javase Set集合类 编译看左边 运行看右边 详解TreeSet和HashSet
TreeSet是一个有序的集合,基于红黑树实现,支持高效的元素查找和排序相关的操作。它提供了许多与元素顺序和范围查询相关的方法,如higher()lower()ceiling()floor()等。HashSet是一个无序的集合,基于哈希表实现,适用于需要快速查找、添加、删除操作的场景。它提供了一些与元素存在性和集合操作相关的方法,如contains()add()remove()clear()等。根据你的需求选择合适的集合类,可以在保证性能的同时满足功能需求。编译时看左边。原创 2025-01-17 22:00:37 · 821 阅读 · 0 评论 -
Javase 复习 接口 Java8引入默认方法 Java21新特性
接口通过关键字interface方法声明:接口中定义的方法默认是public和abstract的,方法没有方法体。常量:接口中可以定义常量,常量默认是的。接口是 Java 中用于定义抽象行为的工具,它定义了类需要实现的方法。接口提供了多继承的功能,一个类可以实现多个接口。Java 8 引入了默认方法和静态方法,使得接口变得更加灵活,允许接口中包含方法的实现。接口常用于解耦、实现多态和回调机制,是面向对象设计中不可或缺的一部分。sealed和non-sealed。原创 2025-01-12 17:05:53 · 839 阅读 · 0 评论 -
Javase 复习 接口与抽象类的关系 代码示例
在 Java 中,接口定义了一组方法的契约,任何实现该接口的类都需要实现接口中的所有抽象方法(没有方法体的方法)。不过,Java 8 引入了。原创 2025-01-12 17:05:17 · 743 阅读 · 0 评论 -
Javase 基础复习 函数式接口 lambda表达式 方法应用
函数式接口:只有一个抽象方法的接口,能够接受 Lambda 表达式或者方法引用。Lambda 表达式:一种简洁的表示接口实现的方式,适用于函数式接口。方法引用:Lambda 表达式的简化版本,直接引用已有的方法,提升代码可读性。这些概念和特性是 Java 8 及以后的重要变化,它们帮助我们写出更简洁、更具表现力的代码。相似点:Lambda 表达式和方法引用都用于函数式接口,简化代码,提升代码的可读性和简洁性。不同点:Lambda 表达式更加灵活,可以处理更复杂的逻辑;原创 2025-01-12 16:21:41 · 602 阅读 · 0 评论 -
面经整理 八股 虾皮购物 Java后端开发 上
可重入锁是Java中非常有用的一个特性,能够帮助开发者更好地管理并发操作,避免死锁,并且在需要时提供灵活的锁控制。通过合理使用可重入锁,可以提高程序的并发性能和稳定性。可重入锁在Java多线程编程中提供了灵活性和安全性,尤其在处理递归调用、共享资源、复杂对象状态和任务顺序时非常有效。合理使用可重入锁能够提高程序的稳定性和性能。AbstractQueuedSynchronizer(AQS)是Java中一个强大而灵活的同步工具,它通过队列和状态管理为开发者提供了实现复杂同步器的基础。原创 2024-10-19 21:31:58 · 55858 阅读 · 0 评论 -
web开发 八股文打卡第一天
# MySQL索引失效怎么办首先排查一下索引失效的原因 ## 1.字符串字段未使用索引前缀在创建索引的时候应该使用字符串字段的前缀错误:SELECT * FROM TABLE WHERE NAME LIKE %KEYWORD%正确:SELECT * FROM TABLE WHERE NAME LIKE KEYWORD%## 2.OR操作符使用多列索引将多列查询条件应该拆分为单列查询 分别使用索引错误示例:SELECT * FROM table WHERE col1 = '原创 2024-09-17 10:13:43 · 92424 阅读 · 0 评论 -
我们在进行前后端联调的时候 如何避免数据丢失 拿不到返回数据 查看不了状态信息等问题?
最近在进行前后端联调开发的全栈开发工作但是这时候会出现很多问题 比如说前端拿不到数据 获得的状态码可能是正确的 传的值却是null。一、数据校验前端程序员必须对后端提供的数据进行严格的数据校验。数据校验的目的是确保接收到的数据符合预期的格式和类型。在JavaScript中,可以使用typeof操作符或Array.isArray()方法进行基本的类型检查。更复杂的数据结构,可以使用第三方库,如Joi或Yup,这些库可以定义复杂的数据模型并进行校验。首先,进行基本的类型检查。例如,如果你期望一个变量为数组原创 2024-09-09 19:49:57 · 96697 阅读 · 0 评论 -
每天一道面试题之浅浅讲一下java5中的自动装箱和自动拆箱
只适用于自动装箱 使用构造函数创建对象不适用。首先我们要通过javac编译.java文件。3.\u0000 \u007f 之间的字符。1.使用与整数区间-127到128之间。我们在Integer的源码里找到了它。我们可以用javap查看字节码文件。2.true和false的布尔值。这个区间内我们可以直接用==比较。把基本数据类型自动装箱成包装类。把包装类自动拆箱成基本数据类型。我们在java5中引入概念。获取字节码.class文件。然后用javap查看。原创 2024-07-07 18:21:49 · 96233 阅读 · 0 评论