自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @Autowired自动配置的过程

使用@Autowirted自动配置时,Spring IOC容器会自动装配一个AutowiredAnnotationBeanPostProcesspr后置处理器,这样,当Spring容器启动时,AutowiredAnnotationBeanPostProcessor 将扫描 Spring 容器中所有 Bean,拥有 @Autowired 注释时就找到和其匹配(默认按类型匹配)的 Bean,并注入到对应的地方中去。@Autowired是spring提供的注解,可以对成员变量、方法和构造函数进行标注。

2022-10-24 19:31:28 828

原创 CopyOnWriteArrayList源码分析

实现对CopyOnWrite集合容器写入操作时的线程安全,但同时并不影响进行并发的读取操作。当我们往集合容器中写入元素时(添加、修改、删除),并不会直接在集合容器中写入,而是先将当前集合容器进行Copy,复制出一个新的容器,然后新的容器写入元素,写入操作完成之后,再将原容器的引用指向新的容器。添加新元素至集合时,会将当前数组Copy复制新数组,并将新元素添加至新数组,最后替换原数组。删除指定下标的元素,根据指定下标元素,从原数组中,Copy复制其他元素至新数组,最后替换原数组。2. 删除指定区间的元素。

2022-09-18 18:55:01 234

原创 创建对象在堆区如何分配内存

(从Java1.7开始已经默认开启逃逸分析,如果某些方法中的对象引用没有被返回或者未被外面使用,也就是未逃逸出去,那么对象可以直接在栈上分配内存)所有的对象实例以及数组都在这里分配内存。(s0或s1),然后将当前正在使用的空间完全清除,交换两块空间的使用状态。每次交换时,对象年龄会。,在JVM中一个对象也不可能永远呆在新生代,在JVM中一个对象从新生代晋升到老年代的阈值默认值是。是JVM所管理内存中最大的一块区域,被所有线程。的时候,它们将存活的对象复制到未使用的。,没有被引用的对象直接回收。

2022-09-18 17:25:14 253

原创 Session会话追踪的实现机制

Session会话追踪技术

2022-08-25 23:05:07 165

原创 Severlet的生命周期

Servlet的生命周期

2022-08-21 20:32:08 1393

原创 当添加一个键值对元素时,HashMap发生了什么?

HashMap的底层代码分析

2022-08-15 01:31:22 211

原创 网络编程—基于FTP服务器的文件上传与下载

基于FTP服务器文件的上传与下载~

2022-08-08 09:42:30 548

原创 Java加密与安全总结:(常见哈希算法总结、对称式加密和非对称式加密)

加密算法总结

2022-07-21 21:23:14 2096

原创 网络编程——Java Email

JavaEmail的发送

2022-07-18 00:50:22 874 1

原创 网络编程—TCP编程

网络编程中的TCP协议

2022-07-17 18:07:30 1091 3

原创 浅谈Excel文件解析

Excel文件的读取和写入

2022-07-17 16:44:00 949

原创 FileInputStream与BufferedInputStream有哪些区别?

FileInputStream和BufferedInputStream的一些注意点

2022-06-13 18:22:42 193

原创 栈模拟队列

栈的特点是:后进先出(Last In First Out)队列的特点是:先进先出(First In First Out)用栈模拟队列的思路:先定义两个栈in和out,用栈in来存储元素,栈out来输出元素,入队时按顺序压入栈in中,再从栈in中弹出压入到栈out中,这样根据栈的特点,按顺序将栈out的元素出栈就好了。具体实现如下:public static void main(String[] args) { MyQueue<String> queue = ne...

2022-05-11 19:28:59 150

原创 六大集合List、Set、Map、Queue、Deque、Stack的遍历方式总结

1、List集合List集合是我们最基础的一种集合,常用的实现类有ArrayList,内部使用数组作为存储结构,因此和数组十分类似,他是一种有序列表,索引也和数组一样,都是从下标0开始。所以我们在遍历List时,有这2种方法:① 使用for循环,配合get(index)方法遍历。(不推荐)例:public class Main{ public static void main(String[] args){ List<String> list...

2022-05-10 21:26:08 650

原创 字符串常见方法总结:

1.使用charAt()方法可以获取字符串对应索引值位置的字符,参数是int类型的字符串下标,返回值类型是char类型。 2.使用compareTo()方法可以比较当前字符串与另一个字符串的大小,参数是String类型的字符串,返回值类型是int类型。 3.使用contains()方法可以判断当前字符串是否包含参数字符串,参数是一个接口类型的CharSequence,返回值类型是boolean类型。如果存在则返回true,不存在则返回false。 4.使用equals()方...

2022-03-06 12:58:51 233

原创 String、StringBuilder和StringBuffer三者的区别

String字符串类在Java中,String是一个引用类型,本身也是一个class类,它的内部是通过一个char[]类型的数组表示的。Java中,字符串的特点之一是不可变性,因为它的内部是通过private final char[]定义的,也没有实现修改char[]的方法。调用String方法操作字符串往往不会改变原字符串的内容,而是每次返回新的字符串,这样会浪费内存,影响效率。StringBuilder和StringBuffer为了高效的操作字符串,Java提供了StringBuilder和

2022-03-04 17:05:59 301

原创 Abstract抽象类和Interface接口的区别

Abstract抽象类:如果一个class类中定义了某个方法,该方法没有具体的方法体,那么这个方法就是抽象方法,抽象方法用abstract来修饰,而抽象方法无法执行,所以这个类也必须定义为抽象类。1.抽象类的特点:①.抽象类和抽象方法必须使用abstract关键字修饰public abstract class 类名{}②.抽象类中不一定有抽象方法,但是又抽象方法的类一定是抽象类。③.抽象类不能实例化④.抽象类的子类要么是抽象类,要么重写抽象类中的所有方法2.抽象类成员方法特

2022-03-03 12:30:26 159

原创 “重写”和“重载”的区别

方法重写Override方法重写:在继承关系里面,如果一个子类定义了一个与父类方法名和参数完全相同的方法,我们称它为重写(Override),即就是,子类中出现了和父类一摸一样的方法声明。 方法重写的应用:当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法,这样,既沿袭了父类的功能,又定义了子类特有的内容。 @Override① 是一个注解② 可以帮助我们检查重写方法声明的正确性方法重写注意事项:① 私有方法不能...

2022-02-16 21:23:31 287

原创 equals和“==”的异同

相同点:1.都是用来比较对象内容是否相等;2.都有返回值,返回值类型都是boolean。不同点:1.equals用来比较引用类型的内容,不能用来比较基本数据类型;2.“==”通常用来比较基本数据类型,比较的是两个对象的内存地址,一般不用作比较引用类型数据。总结:1.如果是一些整形,如byte,short等,使用“==”来进行比较2.如果是对象,使用equals方法进行比较3.如果是double,float这样的类型,则先转位int或者是long这样的类型再使用“==”比较

2022-02-11 20:55:22 431

空空如也

空空如也

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

TA关注的人

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