java技术栈拆解分析
2021-04-27 18:26:06 0 举报
AI智能生成
登录查看完整内容
该图从概念、基础、分类等各个方面分别描述java的技术分类
作者其他创作
大纲/内容
java技术栈
监控
第三方-听云
flash dog 日志监控
Zabbix监控平台
数据库
关系数据库
MySQL
SQL
函数
视图
触发器
存储过程
性能优化
高性能查询
其他
null值
服务器
主从、集群
定时任务
权限
数据库索引
B+Tree索引
索引类型
索引的原则
最左前缀匹配原则
尽量选择区分度高的列作为索引
索引的缺点
mycat
SQL Server
oracle
cassandra
postgre
nosql
redis
redis基本原理
redis配置优化
主从
集群
踩过的坑
mongodb
documentdb
时序数据库
了解
influxDB
其他数据
数据库设计
数据
数据分析
ETL
BI
报表
日志采集
实时数据平台
搜索
爬虫
其他语言
python
数据清洗
日志清洗
PHP
工作原理
功能开发
服务器部署
golang
perl
linux shell
持续集成/项目管理
jenkins
安装部署
对接gerrit
对接Nexus
自动构建
定时构建
代码更新出发
评审
自动测试
自动发布
gerrit
评审模式
结合eclipse
svn
使用
Nexus
配置第三方
常见问题
第三方仓库失效
刷新索引、缓存
手动上传的jar,位置不规范
Maven
作用
构建、测试、打包和部署
版本控制
依赖管理
常用命令
常用plugin
模块化
本地jar缓存
私服jar缓存
RAP
部署
特性开关
灰度发布
java基础
数据结构
数组、链表、队列、栈
树、图
socket编程
多线程
协程
线程同步
高并发
设计模式
单例模式
工厂模式
代理模式
委派模式
策略模式
原型模式
模板模式
负载均衡
反向代理
squid
Nginx
配置
健康检查
ngx_http_proxy_module、ngx_http_upstream_module
nginx_upstream_check_module
https
301
高效配置
缓存
Purge清理缓存
etag
保持连接
Apache
同步多进程
rewrite
haproxy
DNS负载均衡
IP负载均衡
JVM
内存模型
方法区、虚拟机栈、堆、本地方法栈、程序计数器
性能调优
JDK8新特性
接口的默认方法
lambda表达式
。。。
java 开发框架
servlet
struts
spring
IOC
设计原理
高级特性
AOP
AOP的实现机制
动态代理
接口代理
子类(cglib)
静态织入
场景
事务
日志
链路跟踪
BeanFactory
事物处理机制
SpEL
使用
注入
调用方法
操作符
三目操作符
操作List、Map集合取值
spring mvc
九大组件
springSession原理
ORM
hibernate
mybatis
spring boot
分布式
分布式应用
产生的背景
什么是分布式应用
有哪些优缺点
GFS
ApiGateway
访问限制、安全、流量控制、分析监控、日志、请求转发、合成和协议转换功能
策略、请求预处理、错误处理
Kong
Azure API Management 服务
自建
RPC
RPC框架
解决的问题
技术要求
序列化、反序列化、网络框架、连接池、收发线程、超时处理、状态机
dubbo
项目整合使用
基本工作原理
子主题
如何实现服务降级
gRPC
Thrift
spring cloud
基于http Restful API
服务网格Istio
zookeeper
是什么
特性
master/slave(半数正常)
使用场景
安装&集群
配置项
一些命令
web界面node-zk-brower
监控界面taokeeper
如何使用
一些原理
节点管理
与dubbo结合使用
配置中心
淘宝diamond
高可用技术方案
源码解读
携程Apollo
链路分析
session 共享
问题及场景
粘性session
session+redis
Servlet容器
重写HttpSession、request
可以实现同主域名的单点登陆
springSession
cookie
单点登录
cas
分布式事务
CAP与Base
方案
2阶段提交
补偿事务(Try-Confirm-Cancel)
消息表(消息重发)
MQ支持事务
Sagas 事务模型
人工处理
熔断
分布式锁
实现条件
唯一性
释放(自动或过期)
重入
阻塞锁和非阻塞锁
数据库锁
缓存锁
分布式缓存锁—Redlock
基于Zookeeper的分布式锁
扩容
无状态
幂等
服务降级
开发&测试
接口协议
webservice
常用接口
Java WebService接口生成和调用
http
接口开发
微信公众号开发
小程序
短信供应商接口
支付接口
微信支付
支付宝
邮件
OCR
名片识别
通用图文识别
语义识别
语音识别
微软
科大讯飞
百度地图
SEO优化
sitemap
TDK
爬取原则
爬行、抓取、索引、收录
新技术
区块链
设计案例
流水号,批量生产
通用草稿功能
动静分离
页面静态化
样式、图片、js
前后分离
生产部署
客户端源码修改
连接池
JDBC
作用&工作原理
常用连接池
DBCP
C3P0
Druid
JPA?
JNDI
多数据源
动态数据源
前端展示
jsp
freemarker
html
HTML5
JavaScript
jQuery
跨域访问
JSONP
Proxy
CORS
css
测试
自动化测试
单元测试
功能测试
压力测试
测试工具
loadrunner
http_load
ab工具
安全测试
网站安全检测工具
网站安全规范
中间件
MQ
适用场景
应用解耦
峰值处理
异步处理
冗余、系统扩展
可恢复性
JMS
Peer-to-Peer 模式
一个消息只能被一个接受者消费
消费者不必在线
...
Publish/Subscribe模式
支持多个消费者
消费者只有在线才能接收到消息
消息监听器
消息转换器
事务管理
ActviteMQ
队列
订阅/发布
客户端去重
消息确认机制
消息监听的实现
kafka
为什么高吞吐量
消息重复?
消息顺序?
分区?
zookeeper的关系?
微软云-service bus
搜索引擎
Solr
Lucene
elasticsearch
安装及集群部署
版本及对应的客户端版本
脑裂问题
分片设置及扩容问题
倒排索引、版本控制的实现
azure search
本地缓存
guava
ehcache
带锁的Map
Oscache
span style=\
还可分为堆内缓存和堆外缓存
优点
不需要序列化
速度最快
节省内网带宽
缺点
大小受限于本机内存
GC暂停时间会变长
分布式中无法保证数据统一性
违背了分层架构设计的无状态准则
数据统一性方案
通过MQ通知其他节点
节点定时任务
案例一
分布式缓存
特点
单线程
string,list,set,sorted Set和Hash
支持持久化
支持集群
memcached
仅支持key/value
不支持持久化
大小无限
需要序列化
回收算法
回收策略
基于空间
基于容量(数量)
基于时间
FIFO(Fisrt In Fisrt Out)
LRU(Least Recently Used)
LFU(Least Frequently Used)
错误场景
把缓存作为服务与服务之间传递数据的媒介
使用缓存未考虑雪崩
调用方缓存数据
多服务共用缓存实例
多级缓存方案
容器
Tomcat
调优BIO、NIO、APR
jetty
独立安装部署,研究activeMQ的部署
NIO实现的高并发轻量级
支持servlet3.1和websocket。
undertow
resin
WebLogic
WebSphere
Jboss
计算机基础
计算机网络
TCP/IP四层模型
网络接口层
网际互联层
传输层
应用层
HTTP请求
get
post
response
HTTP的请求过程
域名解析
3次握手
建立TCP连接,发起http请求
响应
解析html
加载资源js、css、图片
Keep-Alive
chunked 分块传输
HTTP Pipelining(HTTP 管线化)
TCP
面向连接的、可靠、重传
4次挥手
SYN攻击
UDP
无连接的
多播和广播
IP协议
OSI七层模型
表示层
会话层
网络层
数据链路层
物理层
队列、栈、链表、树、堆、图
树
二叉树
图算法
排序算法
操作系统
进程
线程
linux
shell脚本
日志查找
日志处理
0 条评论
回复 删除
下一页