更新内容9-23包含,算法,数据结构,IO,网络编程,多线程,Spring等

master
1897 3 years ago
parent 0acb0686ae
commit 1324b369c0

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 KiB

@ -0,0 +1,3 @@
### 二叉树
>- 父=子/2
>- 2*i 2*i+1

@ -0,0 +1,16 @@
### 线段数
>- 区间数的操作,增加更新查询
>- 用树表示累加和,将数组拆分为二叉树,利用数组实现二叉树
>- ![img.png](img.png)
>- ![img_1.png](img_1.png)
>- 准备4倍N的临时数组因为最后一层为2N个数前面也为2N个数
### 懒更新
>- ![img_2.png](img_2.png)
>- 在树结构中,把规定下标的数增加
>- 找到包含所有片段的树节点
>- 创建懒更新信息数组,在需要增加的数组上填充数字
>- ![img_3.png](img_3.png)
>- 当新任务来的时候,把懒信息向下层发送,然后清空
>- 执行新任务
>- ![img_4.png](img_4.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

@ -23,4 +23,18 @@ Integer.MAX_VALUE 2^31-1
### 对象创建过程
>- 分配空间
### String
>- String是final修饰新对象,线程安全
>- stringBUffer是线程安全的
>- StringBUilder 不是线程安全的
### GC算法的理解
>- 标记清除算法
>- 标记复制算法
>- 标记整理算法
### hashmap扩容
>- ![img_3.png](img_3.png)
>- 在扩容时会出现死循环
>-

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

@ -0,0 +1,38 @@
### AWS云计算
>- 计算能力,网络能力,安全能力
>- 共享资源,按需付费
>- 互联网基础服务
>- Amazon Web Services
![img.png](img.png)
>- iass paas saas
### 虚拟机
>- 规定的硬件资源中,虚拟服务器
>- 能模拟多服务器运行的事务
>- 安全性,隔离性不影响其他虚拟机
>- 支撑不同的功能
### 容器
>- docker把服务的运行环境以及相应的应用程序都封装在容器中了
>- 减少系统环境维护dev——op 开发测试一体化
>- kubernetes 容器管理系统
### openstack
>- 能够对虚拟进行系统管理,新增,删除,监控,提高效率
>- 做成Iaas 基础设施即服务,把服务器交给别人使用
### Doceker
>- 容器化平台,在各系统上运行
>- 运行、暂停、重启、退出
>- ![img_1.png](img_1.png)
### Mycat
>- 大数据库集群,高可靠性
>- 数据库中间件产品
>- ![img_2.png](img_2.png)
>- 能够解析、聚合、排序合并
>- 对sql进行解析、优化、路由
>- 高可用性,高读写性能分级存储
### MongoDB
>- 能够保存JSON文件
>- 推送Kafka

@ -0,0 +1,4 @@
### bean对象
>- 通过依赖注入,放入单例池子
### AOP

@ -66,6 +66,24 @@ TCP/IP协议模型从更实用的角度出发形成了高效的四层体系
![img_4.png](img_4.png)
### TCP/IP
>- 报文+报头
>- 三次握手 ,客户开始,保证能够确立连接
>- 四次挥手结束
### Redis
>- 数据类型int raw embstr list hash set
>- 缓存雪崩通过随机设置Redis key失效时间解决大量缓存同时失效的问题
>- 数据穿透redis没有id直接访问数据库会在高并发情况挂掉利用校验进行过滤
>- 将redismysql搭建成高可用的集群防止单点
>- 10万/秒
### 消息队列 ActiveMQ RabbitMQ RocketMQ kafka中间件
>- 优点,解耦,异步处理,流量控制(秒杀),服务解耦
>- 解决上下游速度不一致的问题,起到缓冲的作用
### 自增Id用完了怎么办
>- 重新循环INdb覆盖原来的值

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

@ -29,4 +29,40 @@
### markword
>- 记录锁信息,记录回收次数
>- 记录偏向锁
>- 记录偏向锁
### 线程的基本周期
![img_1.png](img_1.png)
### threadLocal
>- 获取线程map资源进行事务操作获取信息
### 并发特性
>- 原子性,有序性,可见性(volatile)cpu
### spring中的设计模式
>- 工厂模式: BeanFantory用来创建对象在工厂里面创建对象管理对象周期
>- 单例模式: Spring中的Bean 默认为单例
>- 装饰器模式: Beanwrapper 访问Bean的属性和方法
>- 策略模式: Bean的实例化策略
>- 代理模式: AOP的AOPProxy 代理字节码生成技术,静态代理,动态代理。
### 线程池
>- 重量级资源
>- 生产者消费者模式,解耦,异步,增加性能
>- 缺点:不能有大量数据交换
### 处理死锁
>- 锁资源互斥,死循环
>- 顺序加锁
>- 加锁超时时限
>- 死锁检测
### 定位内存泄露
>- OOM
### AQS线程等待队列
>- state 变量 volatile修饰表示同时允许多少给线程获取锁
>- 使用CAS方法获取state
### 多线程waitnotifynotifyALl线程等待

@ -7,4 +7,12 @@
### DCL双重判断 double check lock
>- 防止上锁时候被其他线程操作
### Redis
>- 高新能非关系数据库采用Redis实现分布式缓存
>- 提高数据操作效率
### zookeeper的理解
>-分布式管理,分布式中间件
> 协调分布式集群管理,保证一致性
> 分布式锁
> master选组管理节点信息主从选举

Loading…
Cancel
Save