java
文章平均质量分 56
apesource.芯轴
以诚之心领岁月之教诲
展开
-
Spring AOP(AOP概念、组成、Spring AOP实现及实现原理)
AOP ( Aspect-Oriented Programming :同调用的逻辑(例如事务处理、日志管理、权限控制等)封装抽取成一个可重用的模块,这个模块被命名为"切面"(Aspect),便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性;.Spring AOP 基于动态代理实现, JDK 动态代理是 Java 自带的动态代理实现方式。CGLIB 代理是一个基于字节码操作的代理方式.原创 2024-01-12 22:05:23 · 686 阅读 · 1 评论 -
java中Map的常见问题
常见的Map集合有哪些?ArrayList与Vector的区别ArrayList与LinkedList的区别Java集合 HashSet集合如何检查重复元素谈谈对HashMap的理解HashMap执行put()方法的过程HashMap中元素如何计算存储位置HashMap中影响性能的两个参数HashMap什么情况下扩容?如何扩容原创 2024-01-12 12:51:23 · 773 阅读 · 1 评论 -
SpringBoot自动配置的实现原理
2. 自动配置类:在SpringBoot自动配置的Maven依赖中,我们可以在META-INF/spring.factories中找到自动配置类:org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration。总的来说,SpringBoot的自动配置原理是通过条件注解和类路径扫描来实现的。4. 类路径扫描:SpringBoot在启动时会扫描应用程序的类路径,寻找到所有的自动配置类。原创 2024-01-10 09:19:36 · 411 阅读 · 0 评论 -
Spring的Bean的生命周期
通常,这是通过无参数的构造函数完成的,但也可以通过其他方式,如使用@Bean注解或实现InitializingBean和DisposableBean接口来指定初始化方法和销毁方法。除了标准的生命周期回调(如初始化方法和销毁方法),开发者还可以自定义生命周期回调方法,并在这些方法中执行自定义逻辑。与初始化方法类似,Spring也提供了两种类型的销毁方法:destroy-method在XML配置中指定,或者使用@PreDestroy注解在Java中指定。原型Bean每次请求都会创建一个新的实例。原创 2024-01-07 23:43:11 · 933 阅读 · 0 评论 -
JSP所支持的九大隐含对象
JSP所支持的九大隐含对象:out request response pageContext session application config page exception原创 2023-10-20 11:44:56 · 75 阅读 · 1 评论 -
ArrayList和Vector的区别
Vector 线程安全 性能较差 扩容方式自定义扩容或扩容2倍.原创 2023-08-14 10:40:51 · 68 阅读 · 0 评论 -
ArrayList和LinkedList的区别是:
初始化和扩容由于采用链表结构,每次添加元素都会创建新的Node节点并分配空间,所以不存在扩容。> 有参的构造方法,按照指定容量initialCapacity进行初始化。> 如果数组默认为空数组,当第一次添加元素时,数组容量扩容为10。> LinkedList适合数据频繁添加删除操作,写多读少的场景。> ArrayList适合数据连续型遍历,读多写少的场景。> 当数组容量不足时,按照原容量的1.5倍进行扩容增长。>无参的构造方法,将内部的数组转化为长度为0的空数组。2.从扩容方式上来说。原创 2023-08-14 10:39:39 · 64 阅读 · 0 评论 -
ArrayList的扩容方式和LinkedList的适用场景
答:无参数的构造方法,将内部初始化为一个长度为零的空数组(类型是Object),第一次添加元素时数组容量扩容为10,当数组容量不足时扩容为原容量的1.5倍,也可以指定数组容量进行初始化通过有参构造。答:~~~~适合频繁的添加删除操作.写多读少的场景。原创 2023-08-14 10:38:09 · 60 阅读 · 0 评论 -
Set集合如何过滤重复元素
Set的底层是Map,实现类的构造方法创建和维护了Map的实现类.元素值保存在key,map的key不允许重复。原创 2023-08-14 10:36:32 · 68 阅读 · 0 评论 -
Set集合不重复的原理
1.计算新增元素的哈希值2.如果是第一次新增,创建一个长度是16的java.util.HashMap$Node类型的数组3.通过 哈希值%数组长度,来计算新增元素的索引值位置如果该位置没有元素:则创建Node类型的对象,添加在该位置 如果该位置有元素:判断新增元素和该位置的元素是否相同 如果相同:不新增 如果不相同:新增,新增元素挂载该索引值链表的最末尾原创 2023-07-02 19:46:08 · 222 阅读 · 1 评论 -
java迭代器的实现原理
迭代器很重要,是遍历线性数据结构(链表)的重要方法之一。增强for循环是迭代器的一种简写。原创 2023-06-18 23:10:59 · 205 阅读 · 1 评论 -
为什么大部分小数在计算机中是不精确的
计算机使用二进制运算,程序中的十进制数字先转换成二进制,再进行运算。Float和Double的小数部分在转换为二进制的过成中容易产生无限循环的情况,通常都是取无限接近于原值的近似值,所以导致出现精度丢失的情况。原创 2023-06-11 12:45:26 · 1651 阅读 · 1 评论