JAVA开发与架构(一个JAVA架构师的必备技能和素养)

article/2025/11/5 8:26:27

最近领导有问,你们眼中的JAVA架构师当如何?特此在这篇博文中回复。

架构一词的解析:软件架构来源于软件工程,而软件工程的思想来源于建筑工程。所以架构一词其实也是来源于建筑学。从建筑学中我们很容易理解架构。在建筑学中,我们很容易理解,架构是指在房屋建筑中,由各种构件(屋架、梁、板、柱等)组成的能够承受各种作用的体系。既包括基本承重架构,功能架构,也包括美观架构,防震架构,绿色环保设计架构等等。其实放到软件设计架构方面也是一样。针对JAVA领域的架构,目前已经演化为:基础架构、业务架构、技术架构、数据架构、部署架构和绿色架构这几个分支。其实按照专才来分的话,一个架构师只要精深一种架构就行。但是我们往往需要架构师具有综合的技能和素养。所以我们全部都要具备。按照目前深圳的市人才市场价精深一种架构的架构师市场价值在40W到50W每年。如果上面几种都精深可达80W到120W每年。

基础架构:
基础架构包括这个系统的自研的中间件,包括缓存自研架构,tomcat自研架构,数据库连接架构,网关架构,部署工具等这些系统的基本构件,需要基于开源系统还是从无到有,结合公司实际项目做到最优化。

业务架构:
业务架构就是产品经理提出的业务需求,架构师可以根据需求来对业务架构进行服务划分,可以无限横向扩展。比如用户管理。客服中心。商品中心,支付中心,物流中心,异业合作等等与业务相关的功能架构和打破系统壁垒和数据壁垒对系统进行系统升级,数据融合。这是系统对客的门面,不管是TO B的还是 TO C的。

技术架构:

技术架构包括这个系统的登录,安全,互联网合规,防网络攻击,用户权限,用户日志,全文检索,扫一扫,架构本身的服务注册发现,路由(网关),配置中心,工具类等基础功能。这是对系统架构进行技术选型。

数据架构:
数据架构包括使用的二维数据库,缓存数据库,消息队列,全文检索数据库,数据备份,数据扩展策略,数据中台,数据集市,数据分析。这是系统的动脉血液。其中数据架构和基础架构和业务架构都是紧密配合的,比如缓存的使用,全文检索数据库,数据分析。

部署架构:
部署架构包括系统的部署方式,涉及到云平台,系统监控,系统日志,系统告警,系统扩容,系统健康检测,系统流量分析等内容。

绿色架构:

绿色架构是根据计算机学会提倡绿色计算提出的概念。因为我们在研发的过程中必然会产生资源消耗,一个好的系统一定是刚刚好的。不是用大炮来打蚊子,也不是系统也厉害越好,不是什么计算都放在银河计算机那么先进的计算机上计算。所以在做架构时怎么规划使用多少服务器,使用多大的网络流量,购买多少第三方服务,系统的紧缩和扩容等等这是绿色架构需要考虑的问题。

关于基础架构:

java基础和javaweb基础技能:

Java基础

多线程:创建与使用、线程同步与锁、线程池等的掌握

JVM:你只有深入理解虚拟机的内存回收机制,才能正确使用JVM性能调优

掌握NIO,以及对应NIO框架Netty

Java并发包(java.util.concurrent)下的工具包:AtomicInteger等原子操作类,基于AQS锁:

ReentrantLock

Semaphore

CountDownLatch

ReentrantReadWriteLock

SynchronousQueue

FutureTask

数据结构与算法

常见的数据结构:数组、链表、堆与栈、哈希表等

算法思想:递推、穷举、贪心等

经典排序算法:排序、查找

常用的设计模式

创建型:工厂方法、抽象工厂、单例模式

结构型:装饰模式、外观模式、组合模式

行为模式:策略模式、观察者模式

软件设计原则:接口隔离、单一职责等原则

开发框架

分库分表框架:tddl、cobar、mycat的选型与使用

服务化:Dubbo、gRPC、Spring Cloud、Spring Cloud alibaba(阿里基于Spring Cloud开源实现,微服务架构推荐使用)

负载均衡:LVS、Nginx、HAProxy

缓存:Redis、Memcached

搜索与数据分析:Elasticsearch、ELK

消息队列:RabbitMQ、Kafka、RocketMQ

容器:docker、k8s

分布式注册中心:zookeeper、nacos(阿里开源推荐使用)、ETCD、Consul

高性能NIO网络通信框架 Netty

数据存储

MySQL数据库更多是需要掌握事务、锁、索引、性能优化,以及如何配合NoSQL(mongodb\redis)选型使用。

分布式数据库的存储、查询

分布式事务

分布式全局ID设计

常用构建工具

Maven/gradle 管理项目的构建、打包、测试、发布

git/svn 源码版本管理

Nexus 类库私服管理

Jenkins 自动化部署工具

SonarQube 代码质量检查工具

分布式架构

分布式锁

分布式数据存储,全局唯一ID实现

分布式架构的数据一性性、可用性、容错易用性(CAP),在CAP中只能满足CP或AP原则的理解及实施;

海量数据迁移技术;

服务熔断、限流、降级

服务发现与治理

服务的负载

服务的网关

服务的安全

Linux常用功能

find、grep、ps、cp、move、tar、head、tail、netstat、lsof、tree、wget、curl、ping、ssh、echo、free、top

性能调优

JVM性能调优

Mysql性能调优

Tomcat性能调优

Nginx 性能调优

redis 性能调优

elasticsearch 性能调优

网络安全

XSS

XSS的防御

CSRF

注入攻击

SQL注入

XML注入

CRLF注入

文件上传漏洞

加密与解密

对称加密

非对称加密

哈希算法

加盐哈希算法

加密算法(MD5,SHA1、DES、AES、RSA、DSA)

彩虹表

DDOS攻击

DOS攻击

memcached为什么可以导致DDos攻击

什么是反射型DDoS

如何通过Hash碰撞进行DOS攻击

SSL、TLS,HTTPS

脱库、洗库、撞库

 


http://chatgpt.dhexx.cn/article/50xyMppq.shtml

相关文章

Java架构的演变

1、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2、基本概念 在介…

JAVA架构之路(一)

JAVA架构之路 目前java主流技术介绍,图片来自网络截图,如觉得侵权请联系删除。 JAVA主流开源技术栈 为什么使用微服务架构 微服务架构 主流领先技术 JAVA基础知识学习路线池

史上最全最详细的Java架构师成长路径图,程序员必备

从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才…

Java三种技术架构

Java语言的三种技术架构: J2SE:JAVA 2 Platform Standard Edition (标准版) SE是为开发普通桌面和商务应用程序开发的解决方案,这是学习其他两者的基础。 J2EE :JAVA 2 Platform Enterprise Edition &…

java中的各种架构

常见包名的含义: dao 数据库操作,增删改查,jdbc中具体的数据处理model 一般是javabean对象,与数据库的某个表相关联service 供外部调用,等于对dao,model等进行了包装bean getter,setter方法util:工具类&am…

JAVA架构与开发(JAVA架构是需要考虑的几个问题)

在企业中JAVA架构师主要负责企业项目技术架构,企业技术战略制定,技术框架搭建,技术培训和技术攻坚的工作。 在JAVA领域,比较多的都是web项目。用于解决企业的数字化转型。对于JAVA架构师而言,平时对项目的架构主要考虑…

全网最全的 Java 各类技术栈架构图汇总(建议收藏)

点击上方“Java基基”,选择“设为星标” 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

Java架构介绍(一)

java语言平台架构 java语言的平台架构由下面四部分组成: java编程语言java的class文件格式java应用程序接口(API)java虚拟机 这四部分的关系如下图所示: 可以看到,java编程环境分为两个时期,编译时和运行时…

Java架构

1.java 类加载器架构 2. JVM 架构 3. Java 技术体系 4.线程运行架构 5.Java 体系(编译与运行)结构 6.JMS 技术架构 JMS(Java Message Service)组成特点: JMS provider 实现JMS接口和规范的消息中间件,也就是我们的MQ服务器 JMS p…

笔记本电脑 (天梯图) 处理器 和 显卡

游戏本一般是i5-9300H起步,低于这个标准的游戏本不建议购买。另外需要注意的是不要被10代CPU唬住了,拿最近卖的比较火的i5-10210U来说,其性能还不如8代的i5-8300H 我们以移动版GTX1650为分界线,游戏本的显卡一般都在此之上&#…

处理器CPU天梯图,显卡天梯图(性能排名图)

本文转载自: https://www.cnblogs.com/little-white/p/3324393.html 作者:little-white 转载请注明该声明。 自己网上找的几个图,仅供参考,买电脑可以看看了~

(最新)cpu天梯图 (CPU)- Processor Benchmarks

cpu天梯图,cpu Benchmarks见下列网址: PassMark CPU Benchmarks - Single Thread PerformanceCPU UserBenchmarks - 1206 Processors ComparedCPU-Z Benchmark - CPU-Z VALIDATORProcessor Benchmarks - Geekbench BrowserCPU Benchmarks for Lucas-Leh…

INTELAMD性能天梯图

选购cpu的时候可以作为参考 个人学习用途博客 部分内容摘抄自网络

计算机cpu天体图,cpu性能天梯排行图 最新的2021年电脑cpu天梯图5月高清图

最新的2021年电脑cpu天梯图它来了,感兴趣的一起来看看吧! 2021CPU最新最全天梯图 CPU前十排行榜CPU排名 一、赫兹速度比核心数目更重要: 更高的时钟速度可在诸如游戏等简单的常见任务中转化为更出色的性能,而更多的核心将帮助您更快地处理耗时…

天玑CPU天梯图2023年2月最新版 2023天玑处理器天梯图

、联发科天玑9000 2、联发科天玑9000 3、联发科天玑8100-MAX 4、联发科天玑8100 5、联发科天玑8000-MAX 我用的手机就是活动时抢购的便宜了600太给力了 http://www.adiannao.cn/7 6、联发科天玑1200 7、联发科天玑1100 8、联发科天玑1000 9、联发科天玑1000L 10、联发科天玑820…

服务器amd cpu性能排行,Ryzen处理器有哪些/性能排名如何?AMD Ryzen CPU天梯图解答...

沉寂了十年的AMD今年终于迎来大爆发,新推出的全新Ryzen系列处理器,无论是高端、中端还是低端都能对标Intel酷睿i7/i5/i3,并且还有多核与性价比优势,给多年挤牙膏的Intel带来了很大的压力。那么目前Ryzen处理器有哪些?各自的性能水平如何呢?今天脚本之家制作了一张AMD Ryz…

适合游戏视频剪辑CPU排行榜,cpu天梯图

你会在紧张的消费预算中购买一个性能强劲的CPU来组装PC机吗?如果你经常做编辑视频,你将需要一个cpu性能强大的PC,让你快速地操作视频影片。一个及格的视频编辑处理器将利用多核心数量和多线程做编辑视频任务。 在现代计算机技术时代&#xf…

AMD CPU

系列 基于ZEN架构的有:速龙(Athlon),锐龙(Ryzen),线程撕裂者(Threadripper),不基于ZEN架构的不建议购买 速龙 对标 Intel奔腾,目前在售的只有两…

手机cpu性能天梯图2023 手机cpu处理器排行榜2023

一、手机处理器排名2023年天梯图 这个版本的手机cpu处理器天梯排名是快科技最新推出的,基于手机soc性能跑分来排序,数据来源于驱动之家评测室、GeekBench、GFXBench,通常是综合每个手机cpu在不同测试工具下的性能跑分高低来排序,采…