more think, more work
11
10
IO理解 IO理解
UNIX的5种IO模型 阻塞IO进程会一直阻塞(recvfrom的调用), 直到数据拷贝完成 非阻塞IO进程反复调用IO函数,采用轮训,占用CPU IO多路复用主要是select/epoll方式,能实现对多个IO端口进行监听 信号驱动IO通
2021-11-10
10
27
JVM常见问题 JVM常见问题
相关问题 双亲委派机制原理首先经过编译器编译的class文件,要加载到JVM当中,需要通过类加载器来完成。而JVM提供了三层类加载器来完成class文件的加载过程,这三个类加载依次是AppClassLoader, ExtClassLoade
2021-10-27
26
HashMap 常见问题 HashMap 常见问题
底层数据结构1.7及之前,数组+链表1.8及之后,数组+链表+红黑树初始容量指是table的大小, 负载系数决定了自动扩容的临界值。 插入元素是怎么操作的对插入的key通过hash函数获得hash值,然后hash值与数组长度length减一
2021-10-26
26
http协议总结 http协议总结
加密 对称加密: 即加密的密钥和解密的密钥相同。 非对称加密:密钥分为公钥和私钥, 公钥可以公开, 私钥需要保密, 客户端公钥加密的数据,服务端可以用私钥来解密。 三次握手(连接建立) 第一次客户端发送SYN包到服务器, 并进入SYN_S
2021-10-26
21
动态代理 动态代理
JDK动态代理spring aop 默认使用的是JDK动态代理。如果一个类实现了一个接口,则spring则会用这种方式进行代理。首先是实现InvocationHandler接口, 重写invoke方法, 这个方法就是代理的方法。其次是Pro
2021-10-21
09
16
redis分布式锁 redis分布式锁
前言 分布式锁一般有三种实现方式,数据库的乐观锁,基于redis的分布式锁,基于zookeeper的分布式锁。 分布式锁的条件 互斥,任意时刻只有一个客户端请求能够持有锁。 不会发生死锁,即使一个客户端在持有锁后未释放锁,也能保证后续其他客
2021-09-16
01
dubbo入门 dubbo入门
背景单一应用架构 —-》 垂直应用架构 —-》 分布式架构 —-》 流动计算架构 随着互联网的发展,网站应用的规模越来越大,传统的单一,垂直架构已经无法承受,需要向分布式架构,流动计算架构发展,而这些需要一个治理系统来保证。其中分布式架构是
2021-09-01