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