java领域的相关技术有哪些:分模块选型清单
java领域的相关技术有哪些,整体分为基础语法、主流开发框架、数据存储、分布式中间件、云原生、开发运维六大模块;业务开发优先选用Spring全家桶+MyBatis+MySQL+Redis组合,高并发交易场景替换为Dubbo+RocketMQ,服务器资源紧张的容器场景选用Quarkus+GraalVM,老旧单体项目不建议继续新增功能,仅做维护迭代;这套技术体系适配绝大多数互联网、金融、政企后端项目,仅嵌入式设备开发场景需要切换为JavaME技术栈,不能直接套用后端开发组件。
java领域基础核心技术
基础语法包含JDK基础类库、面向对象、集合、多线程、IO、NIO、反射、注解、JVM调优;JVM部分包含内存模型、垃圾回收器、类加载机制,可参考Oracle官方JDK性能优化文档做参数调优。
网络编程优先使用Netty异步框架,大幅提升网络通信吞吐能力。
java领域Web与开发框架技术
| 框架类型 | 主流产品 | 适用场景 | 局限条件 |
|---|---|---|---|
| 单体Web框架 | SpringBoot、SpringMVC | 中小型单体项目、快速开发接口 | 打包体积偏大,冷启动速度偏慢 |
| 微服务框架 | SpringCloud、Dubbo | 分布式业务、多服务拆分项目 | 服务治理复杂度更高,需要配套注册中心 |
| 云原生轻量框架 | Quarkus、Micronaut | K8s容器部署、Serverless服务 | 第三方组件适配数量少于Spring生态 |
| 持久层框架 | MyBatis、MyBatis-Plus、JPA | 数据库CRUD开发 | JPA自动生成SQL,复杂SQL场景可控性偏弱 |
Spring全家桶是企业开发主流选择,包含SpringIoC容器、AOP切面编程、SpringSecurity权限控制组件。
java领域数据存储技术
关系型数据库以MySQL、PostgreSQL为主,配套技术包含分库分表Sharding-JDBC、读写分离、数据库连接池HikariCP;缓存技术以Redis为主,搭配Caffeine本地缓存,降低网络请求开销。
非关系型数据库包含MongoDB文档库、Elasticsearch搜索引擎,用于存储非结构化数据与全文检索业务。
java领域分布式中间件技术
服务注册与配置选用Nacos、Consul;API网关选用SpringCloudGateway;消息队列包含RabbitMQ、RocketMQ、Kafka,Kafka更适合海量日志流式处理,RocketMQ更适配订单事务消息场景。
分布式事务用Seata实现跨服务数据一致性;链路追踪采用SkyWalking、Sleuth+Zipkin,满足线上问题排查需求。
java领域云原生与运维技术
容器打包使用Docker,编排调度使用Kubernetes;原生镜像编译采用GraalVM,缩减程序启动时间与内存占用。
日志监控采用ELK、Prometheus+Grafana;CI/CD流水线依靠Jenkins完成自动打包、测试与部署。
java领域其他细分技术
大数据开发用到Hadoop、Flink、Spark;定时任务使用Quartz、XXL-Job;接口文档生成采用Knife4j、Swagger;代码质量检测使用SonarQube。
桌面客户端开发使用JavaFX;嵌入式开发采用JavaME,这一类场景和后端Web技术栈完全隔离,不能混用组件。
