大约 7 分钟
介绍
针对spring3.x以xml方式集成security
配置文件
<sec:http access-decision-manager-ref="accessDecisionManager" auto-config="true" entry-point-ref="authenticationEntryPoint">
<sec:logout />
<sec:anonymous granted-authority="A_ANONYMOUS" />
<sec:custom-filter ref="authenticationFilter" before="FORM_LOGIN_FILTER"/>
<sec:custom-filter ref="filterSecurityInterceptor" before="FILTER_SECURITY_INTERCEPTOR"/>
<sec:custom-filter ref="switchRoleProcessingFilter" before="SWITCH_USER_FILTER"/>
<sec:form-login login-processing-url="/j_spring_security_login"/>
</sec:http>
小于 1 分钟
IOC
待完善...
小于 1 分钟
数据流转架构
技术选型
数据同步
常见数据同步软件:DataX、Sqoop、Maxwell、Canal
| 框架 | DataX/Sqoop | Maxwell/Canal |
|---|---|---|
| 对数据库要求 | 原理是基于查询,若想通过select查询获取新增及变化数据,就要求数据表中存在create_time、update_time等字段,然后根据这些字段获取变更数据 | 要求数据库记录变更记录,如:MySQL要开启binlog |
| 数据等中间状态 | 由于是离线批量同步,故若一条数据在一天中变化多次,该方案只能获取最后一个状态,中间状态无法获取。 | 由于是实时获取所有的数据变更操作,所以可以获取变更数据中所有中间状态 |
小于 1 分钟
分布式理论
热点数据
热点数据隔离:
- 热点散列(阿里黑科技)
- 热点库
- 多级缓存
数据异构(canal)
缓存穿透、缓存击穿、缓存雪崩
热点缓存淘汰策略、多级缓存、布隆过滤器、Null值key
数据高可用
主从、主备
冷(兜底方案)、热备份
Canal中间件
消息中间件
Kafka
RabbitMQ、RocketMQ
小于 1 分钟
SpringMVC
核心组件
Front Controller + Page Controller概念来分离流程控制逻辑与具体的Web请求处理逻辑。
org.springframework.web.servlet.DispatcherServlet就是Spring MVC框架中的Front Controller,它负责接收处理所有的Web请求,针对具体的处理逻辑委派给下一级控制器去实现。
核心组件:
- HandlerMapping
专门管理Web请求到具体处理类之间的映射关系,获取对应当前Web请求到具体处理类,即org.springframework.web.servlet.mvc.Controller
小于 1 分钟
Zookeeper
版本 3.5.7
基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就会将负责通知已经在Zookeeper上注册的那些观察者作出相应的反应。
Zookeeper = 文件系统 + 通知机制
一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
大约 4 分钟
C语言
内存
size命令查看内存布局
- 代码段 :方法中的要执行的代码
- 数据段 :已经初始化的静态变量
- bss段:未初始化的静态变量
堆栈区别
-
堆和其他区段一样,都是从低地址向高地址发展
-
栈则相反,是由高地址向低地址发展
常用方法
大约 3 分钟