string为何是不可变的
https://www.cnblogs.com/wuchanming/p/9201103.html
static与单例模式
https://blog.csdn.net/TCJGGSDDU/article/details/53457029
手写单例模式
https://blog.csdn.net/cuiran/article/details/52299756
设计模式
https://www.jianshu.com/p/8a293e4a888e
泛型
https://blog.csdn.net/briblue/article/details/76736356
synchronized
https://blog.csdn.net/javazejian/article/details/72828483
synchronized与Lock的区别与使用
https://blog.csdn.net/u012403290/article/details/64910926
hashmap
https://blog.csdn.net/u011617742/article/details/54576890
https://www.javazhiyin.com/24490.html
深度优先和广度优先
https://www.cnblogs.com/xiaolovewei/p/7763867.html
链表是否有环
https://blog.csdn.net/lavor_zl/article/details/42784247
反转单链表
https://blog.csdn.net/Mackyhuang/article/details/82722218
https://blog.csdn.net/acquaintanceship/article/details/73011169
mysql索引失效的原因
https://www.cnblogs.com/shynshyn/p/7887742.html
线程状态
多线程内存模型
https://www.cnblogs.com/zhangbLearn/p/9826753.html
线程池
https://www.cnblogs.com/owenma/p/8557074.html
spring security
当浏览器发送一个请求后,首先会经过第一个过滤器,UsernamePassowordAuthenticationFilter,这个过滤器中,它会判断你的请求是否带username和password这两个参数,如果带了就进行拦截验证,如果没有就进入到第二个过滤器BasicAuthenticationFilter,这个过滤器会判断请求头中是否含有需要验证的信息,如果没有进入下一个拦截器,最后到ExceptionTranslationFilter拦截器,它会捕获FilterSecurityInterceptor抛出的异常,而FilterSecurityInterceptor会判断这个请求是否校验通过,权限是否通过,如上面我们编写的代码,所有的请求都需要进行校验通过,如果没有通过就会抛出异常,在这个异常处理中,实际上重定向到第一个过滤器,比如我们发送http://localhost:8080/user这个请求,它就经过前面的过滤器,然后在ExceptionTranslationFilter过滤器中抛出异常,再被重定向到第一个过滤器,也就是登录页面,当输入的用户名密码匹配的时候才会校验通过,进入我们自己编写的API中。以上就是Spring Security框架的一个基本认证流程,FilterSecurityInterceptor是这个框架的最后一个拦截器,也是守门人,所有的请求都必须通过该拦截器的校验。
https://blog.csdn.net/sinat_29899265/article/details/80653167
https://blog.csdn.net/zhong_csdn/article/details/79447185
springboot和springmvc区别
Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。集成配置让开发者开箱即用
而springmvc是spring的一个模块,是一个mvc框架。使用过程中依赖spring
springboot启动类
@SpringBootApplication是一个组合注解,可以拆成@Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration等,其中最重要的就是@EnableAutoConfiguration
可以帮助SpringBoot应用将所有符合条件的@Configuration
配置都加载到当前SpringBoot创建并使用的IoC容器
jpa和mybits的区别
1,jpa是对象与对象之间的映射,而mybatis是对象和结果集的映射。jpa设计难度更大
2 , jpa的抽象程度更高,理论上性能更差,在做项目过程中,会出现想要查询对象的一个简单结果,但是往往对象跟对象之间的映射关系,导致jpa自动去查询出一个复杂的结果集,然后我们只能去这个复杂的结果集里拿我们想要的简单结果。不过jpa有懒加载和缓存机制,一定程度上优化了性能。
3 jpa迁移数据库比较方便,但是mybits由于是写sql,迁移数据库就需要改sql,比较麻烦。
tcp三次握手四次挥手
https://baijiahao.baidu.com/s?id=1593714120815701015&wfr=spider&for=pc
HTTP之请求消息Request
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
Http请求消息结构.png
- 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本。
Get请求例子,使用Charles抓取的request:
GET /562f25980001b1b106000338.jpg HTTP/1.1
Host img.mukewang.com
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept image/webp,image/*,*/*;q=0.8
Referer http://www.imooc.com/
Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=0.8
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.
GET说明请求类型为GET,[/562f25980001b1b106000338.jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP1.1版本。
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等
第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行。
第四部分:请求数据也叫主体,可以添加任意的其他数据。
这个例子的请求数据为空。
POST请求例子,使用Charles抓取的request:
POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley
第一部分:请求行,第一行明了是post请求,以及http1.1版本。
第二部分:请求头部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:请求数据,第八行。
https:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL
https://www.cnblogs.com/wqhwe/p/5407468.html
rpc与http的区别
https://www.cnblogs.com/winner-0715/p/5847638.html
深入理解jvm
https://www.cnblogs.com/wtzbk/p/7985156.html
JVM监控命令
https://www.cnblogs.com/rainy-shurun/p/5732341.html
分布式事务:
https://www.cnblogs.com/savorboard/p/distributed-system-transaction-consistency.html
https://blog.csdn.net/test1444509256/article/details/79661902
kafka实战
https://www.cnblogs.com/mumuxinfei/p/3859193.html
springcloud
https://blog.csdn.net/xlgen157387/article/details/77773908
session
https://blog.csdn.net/cloudzpc/article/details/79458445
MySQL事务
MySQL主从
https://blog.csdn.net/darkangel1228/article/details/80004222
MySQL主从配置
https://www.cnblogs.com/eleven24/p/7350000.html
spring beanFactory和FactoryBean
http://www.cnblogs.com/aspirant/p/9082858.html
springboot启动流程