Java技术知识体系
2024-08-03 12:20:49 2 举报
AI智能生成
涉及技术知识体系,管理知识体系。能够让技术人员全面了解工作中要运用的知识点。同时了解管理岗位需要掌握的知识点,以及如何管理团队,带领团队开展项目。
作者其他创作
大纲/内容
人工智能(Artificial Intelligence,简称AI)
ChatGPT
通问千义
CodeGeeX-清华大学+智谱AI
Bito
文心一言
Copilot
Kimi
物联网(The Internet of Things,简称IOT)
区块链技术
加密技术
云
云架构
基础设施即服务(IAAS)
用户:租用(购买|分配权限)云主机,用户就不需要考虑网络,DNS,存储,硬件环境方面的问题
运营商:提供网络,存储,DNS,这样服务就叫做基础设施服务。
平台即服务(PASS)
Mysql、ES、MQ
软件即服务(SAAS)
钉钉、财务管理
SAAS服务依托的是公有云,模式是租赁方式,而不是出售
函数服务(FAAS)
无服务(Serverless)
server 服务 less 无 ---无服务 ----不需要服务器
站在用户的角度考虑问题,用户只需要使用云服务器即可,在云服务器所有的基础环境,软件环境都不需要用户自己考虑
未来:服务开发都是serverless,企业都构建了自己的私有云环境,或者是使用公有云环境
云原生
就是为了让应用程序(项目,服务软件)都运行在云上的解决方案,这样方案叫做云原生
特点
容器化 --- 所有的服务都必须部署在容器上
微服务 --- web服务架构师微服务架构
CI/CD
DevOps
技术管理体系
任务管理
pmp管理系统
Teambition
文档协作
Word
Markdown
语雀
代码协作
版本控制管理软件
代码生成器
质量保证
代码质量测试
功能测试
性能测试
自动化部署
自动部署管理系统
故障管理
统一监控管理系统
统一日志管理系统
AB测试
降级开关
灰度发布/流量切换
限流
即时沟通
钉钉
技术提升
培训分享
黑客马拉松比赛
了解开源项目
管理
需求分析
技术方案研讨评审
技术框架搭建
工期评估
任务拆分
细分工期评估
人员分配
code review
可读性
复用性
健壮性
学习的过程,发现代码的问题的同时,也学习代码的亮点
进度控制
每日进度回顾
是否阻塞:原因、是否需要介入
线上业务高峰期值班制度制订
事故复盘
大型网站分布式系统架构
大型动态应用系统又可分为几个子系统
Web前端系统
负载均衡系统
数据库集群系统
缓存系统
分布式存储系统
分布式服务器管理系统
代码分发系统
拆分
隔离
集群
降级
限流
异地双活
SOA化(面向服务的体系结构)
高并发
读服务
写服务
队列
缓冲区队列
任务队列
消息队列
请求队列
数据总线队列
应对大促方案
1.大促系统预案
2.大促前N天,关闭程序发布窗口
3.压测,识别系统瓶颈
4.服务降级策略
5.带宽预估和报备
6.第三方接口调用量预估和报备
7.提前N天开启混合云资源
8.备用N天机器,应对突发情况
9.24小时轮值,现场支持
上线前检查清单
1.检查配置文件是否正确
2.检查sql是否初始化
3.排查新增sql查询条件是否关联大表,是否需要建索引
4.代码走查,确认是否传错值
2.检查sql是否初始化
3.排查新增sql查询条件是否关联大表,是否需要建索引
4.代码走查,确认是否传错值
开发或管理工具
IntelliJ IDEA(推荐)
idea破解码
Eclipse
LiteIDE
Sublime Text
Navicat for
MySQL(数据库管理工具)
MySQL(数据库管理工具)
workbench(数据库管理工具)
Xmanager
Enterprise (服务器远程控制软件)
FileZilla(服务器远程文件传输软件)
jd-gui(反编译工具)
画图
Processon
draw.io
astah
Mybatis代码生成器
https://github.com/zouzg/mybatis-generator-gui
https://github.com/spawpaw/mybatis-generator-gui-extension
产品原型设计
Axure
modao
xiaopiu
pixso
网络抓包工具
Charles
安装说明
服务注册与发现
Nacos(AP+CP)(推荐)
Zookeeper(CP)
Eureka(AP)
配置中心
Nacos(推荐)
推荐原因,减少中间件的使用数量,从而降低学习成本
Apollo
Spring Cloud Config
项目管理
Maven(推荐)
Maven中optional和scope元素的使用
Nexus
Gradle
版本控制管理
Git
GitLab(推荐)
Svn
持续化集成
Jenkins
代码质量分析
Sonar
Findbugs
阿里代码规约插件
测试工具
压测Jmeter
开源持续测试平台metersphere
运维
JumpServer开源堡垒机
LDAP统一账号平台
VPN
MAC系统Tunnelblick
Windows系统openVPN
spug
监控(含服务追踪与调用链)
Nigos
Zabbix
Sentry错误日志监控系统(推荐)
CAT应用监控平台
Zipkin
SkyWalking(推荐)
Pinpoint性能监控工具
springboot actuator metrics prometheus+grafana - 监控信息可视化工具(推荐)
日志收集
非强一制性LogStash(推荐)
强一制性Flume
Scribe
Chukwa
web应用服务器
Nginx
正反向代理
动静分离
负载均衡
Tomcat
Undertow
Undertow 是 Red Hat 公司的开源产品, 它完全采用 Java 语言开发,是一款灵活的高性能 Web 服务器,支持阻塞 IO 和非阻塞 IO。由于 Undertow 采用 Java 语言开发,可以直接嵌入到 Java 项目中使用。同时, Undertow 完全支持 Servlet 和 Web Socket,在高并发情况下表现非常出色
SpringBoot内嵌Undertow 的性能和内存使用方面都优于 Tomcat
支持阻塞 IO 和非阻塞 IO
负载均衡
软件
LVS+HAProxy
硬件
F5
虚拟化
Docker
Kubernetes(管理云容器)
KubeSphere
是在 Kubernetes 之上构建的面向云原生应用的 容器混合云,支持多云与多集群管理,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。
提效工具
Mybatis-generator(自动生成建表SQL语句)
故障排查
内存分析工具 MAT
线上监控诊断Atlas
常见网络攻击及防护
xss
分类
反射型XSS
存储型XSS
防护
1.过滤。对诸如<script>、<img>、<a>等标签进行过滤。
2.编码。像一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。
xss攻击要能达成往往需要较长的字符串,因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御。
crsf
漏洞检测
简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。
防御
验证 HTTP Referer 字段
根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站
缺点
Referer 的值是由浏览器提供的,把安全性都依赖于第三方(即浏览器)来保障,从理论上来讲,这样并不安全
Referer 值会记录下用户的访问来源,有些用户认为这样会侵犯到他们自己的隐私权.
用户自己可以设置浏览器使其在发送请求时不再提供 Referer。网站会因为请求没有 Referer 值而认为是 CSRF 攻击,拒绝合法用户的访问。
用户自己可以设置浏览器使其在发送请求时不再提供 Referer。网站会因为请求没有 Referer 值而认为是 CSRF 攻击,拒绝合法用户的访问。
在请求地址中添加 token 并验证
在cookie之外增加token参数校验
缺点
难以保证 token 本身的安全
在 HTTP 头中自定义属性并验证
缺点
局限性非常大
学习沉淀
写文章
微信公众号
头条号
定期复盘
定期更新知识和总结
学习横向和纵向打通
操作系统
Linux
CentOS(推荐)
Red Hat
Ubuntu
Fedora
Windows
Window Server 2008
计算机基础
编译原理
计算机网络
互联网协议
编程语言
机器语言
汇编语言
高级语言
C
C++
C#
JAVA
Rust
脚本语言
Python
JavaScript(推荐)
Go(推荐)
Perl
PHP
Ruby
Swift
Lua(推荐)
设计模式
数据结构与算法
数据结构
集合结构
线性结构
树形结构
图形结构
算法
时间复杂度和空间复杂度
贪心
分治
动态规划
快排
堆排
二叉树
链表反转
成环
环节点
跳楼梯
安全算法
单项散列算法
MD5
SHA
对称加密
DES3
AES
非对称加密
RSA
DSA
ECC
数字证书
框架
Spring
SpringBoot
Spring Cloud
Spring Cloud Gateway(网关)
Feign/OpenFeign
Loadbalance(官方)
负载均衡
Ribbon
负载均衡
Spring Cloud Alibaba
Sentinel(限流降级)
Seata(分布式事务)
Spring AI(通义千问,加速AI应用开发)
持久化层
MyBatis(推荐)
Mybatis Plus
Ibatis
Hibernate
安全框架
Shiro
Spring Security
JWT
Sa-token
Netty
工作流
Camunda
Flowable
专注于流程引擎
参考
Activiti
Cloud
JBPM
BPM
Camel美团
Workflow
规则引擎
Drools
很强大的brms系统
生态也很不错
使用复杂
Easy Rules
轻量级框架,学习成本低,傻瓜式的基于pojo的规则引擎
使用简单,也比较强大,
支持bdd模式的规则处理,对于java 系统的集成很友好
支持基于文件的规则加载
接口可扩展,可自己添加基于db以及s3模式的处理,内置的Listener也是很不错的监控点,方便我们进行规则审计存储
几个主要的类或接口:Rule,RulesEngine,RuleListener,Facts
几个主要的注解:@Action,@Condition,@Fact,@Priority,@Rule
使用简单,也比较强大,
支持bdd模式的规则处理,对于java 系统的集成很友好
支持基于文件的规则加载
接口可扩展,可自己添加基于db以及s3模式的处理,内置的Listener也是很不错的监控点,方便我们进行规则审计存储
几个主要的类或接口:Rule,RulesEngine,RuleListener,Facts
几个主要的注解:@Action,@Condition,@Fact,@Priority,@Rule
RuleBook
基于java8 lambda 模式的规则引擎,使用上也是比较灵活的,
OpenL Tablets
国内资料不是很多,但是官方文档还是很不错的
Jess
网关
Linkerd
Nginx
ZUUL
Spring Cloud Gateway
Kong
前端
html5+css+javascript+json+jQuery
Jsp
Velocity
Freemarker
themeleaf
VUE
组件库
naiveui
element
Node.js
数据库
关系型数据库
MySql
数据同步
Canal
Debezium
Postgresql
Mariadb
NoSql数据库
MongoDB(推荐)
Leveldb
Cassandra
CouchDB
Hbase
Neo4j图形数据库
Clickhouse
TiKV分布式事务 Key-Value 数据库
TiDB分布式关系型数据库
审计平台
Yearning
Archery
分库分表中间件
当当开源的Sharding-JDBC
蘑菇街的TSharding
携程开源的Ctrip-DAL
MYCAT
远程调用(RPC)
Dubbo(推荐)
Grpc
Motan
Hessian
WebService
缓存
Redis(推荐)
客户端
Redisson
Jedis
Lettuce
MemCache
消息队列
RocketMQ(推荐)
Kafka
Redis也支持
RabbitMQ
搜索引擎
ElasticSearch(推荐)
Solr
分布式ID
UUID
号段模式
雪花算法
美团Leaf
任务调度
Elastic-job
XXL-JOB
大数据
实时数据分析Spark、Flink、Storm
离线数据分析Hadoop
数据仓库Hive
分布式文件系统HDFS
Streamsets
海量数据
应用分类
事务型、缓存型、明细、聚合/统计、复杂查询、混合读写型、高读取型、高写入型
典型存储引擎
文档存储MongoDB
KV/数据结构 Redis
索引 ElasticSearch
离线分析 Spark/Presto
实时分析 Druid、Doris
分布式文件 Hadoop
分布式一致性 Cockroach、tidb
极速在线分析 Clickhouse
行存储
mysql
oracle
列存储
Hbase
实时计算
Flink
引擎类型
OLTP(行存储)
OLAP(列存储)
HTAP
OLTP+OLAP
Map Reduce
MPP
缓存
索引
数据仓库
数据缓冲层BDM、基础数据层FDM、通用数据层GDM、聚合数据层ADM、应用数据层APP、维度表DIM、临时表TMP
数据同步Seatunnel
文档
Swaggar
YAPI
其它
keepalived
文件存储FastDFS
图片处理Graphicsmagick
Jxl+POI
高性能缓存服务器Varnish
图表工具Highcharts
twemproxy
Ansible配置管理和应用程序部署工具
文件同步
Rsync
NFS
文本编辑器KindEditor
durid(数据库连接池)
Gerrit 代码评审工具
状态机
状态机选型和比较
https://www.jianshu.com/p/879cb6735428
https://segmentfault.com/a/1190000009906317#articleHeader15
状态机种类:
1、Spring Statemachine
官网
状态机学习
https://blog.csdn.net/hxyascx/article/details/105494689
参考
完成:Spring Statemachine使用入门:https://blog.csdn.net/shenchaohao12321/article/details/103174650
https://blog.csdn.net/hellozhxy/article/details/103979671
优先https://www.jianshu.com/p/9ee887e045dd
2、Squirrel Statemachine
3、COLA Statemachine
数据报表
Datart
0 条评论
下一页
为你推荐
查看更多