摘要: java类加载器有:1、引导类加载器;2、拓展类加载器;3、系统类加载器;4、用户自定义类加载器。其中,引导类加载器(Boostrap ClassLoader),又叫启动类加载器,由原生代码(如C语言)编写,不继承自java.lang.ClassLoader。负责加载核心Java库,存储在<JAVA 阅读全文
posted @ 2023-03-17 23:43 CodeWhisperer001 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 1、先准备一个基本的容器对象,包含一些map结构的集合,用来方便后续过程中存储具体的对象 ​ 2、进行配置文件的读取工作或者注解的解析工作,将需要创建的bean对象都封装成BeanDefinition对象存储在容器中 ​ 3、容器将封装好的BeanDefinition对象通过反射的方式进行实例化,完 阅读全文
posted @ 2023-03-17 23:04 CodeWhisperer001 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1 HashMap和Hashtable都是java.util包下的类2 HashMap和Hashtable都实现了Map接口,存储方式都是key-value形式3 HashMap和Hashtable同时也都实现了Serializable和Cloneable接口4 HashMap和Hashtable的 阅读全文
posted @ 2023-03-17 22:57 CodeWhisperer001 阅读(14) 评论(0) 推荐(0) 编辑
摘要: Java中的集合包括三大类,它们是Set(集)、List(列表)和Map(映射),它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList Collection是最基本的集合接 阅读全文
posted @ 2023-03-17 22:27 CodeWhisperer001 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 1. String类是不可变类,即一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁。 2.StringBuffer类则代表一个字符序列可变的字符串,可以通过append、insert、reverse、setChartAt、setLength等方法改变其内容。 阅读全文
posted @ 2023-03-17 17:19 CodeWhisperer001 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1.联系:底层都是数组的扩容 2.区别:ArrayList底层扩容长度为原数组的1.5 ; Vector底层扩容长度为原数组的2倍 3.ArrayList倍线程不安全,效率高 ; Vector线程安全,效率低(淘汰) 4.都是数组,数组优点:查询效率高 ; 数组缺点:删除,增加元素效率低 ; 特点: 阅读全文
posted @ 2023-03-17 17:15 CodeWhisperer001 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 1.GET用于信息获取,而且应该是安全的和幂等的。 2.POST表示可能修改,改变服务器上的资源的请求。 3.GET请求的数据会附在URL之后。 4.GET方式提交的数据取决于URL长度的限制,理论上POST没有限制,可传较大量的数据。对参数的数据类型GET只接受ASCII字符,而POST即可是字符 阅读全文
posted @ 2023-03-17 17:12 CodeWhisperer001 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ​ 用户只需要向Spring Security项目中发送/logout退出请求即可。 1.退出实现 实现退出非常简单,只要在页面中添加/logout的超链接即可。 <a href="/logout">退出登录 为了实现更好的效果,通常添加退出的配置。默认的退出url为/logout,退出成功后跳转到 阅读全文
posted @ 2023-03-17 00:17 CodeWhisperer001 阅读(63) 评论(0) 推荐(0) 编辑
摘要: ​ 在配置类中一直存在这样一行代码:http.csrf().disable();如果没有这行代码导致用户无法被认证。这行代码的含义是:关闭csrf防护。 1.什么是CSRF ​ CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack” 阅读全文
posted @ 2023-03-17 00:13 CodeWhisperer001 阅读(50) 评论(0) 推荐(0) 编辑