java学习收藏夹

Oracle JAVA

https://docs.oracle.com/javase/specs/jls/se8/html/index.html

linux 环境直接下载jdk8

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.tar.gz

java基础

暂未分类

双检查单例模式存在的问题

System.arraycopy

try catch finally 与return

注解的继承性

lang

Objects.requireNonNull

try catch

java.lang.management

MBean和MXBean

内部类

validation

https://www.cnblogs.com/mr-yang-localhost/p/7812038.html#_lab2_2_0

StringBuilder 和StringBuffer

StringBuilder 为线程不安全,StringBuffer为StringBuilder

java annotation 注解

io

字节流和字符流的区别

nio

Paths和Files

juc

多线程中取消任务的方法

java8 stram

CSVWriter使用

MySQL

mybatis-plus

@TableLogic https://www.cnblogs.com/HQ0422/p/10921462.html

fieldfill 自动填充 http://www.manongjc.com/article/36053.html

fieldStrategy 验证策略 https://blog.csdn.net/liuming690452074/article/details/97612874

分库分表

Spring

SpringFramework

Spring Validation API

https://www.cnblogs.com/sueyyyy/p/12865578.html

多字段联合校验

https://www.cnblogs.com/yourbatman/p/11387438.html

Spring core/bean

Configuration 与 Configurable

Spring AOP

execution表达式

proceedingJoinPoint

同一个类中的aop不生效

Spring MVC

WebMvcConfigurer详解

使用webmvcConfigurer配置springMVC

https://www.jianshu.com/p/52f39b799fbb

Spring Cache

动手实践三篇

redis配置

Spring Data

Mybatis-plus

JPA

https://www.jianshu.com/p/c14640b63653

Spring Validation

Spring Security

gateway 整合security

问题

https://blog.csdn.net/hry2015/article/details/96380624

Oauth2

JCA java 密码学架构

x509证书信任器

并发量考虑

异步编程模型

  1. 比较重视linux应用,但是linuxaio底层仍然是epoll实现,没有性能优势
  2. 过多没有意义的抽象
    https://blog.csdn.net/lirenzuo/article/details/79465975
    https://www.jianshu.com/p/df1d6d8c3f9d

Spring boot

Springboto WebMvcConfigurerAdapter

H2+JPA

https://blog.csdn.net/qq_37334435/article/details/89605929
https://www.cnblogs.com/xdp-gacl/category/641669.html

Springboot 使用jwt

Prometheus 开源监控库

Redis

官方文档

安装

spirng-data-redis 和 jedis

ZooKeeper

Docker

Docker 安装

https://www.cnblogs.com/zhouyu0-0/p/11997151.html

docker中安装zookeeper并操作

https://blog.csdn.net/qq_26641781/article/details/80886831

docker中--priviliged参数

https://blog.csdn.net/RonnyJiang/article/details/70739023

暂未归类

一些工具

maven

mysql中的时间格式

面试问题整理

数据结构

1,红黑树
http://www.360doc.com/content/18/0904/19/25944647_783893127.shtml
https://www.jianshu.com/p/6f6642b982af
https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/03.01.md

2,hashmap底层实现
1.8之前是链表+entrySet,1.8之后使用链表+红黑树

3,hashmap的扩容机制
https://www.cnblogs.com/yanzige/p/8392142.html

4,一致性哈希
https://www.cnblogs.com/study-everyday/p/8629100.html
https://www.jianshu.com/p/e968c081f563

5,布隆过滤器
https://segmentfault.com/a/1190000015482091
https://my.oschina.net/LucasZhu/blog/1813110
https://www.jianshu.com/p/2104d11ee0a2

6,跳表
https://www.jianshu.com/p/dd01e8dc4d1f
https://blog.csdn.net/pcwl1206/article/details/83512600

7,为什么求解String的哈希值要乘31
https://blog.csdn.net/zhanjia/article/details/84923530

网络

1,三次握手和四次挥手
https://blog.csdn.net/qq_38950316/article/details/81087809
建立连接阶段及数据传输阶段ACK的值的意义
https://blog.csdn.net/ygm_linux/article/details/79546034
注意其中减去的54为 以太网协议头(14B)+TCP协议头(20B)+IP协议头(20B)

各类协议头部
https://blog.csdn.net/winbobob/article/details/41475959

2,TCP和UDP的区别
https://www.cnblogs.com/williamjie/p/9390164.html
https://www.cnblogs.com/twoheads/p/9713936.html

面向报文与面向字节
https://blog.csdn.net/ce123_zhouwei/article/details/8976006

3,TCP如何保证可靠传输
https://blog.csdn.net/liuchenxia8/article/details/80428157

4,TCP如何进行流量控制
https://blog.csdn.net/u011784495/article/details/72639876

5,TCP如何进行拥塞控制
https://blog.csdn.net/m0_37962600/article/details/79993310

6,HTTP状态码
https://www.cnblogs.com/xflonga/p/9368993.html

7,漏桶算法

8,HTTP POST和GET
https://www.cnblogs.com/liziweiblog/p/11066333.html
https://blog.csdn.net/bieleyang/article/details/76272699
https://baijiahao.baidu.com/s?id=1626599028653203490&wfr=spider&for=pc

9,
InetAddress IP协议
URL URL
URLConnection
HTTPURLConnection
Socket/ServerSocket
https://www.cnblogs.com/kuangzhisen/p/7053689.html

UrlConnection连接和Socket连接的区别
https://blog.csdn.net/iteye_1429/article/details/82168974
https://blog.csdn.net/bibi1314123/article/details/17090927

10,三次握手中ack的值是什么?SYN攻击与防护
https://www.cnblogs.com/huskiesir/p/10212053.html
https://baijiahao.baidu.com/s?id=1627339324399698792&wfr=spider&for=pc

11,tcp的time wait 和 close wait
12,长连接及心跳连接
https://www.jianshu.com/p/16c8c9e09feb

13,粘包现象及如何处理粘包
https://blog.csdn.net/zhengzhaoyang122/article/details/81784306
https://www.cnblogs.com/zhangsanfeng/p/8891149.html

14,五层模型及协议
https://blog.csdn.net/qq_22238021/article/details/80279001

15,ARP协议的原理过程
https://www.cnblogs.com/csguo/p/7542944.html

16,列举几个网络攻击
SYN攻击(DDOS攻击)
https://baijiahao.baidu.com/s?id=1622812984571131456&wfr=spider&for=pc

17,HTTP1.0和HTTP1.1,HTTP2.0的区别
https://www.cnblogs.com/smlp/p/9779206.html
https://www.cnblogs.com/heluan/p/8620312.html

18,HTTP,TCP,IP 报文头
https://www.cnblogs.com/CodingUniversal/p/7524088.html
https://blog.csdn.net/ythunder/article/details/65664309

数据库/MySql

1,Mysql的事务隔离级别
https://www.cnblogs.com/rxbook/p/8975924.html
设置mysql的事务隔离级别
https://www.cnblogs.com/huasky/p/11190086.html
https://www.cnblogs.com/satng/p/7759899.html

2,数据库的连接池
https://blog.csdn.net/qq_39659876/article/details/80958450
https://blog.csdn.net/qq_34468186/article/details/83892496
https://baijiahao.baidu.com/s?id=1599699339020031595&wfr=spider&for=pc

3,乐观锁悲观锁
https://www.cnblogs.com/suger43894/p/11024102.html

4,数据库分页优化
https://www.cnblogs.com/geningchao/p/6649907.html
https://www.cnblogs.com/RunForLove/p/5100009.html
https://www.cnblogs.com/waterystone/p/9392421.html

5,mysql数据引擎知道几种?innodb和mylsam区别
6种,InnoDB,MyISAM,NDB,Memory,Archive,Federated,Maria
https://www.cnblogs.com/zhangchaoyang/articles/4214237.html

6,索引失效

  • 复合索引不能跨列或者无序使用;尽量使用全索引匹配
  • 不要在索引上进行任何操作(计算,函数,类型转换)
  • 复合索引不能使用不等于或is null,否则自身及右侧全部失效
  • 复合索引中有>,<,in,之后的索引失效
  • like尽量用常量开头,不以“%”开头;如果必须以“%”开头,可以用索引覆盖挽救一部分
  • 尽量不要用or,否则or左侧的索引也失效

7,覆盖索引
https://blog.csdn.net/qq_15037231/article/details/87891683
https://www.cnblogs.com/happyflyingpig/p/7662881.html
https://www.cnblogs.com/pyng/p/9599977.html

8,倒排序索引
https://www.cnblogs.com/gered/p/9561710.html
https://www.cnblogs.com/luminous1/p/8383777.html
https://blog.csdn.net/zsd_31/article/details/79979818

9,MVCC
https://blog.csdn.net/rocling/article/details/81193431
https://www.cnblogs.com/liulvzhong/articles/9242299.html

10,索引失效
https://www.jianshu.com/p/42cfeec20301

  1. mysql查询计划字段名explain
    https://blog.csdn.net/why15732625998/article/details/80388236

redis

1,Redis数据结构及持久化机制
https://www.cnblogs.com/neooelric/p/9621736.html
2,Redis持久化机制
https://www.cnblogs.com/yyjie/p/7487937.html

MyBatis

1, mybatis 如何获取自增ID
https://blog.csdn.net/zonghao123/article/details/78374169
2, mybatis 一二级缓存

  1. mybatis update 的返回值 https://www.cnblogs.com/xinruyi/p/11403132.html

JavaSE

1,根据反射加载一个类的具体步骤
https://www.cnblogs.com/xiaobiqiang/p/6047146.html
https://www.cnblogs.com/FanJava/p/9512775.html

2,泛型
https://www.cnblogs.com/coprince/p/8603492.html

3,面向对象
4,HashMap为什么初始化为16
https://blog.csdn.net/l18848956739/article/details/85998121

5,hashCode 怎么对应桶的位置
https://blog.csdn.net/yue31313/article/details/77513353

6,hashCode的计算
https://blog.csdn.net/tanggao1314/article/details/51457585
https://blog.csdn.net/zhucegemingzizheng/article/details/81289479

7,字符串快速去重

8,Error和Exception的区别
https://www.cnblogs.com/lcl-dcr/p/7653274.html
https://www.cnblogs.com/hustzzl/p/7840780.html

9,聊一下java里的对象(java里的包)

10,HashMap底层转红黑树的时机
https://www.cnblogs.com/laipimei/p/11282055.html
https://www.cnblogs.com/laipimei/p/11275235.html
11,io类型;nio是其中哪一种
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123

JavaEE

1,Session,Cookie和Token
https://www.cnblogs.com/zlw-xf/p/8001383.html
https://www.cnblogs.com/roxy/p/7805858.html
https://www.cnblogs.com/moyand/p/9047978.html

2,Servlet的生命周期
3,拦截器和过滤器的区别
https://blog.csdn.net/zxd1435513775/article/details/80556034
https://www.cnblogs.com/panxuejun/p/7715917.html
过滤器只在容器初始化时调用一次该怎么理解?
https://blog.csdn.net/dingchenxixi/article/details/81391831

4,防止XSS攻击
https://www.cnblogs.com/hero123/p/9091625.html
https://www.jianshu.com/p/cd49578bdd48

设计模式

1,单例模式的好处,应用
https://www.cnblogs.com/restartyang/articles/7770856.html
2,工厂模式
https://blog.csdn.net/weixin_41843053/article/details/80853758
https://www.jianshu.com/p/ae2e22aa6147
3,Java单例的饱汉与饿汉模式
https://blog.csdn.net/sai739295732/article/details/62411016
https://blog.csdn.net/qq_37768482/article/details/77539850

JVM

1,JVM中的gc,Full GC
https://baijiahao.baidu.com/s?id=1632743030610982339&wfr=spider&for=pc
https://blog.csdn.net/hellozhxy/article/details/80649342
https://blog.csdn.net/weixin_39788856/article/details/80388002
https://www.cnblogs.com/jenkov/p/full_gc_old_gc_cms_gc.html
https://www.cnblogs.com/williamjie/p/9516264.html
2,垃圾回收及算法
垃圾回收算法:

  • 标记-清除
  • 标记-复制
  • 标记-整理
  • 分代回收

垃圾收集器
年轻代
Serial:单线程
ParNew:多线程
Parallel Scavenge:使用复制算法,强调精确控制吞吐量
老年代
Serial Old:单线程,Serial 的老年代版本
Parallel Old:Parallel Scavenge 使用多线程和”标记-整理“算法 吞吐量优先
CMS:”标记-清除“算法,强调最短回收停顿时间
兼顾年轻代和老年代:
G1收集器:并行与并发,分代回收,"标记-整理"算法,可预测的停顿

https://www.jianshu.com/p/35805f809a21

3,假设有一个加法类从编译到最终使用的整个过程

4,如何判断对象是否需要被回收?两个相互引用的对象如何被回收

  • 引用计数
  • 可达性分析

附:GCRoot的对象包括:

  • 虚拟机栈中引用的对象
  • 方法区中类静态属性引用的对象
  • 方法区中常量引用的对象
  • 本地方法栈中JNI引用的对象

5,虚拟机栈异常类型以及复现代码
6,堆内存异常类型以及复现
7,直接内存怎么使用以及jvm对其管理

多线程

https://www.jianshu.com/p/125ccf0046f3

1,线程池的参数
public ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
ThreadFactory threadFactory,
RejectedExecutionHandler handler
);

2,为什么要使用线程池
https://blog.csdn.net/a497393102/article/details/8597819
https://blog.csdn.net/Muz_victory/article/details/81216771

3,如何合理的配置线程池
CPU密集型 Ncpu+1
IO密集型 2*Ncpu

混合型任务 进行任务拆分
4,饱和策略/任务队列满了以后再来一个任务如何处理

5,JUC包里的东西,有哪些常用锁
https://www.cnblogs.com/doit8791/p/9131148.html
Lock,AQS,ReentrantLock,ReadWriteLock,LockSupport,Condition

6,线程同步的几种方法?
https://www.cnblogs.com/baizhanshi/p/7025974.html

7,线程同步使用哪些锁?
https://www.cnblogs.com/lixiangyang521/p/6861768.html

8,死锁和死循环都会导致程序hold住,怎么判断是死锁还是死循环
https://blog.csdn.net/wanglha/article/details/51133819

9,并发容器种类
https://www.cnblogs.com/ygj0930/p/6543877.html
https://blog.csdn.net/cdefggg/article/details/86426917
https://www.jianshu.com/p/7f50497b7f30

10,concurrenthashmap数据结构

11,线程状态(blocked waiting timed_waiting)
https://www.cnblogs.com/cowboys/p/9315331.html

12,等待和阻塞的区别
https://blog.csdn.net/woshiyigeliangliang/article/details/81116872

13,wait和sleep的区别
https://blog.csdn.net/kangkanglou/article/details/82221301

14,volatile变量i++
https://www.cnblogs.com/zemliu/p/3298685.html
https://blog.csdn.net/dm_vincent/article/details/79604716

15,sychronized 和 RetreenLock的区别
https://www.cnblogs.com/java-spring/p/10792097.html

16,介绍一下线程池

17

spring

1,spring的主要特点?介绍一下AOP和IOC;AOP的实现方式;IOC的实现方式
AOP和IOC;AOP是面向切面编程;IOC是控制反转;spring AOC的实现是 jdk动态代理和cglib代理;
AOP的实现
https://blog.csdn.net/wyl6019/article/details/80136000
IOC的实现
https://www.cnblogs.com/neon/p/10929759.html
https://www.cnblogs.com/study-everyday/p/8566532.html

https://www.jianshu.com/p/4b31dacf3a63

附:常见的四种代理方式
https://blog.csdn.net/luanlouis/article/details/24589193
cglib和jdk动态代理的比较
https://blog.csdn.net/liangwenmail/article/details/78457106

2,spring中如何配置事务管理级别
https://www.cnblogs.com/cxyj/p/3906402.html

3,springMVC的处理流程
https://www.cnblogs.com/5ishare/p/8683971.html

4,一个Controller中会涉及到哪些注解
@Controller
@Autowire
@RequestMapping
@RequestParam
@RequestBody
@ResponseBody
@ModelAttribute

5,Spring和Spring boot的区别
https://www.jianshu.com/p/ffe5ebe17c3a
https://blog.csdn.net/wang_666_/article/details/80527113
https://www.codercto.com/a/27048.html

6,@transaction

分布式

1,分布式锁的实现
https://blog.csdn.net/qq_32924343/article/details/79814133
附:
CAP原理
http://www.ruanyifeng.com/blog/2018/07/cap.html
2,了解微服务吗?

3,RPC调用
https://www.cnblogs.com/linlinismine/p/9205676.html
https://www.cnblogs.com/FG123/p/10261676.html

操作系统 Linux

1,Linux Cpu的轮询方式

2,Linux中查询当前系统有多少个进程的指令

3,Linux的五种io模式,javaNIO
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123
4,Linux 的swap分区
https://www.cnblogs.com/saneri/p/10319412.html

绪论

1,内核态与用户态,特权指令
内核态:又称管态,是操作系统管理程序执行时机器所处的状态。它具有较高的特权,能够执行包括特权指令的一切指令,能够访问所有的寄存器和存储区
用户态:又称目态,是用户程序执行时机器所处的状态。它具有较低的特权,只能执行规定的指令,只能访问指定的寄存器和存储区
特权指令:只能由操作系统内核使用的,不允许用户程序使用的指令,如IO指令,设置中断屏蔽指令,清内存指令,存储保护指令和设置时钟指令

2,中断与异常
https://blog.csdn.net/u014134180/article/details/78418428
什么是中断
https://www.cnblogs.com/jacklong-yin/p/11263052.html

3,系统调用
操作系统提供给用户程序请求内核完成某种功能的一种过程调用
https://blog.csdn.net/xiaomimi1993/article/details/81710623

进程管理

进程与线程

1,进程的组成

  • 进程控制块(PCB)
  • 程序段
  • 数据段

2,进程的状态与转换
https://blog.csdn.net/qwe6112071/article/details/70473905

3,内核级线程与用户级线程
https://www.cnblogs.com/feng9exe/p/7890934.html

4,进程通信方式
a,管道;b,消息队列;c,共享内存
几种通信方式的联系与区别
https://blog.csdn.net/u014800094/article/details/53993275

处理器调度

1,常见的调度算法
a,先来先服务
b,短作业优先
c,优先级调度
d,时间片轮转
e,高相应比调度
f,多级队列调度
g,多级反馈队列调度

互斥与同步

1,互斥的要求

  • 空闲让进
  • 忙则等待
  • 有限等待
  • 让权等待

9,互斥的实现
信号量机制;PV原子操作

10,经典同步问题
a,生产者消费问题
b,读者-写者问题
c,哲学家进餐问题
d,理发师问题

11,管程

12,死锁产生的原因和必要条件
原因:竞争资源;系统资源不足和进程推进顺序不当
必要条件:

  • 互斥条件
  • 不剥夺条件
  • 请求与保持条件
  • 环路等待条件

13,死锁的预防
https://www.cnblogs.com/bopo/p/9228834.html
17,死锁代码demo
https://blog.csdn.net/wanglha/article/details/51133819

内存管理

1,交换与覆盖
2,存储管理方式
连续管理方式
非连续管理方式

3,MMU和快表
MMU
https://www.cnblogs.com/alantu2018/p/9002309.html
快表TLB
https://blog.csdn.net/weixin_36725931/article/details/85344814
TLB和MMU的区别
https://www.cnblogs.com/linhaostudy/p/7771437.html

4,虚拟内存
https://www.cnblogs.com/kexinxin/p/9939085.html
5,缺页中断与普通中断的区别
a,在指令的执行期间产生和处理中断
b,一条指令可以产生多个缺页中断

6,页面置换算法
a,OPT最佳置换算法
b,FIFO先进先出
c,LRU最近最少使用
d,CLOCK时钟置换算法
5,改进时钟算法

文件管理

1,软链接和硬链接
https://www.cnblogs.com/rswss/p/9466882.html
https://www.cnblogs.com/sanjun/p/9971993.html

2,i节点
https://blog.csdn.net/cc_946079647/article/details/19088205

设备管理

1,IO控制方式

  • 程序直接控制方式
  • 中断控制方式
  • DMA控制方式
  • 通道控制方式

其他

1,线程通信方式
共享内存,管道,消息传递
https://blog.csdn.net/pengzhisen123/article/details/79455742
https://www.cnblogs.com/shilinnpu/p/8873390.html

实现中
https://www.cnblogs.com/linyufeng/p/9671844.html

工具详解

tomcat 详解系列

原文地址:https://www.cnblogs.com/zhouyu0-0/p/13397572.html