自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 SpringBoot自动配置原理

2)这个配置类是放在第三方的jar包里面,然后通过SpringBoot中约定优于配置的这样一个理念,去把这个配置类的全路径放在classpath:/META-INF/spring.factories文件里面,这样SpringBoot就可以知道第三方jar包里面这个配置类的位置。1)引入starter启动依赖组件的时候,这个组件里面必须要包含一个@Configuration配置类,而在这个配置类里面,我们需要通过@Bean这个注解去声明需要装配到IOC容器里面的Bean对象。

2024-05-22 00:34:53 156

原创 MYSQL事务

事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行结果必须使数据库从一种一致性状态过度到另一种一致性状态。事务逻辑上是一组操作,要么都执行,要么都不执行。

2024-04-25 17:01:19 707 1

原创 谈一下你对于mysql索引的理解?Mysql为什么要用B+树来存储索引

因此MYSQL最终选择了B+树做为数据结构来存储,在刚刚上述的计算公式中,我们做了一个假设,key+指针一共占了10个字节,如果占用100个字节的话,那么整体的数据会缩小2个量级,因此在回答索引的树的高度的时候不要说3层或者4层,给一个标准说法:一般情况下,3-4层的B+树足以支撑千万级别的数据量存储。2.因为存储数据的时候是没办法预估的,当表的数据量非常大的时候,不能一次性将所有数据读取到内存中,这个时候就要采用分治的思想,将数据分块读取,一旦分块读取,我们就要考虑合理设计块的大小。

2024-04-07 14:05:37 556

原创 创建线程的方式

实现Runnable接口,然后实现run()方法,接着新建Thread实例并把Runnable实现类传给Thread实例最后调用实例的start方法即可.java是单继承多实现,相比继承Thread类,就可以继承其他的类和实现其他的接口.继承Thread类并重写run()方法,然后新建一个Thread实例调用实例的start()方法即可,start()将自动调用run()方法.但是java只能单继承,如果继承了Thread类就不能继承其他的类了.// 重写run方法。// 重写run方法。

2024-03-17 13:37:02 253 1

原创 线程池核心参数

1.corePoolSize:核心线程池(线程池内部运行起来之后,最少有多少个线程等活.核心线程是懒加载)2.maximumPoolSize:最大线程数(当工作队列堆满了,再来任务就创建非核心线程处理)3.keepAliveTime:最大空闲时间(默认非核心线程,没活之后,只能空闲这么久,时间到了干掉)4.unit:空闲时间单位(上面的时间单位)5.workQueue:工作队列(当核心线程数足够后,投递的任务会扔到这个工作队列存储.LinkedBlockingQueue)

2024-03-12 10:45:07 835

原创 spring bean的生命周期

1.实例化:Spring容器根据配置文件或注解创建一个Bean定义,这个定义描述了Bean的类,依赖关系等.然后容器使用java的反射机制创建一个Bean的实例.3.初始化:在Bean的属性赋值完成后,Spring容器会调用Bean的初始化方法,这个方法可以是自定义的,需要在Bean的配置文件或注解中进行定义.5.销毁:当Bean不在需要使用时,Spring容器会调用Bean的销毁方法,这个方法可以是自定义的,需要在Bean的配置文件或注解中定义.

2024-03-04 23:37:00 226

原创 ArrayList和LinkedList的区别是什么?

4.内存空间占用:LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。3.增加和删除效率:在非首尾的增加和删除操作,LinkedList要比ArrayList效率要高,因为ArrayList增删操作要影响数组内其他数据的下标。综合来说,在需要频繁读取集合中的元素时,更推荐使用ArrayList,而在插入和删除操作较多时,更推荐使用LinkedList。

2024-03-04 23:07:16 158

原创 final finally finalize 区别

3.finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调用System.gc()方法的时候,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可以回收的最后判断.3.被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的。final finally finalize 区别。2.被final修饰的方法不可以被重写。1.被final修饰的类不可以被继承。

2024-02-24 16:18:03 133 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除