面试点
redis
分布式锁,一致性hash
https://www.cnblogs.com/javazhiyin/p/13839357.html
设计模式
算法
String @
mysql
缓存对比
jvm
IO
springboot
https://www.jianshu.com/p/5901da52ca09
springCloud
https://blog.csdn.net/oldshaui/article/details/906751
https://blog.csdn.net/panhaigang123/article/details/79587612?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=415be9bb-b6c2-463a-9544-fd13828d1970&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
E fe conf zull his ribbon
mysql
jvmn内存模型,类加载,性能调优
动态代理 与静代理 机制
https://blog.csdn.net/weixin_42719412/article/details/85282535
配置中心
ams
反射
https://blog.csdn.net/qq_39565307/article/details/102967762
主线程
子线程 主线程怎么保证子线程执行完在走
https://blog.csdn.net/m0_37125796/article/details/81105099
aop 依赖注入
https://blog.csdn.net/weixin_42719412/article/details/85282535
https://blog.csdn.net/qq_17555933/article/details/9244195
依赖注入与控制反转
https://www.sohu.com/a/230849961_100109711
https://blog.csdn.net/qq_17555933/article/details/92441957
循环依赖问题
https://www.cnblogs.com/wjxzs/p/14239052.html
Kafka
https://www.cnblogs.com/sujing/p/10960832.html
https://blog.csdn.net/suifeng3051/article/details/48053965
顺序消费
https://blog.csdn.net/qq_31329893/article/details/90451889
https://blog.csdn.net/u011439839/article/details/90349596?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=5d2fbcaf-8ebf-47c8-81e8-c70af2b7bd7d&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
rocketmq
https://www.cnblogs.com/qdhxhz/p/11094624.html
hashMap
https://www.toutiao.com/i6930953980453470724/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1614067064&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=2021022315574401013509807542001E70&share_token=2747d4d2-bdf0-4dd0-8154-cba9846aaf42&group_id=6930953980453470724
垃圾回收
https://www.toutiao.com/i6828436496907764235/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1614124468&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=20210224075427010130037136191354DF&share_token=f2be1ea5-bde7-414a-babf-fd42c36ed4d2&group_id=6828436496907764235
缓存穿透
https://weixin110.qq.com/cgi-bin/mmspamsupport-bin/newredirectconfirmcgi?main_type=1&evil_type=110&source=2&bancode=83f6a5515ac2c5310595fce64d4c7fda1c48747457c047ee60b9293c1b00beab7b026eb7128ad71b5ddcc95ca3c84549561f0c554c45a8a7d183f8ce9c923584821fb758f069d5107fb4a45a3e7ce02df730abbb1b0d79f0b8cd31349eac8bb2e4809500e9c7fbd299a76d51aa346776&scene=1&devicetype=Windows+10+x64&click=58fe4aaa7eaf88163cafa033a322fbd5
内存模型
https://www.toutiao.com/i6629813495053419016/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1614127038&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=202102240837180101351631005114621C&share_token=10355b47-1c09-407c-9399-e2962b2f8043&group_id=6629813495053419016
基本面试
https://www.cnblogs.com/51ma/p/12462688.html
死锁
https://blog.csdn.net/jonnyhsu_0913/article/details/79633656
spring
ioc底层原理:工厂,反射。Bean管理
bean生命周期
循环依赖问题
Bean Factory 与Factory Bean
spring中用到设计模式
AOP底层原理:动态代理 有接口(JDK动态代理)
事务传播
@Nullable
函数式编程
创建对象,给spring管理
webFlux,响应式编程 基于sevlet3.1以后才支持,核心基于Reactor的api实现
传统web springmvc 基于sevlet容器
异步非阻塞
同步 异步,调用者发送请求,是否等对方回应,再去做其他时间。
阻塞 非阻塞
被调用者,收到,立马回应,再去做,非阻塞
相比springmvc
1.非阻塞,有限资源,提高吞吐量,基于Reactive
2.函数式编程 java8,实现路由请求
mvc命令式编程
数据库四大特性和四种隔离
https://www.cnblogs.com/liangyc/p/11631718.html
spring事物传播行为
https://www.nowcoder.com/test/question/done?tid=50427719&qid=14942#summary
Servlet的生命周期
Servlet的生命周期
1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet
2.创建:通过调用Servlet的构造函数来创建一个Servlet实例
3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。
4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的
Service()方法来响应客户端请求(Service方***根据请求的method属性来调用doGet()和doPost())
5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。
发表于 2016-01-13 21:49:25
回复(0)
sleep()和wait()
https://www.nowcoder.com/test/question/done?tid=50427719&qid=15267#summary
Java里String str = new String(“Hello“);会创建几个对象?
https://blog.csdn.net/C18298182575/article/details/121667672
虚拟机内存主要分为三块:
堆:存放对象实例和数组。
栈:存放基本类型,以及对象的引用。
方法区:“类”被加载后的信息,常量、静态变量存放在这儿。
树
二叉树 极端情况变成链表
平衡二叉树 左右高度不超过1,弊端 同二叉树一个节点只存了一个键值,导致节点很多,很高,很多磁盘IO
B树 一个节点 相当于一页page 一个节点存储多个数据(key),一个节点包含多个子节点
B+树 非叶子节点不存数据,只存键,叶子节点存键值(包含数据),所以每个节点(一页默认16kb,可以存储更多键值)可以存储更多的键,页之间通过双向链表关联,每一页通过单向链表关联
while 和 do...while 的区别:
while: 先判断 再执行 条件不成立 循环体 一遍都不执行
do...while: 先执行 再判断 条件不成立 循环体 至少执行一遍
@Autowired单例,默认饿汉式
Spring为什么不推荐使用@Autowired注解详析
https://blog.csdn.net/buduoduoorg/article/details/121124962
servlet 生命周期
https://baijiahao.baidu.com/s?id=1684616619505078970
String类方法
trim eq sub replace index getByte split startwith endwith length hashcode cocat cotain chartAt toLowerCase upper isEmpty
NIO AIO
BIO 一个客户端连接,一个服务端线程;每个客户端连接请求,服务端都需求创建一个线程处理,连接无请求,服务端造成不必要开销
NIO 一个请求,一个线程,一个线程处理多个客户端连接,多路复用器,连接有请求才开启线程去处理
AIO 同NIO 服务器异步处理
源码 jre编译器 字节码(虚拟机识别) 虚拟机加载 解释器(jvm) 机器码(二进制) 不同平台运行
多态
Java中的多态靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。
session共享
https://blog.csdn.net/grabungen/article/details/91950667
tcp udp 建立连接,可靠,三次握手四次挥手,传输字节流; upd 没有,实时性高,丢包 直播,视频,传输报文,只发,不管是否收到
https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html
算法
统计字符串中出现频率最高的字符
设计模式原则
单一,开闭 隔离 季米特法则,里氏替换 子类替代
controller单例
https://www.cnblogs.com/mjtabu/p/14413233.html
String a = new String(abc);
https://www.cnblogs.com/taochen-go/p/9475947.html 这里s2不对,应该是栈中地址
https://blog.csdn.net/csdn_yaohailong/article/details/98969542
Lock synchronized
https://blog.csdn.net/zhang1314fudao/article/details/89424758
s 是内置的,java关键字,lock是一个类
都是可重入锁,Reetrantlock
释放锁 异常,程序执行完自动释放,阻塞无法释放sleep,lock手动释放(finally,异常不会释放锁)
lock 可知道是否获取锁,有等待时间,更多方法,读写锁(s获取锁,其他线程只能等待,lock多线程读写),中断锁(其他持有锁,不等待)
持有成员变量锁,不能持有方法级别锁
sy非公平锁,按请求锁的顺序,持有锁,lock 可设置公平锁,默认非公平锁
@Autowired和@Resource的区别是什么?
https://www.zhihu.com/question/39356740
springcloud double
1.注册中心 zk Eruken 2调用 rpc rest api 3 zull config histric
MySQL百万级数据分页查询及优化
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247487717&idx=1&sn=5722f426678d9eea107f600abb1966a1&chksm=9bd0bd7daca7346ba23d33a52a5f712c7c39843791b4df7f6d7e0e8b35aed0666d74b364729e&mpshare=1&scene=1&srcid=&key=21f14813742a42c9ad215a5083b1ab5e30a00bb5bb969e682b537c48d5a080774cc4dff9e662cf14979a675642d5a2bb3095b498ca98b8d194a8798af4e481333f3695f55c62ef4b72dcc616fa4e91a0&ascene=1&uin=MTM4NTE4NDY0MA%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_CN&pass_ticket=O5%2FeIbm2OSpZsxDPsAToFNNvwPjvdaX4pigkBSrt8bapOJ1dDLFyz3xJrw2rlYR7