Java 技术分类汇总(持续更新中)

技术选型原则

业务驱动技术,技术的出现是为了更好地支撑业务,离开业务谈技术都是耍流氓。选型维度可参考以下几方面:框架成熟度、社区热度、可维护性、开发效率、运行效率、成功案例、文档丰富程度、学习曲线。通过以下不同技术的组合,可以打磨出高可用、高性能、高并发、高扩展的系统应用。

常用类库、框架

SQL 优化:P6Spy

Bean 映射工具:Dozer

Java 诊断工具:Arthas

Web 爬虫:Webmagic、Jsoup

数据导出:POI、EasyPOI、EasyExcel、FastExcel

动态代理:JDK 动态代理、Cglib、Javassist、ASM、Byte Buddy

代码混淆:Zelix KlassMaster

代码测试:Mockito、Jacoco

代码格式化:Spring-Javaformat

Reids 客户端:Jedis、Lettuce、Redisson

网络通信:Netty、Mina、Grizzly

异步网络通信:Netty、Vert.x、Akka Actor

异步编程 API:Java CompletableFuture(JDK 8+)、Guava ListenableFuture

响应式编程:RxJava、Project Reactor(Spring Reactor)、Akka Streams、Mutiny、Ratpack

权限安全:Shiro、Spring Security

搜索引擎:Lucene、Solr、ElasticSearch、Redis Stack(RediSearch)

数据库连接池:C3P0、DBCP、Druid、HikariCP、BeeCp、BoneCP

HTTP 客户端:OkHttp、Retrofit、AsyncHttpClient、Java HttpClient(JDK 11+)、Apache HttpClient、Spring WebClient、Vert.x Web Client、Jersey Client

模版引擎:FreeMarker、Thymeleaf、Velocity、Beetl、Enjoy

工具库:Guava、Apache Commons、Joda Time、Hutool

工作流:Activiti、JBPM、Flowable、Bonita 、Apache Airflow

API 文档:Spring REST Docs、Knife4j、Swagger、OpenAPI3

序列化:Jackson、Gson、FastJson、ProtoBuf、Thrift、Hessian、Kryo、FST

缓存:Ehcache、Caffeine 、Spring Cache、Guava Cache、JetCache、Hazelcast、Infinispan、J2Cache

ORM 框架:JPA(EclipseLink、Apache OpenJPA)、Hibernate、MyBatis、MyBatis-Plus、TKMybatis、jOOQ、BeetlSQL、APIJSON

基础开发框架:Struts2、Spring、Spring MVC、Spring WebFlux、JFinal

分布式、微服务、云原生

微服务:Spring Boot、Spring Cloud、Spring Cloud Alibaba、Quarkus、Helidon、Micronaut、Microprofile、Tencent Polaris

分布式锁:Redission、ZooKeeper、Chubby

RPC 框架:gRPC、Thrift、Dubbo、Sofa-RPC、Motan、ZBUS、HSF

服务监控:Spring Boot Admin、Prometheus、Grafana、AlertManager、Metrics、Cacti、Zabbix、Nagios、Cat、Atlas、Spectator、Open Falcon、New Relic

消息队列:Kafka、RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、RedisMQ、Beanstalkd、ZUBS

服务注册与发现:Eureka、Zookeeper、Consul、Etcd3、Nacos、SOFARegistry

分布式配置中心:Spring Cloud Config、Zookeeper、Consul、Etcd3、Nacos、Apollo、Disconf、Chef

分布式任务调度:ElasticJob、XXL-JOB、PowerJob、Saturn、K8S Job、DolphinScheduler

分布式调用链路追踪:Micrometer、Sleuth、Zipkin、Brave、SkyWalking、OpenTracing、OpenCensus、OpenTelemetry、、Pinpoint、Jaeger、Dapper、JVM-SANDBOX

分布式文件系统:HDFS、FastDFS、MinIO、TFS、GlusterFS、Ceph、MooseFS

服务调用失败重试:Spring Retry、Hystrix、OpenFeign、Resilience4J、Sentinel

服务路由(网关):Spring Cloud Gateway、Zuul、Nginx、OpenResty、ShenYu、Envoy、Higress、APISIX、Kong、Istio、Linkerd、Tyk、Orange

服务限流:Bucket4j、Guava RateLimiter、Resilience4j、Sentinel

服务熔断、服务降级:Hystrix、Resilience4J、Sentinel、Enovy

数据库读写分离中间件:Atlas(奇虎 360)、DBProxy(美团)、ProxySQL

数据库分库分表中间件:Cobar(阿里)、MyCat、ShardingSphere、Vitess

数据库数据同步 / 迁移中间件:Canal、Otter、Debezium、Maxwell、Flink CDC、SymmetricDS、SynchDB

数据库:MySQL、PostgreSQL、Oracle、DB2、SQL Server、MariaDB、MongoDB、ClickHouse、HBase、Ignite、Cassandra、MinIO、InfluxDB、TiDB

内存数据库:Redis、Memcached、Tair、Couchbase

嵌入式数据库:SQLite、H2、Derby、HSQL

数据库迁移:Flyway、Liquibase

日志采集处理:Kafka、Flume、Logstash、Filebeat、Fluentd、Graylog、Splunk Forwarder、Apache NiFi、Heka

大数据技术:Zookeeper、Hadoop、HDFS、Yarn、Hive、Hbase、Flink、Flume、Spark、Storm、ClickHouse、Kylin、Presto、Sqoop、Impala

大数据任务调度:Azkaban、Oozie、Airflow、DolphinScheduler

分布式事务:Seata、Hmily、TxLcn

分布式全局唯一 ID:SnowFlake、UidGenerator、Leaf

分布式系统其他基础技术:CAS 单点登录、分布式 Session

分布式数据库其他基础技术:数据库集群、主从同步、读写分离、分库分表、分片分区

云原生基础技术:Envoy、Istio、Kubernetes、Dapr、eBPF、MOSN、GraalVM

开源 JDK:OpenJDK、Alibaba Dragonwell、Amazon Corretto、Azul Zulu、Tencent Konna

运维、编译构建、持续集成、虚拟化

自动化运维平台:Ansible

编译构建:Maven、Gradle、Ant、Bazel

Linux 系统:CentOS、Debian、Ubuntu、SUSE

持续集成:Jenkins、Hudson、Bamboo、Spinnaker

Web 服务器:Apache、Tomcat、Jetty、Undertow、Liberty、Weblogic、Websphere、WildFly、GlassFish、TomEE、Resin、Payara

虚拟化方案:KVM、XEN、Docker、VirtualBox、VMware WorkStation、VMware ESXi、Hyper-V

容器化技术:Docker、Swarm、Machine、Compose、Kubernetes、KubeSphere、Mesos(Day2IQ)、Rancher、Podman、K3S、Skopeo、Buildah、Rancher2、Portainer、Proxmox

容器集群管理调度:Swarm、Kubernetes、Mesos、Rainbond、Cattle。

负载均衡、反向代理、缓存服务器:LVS、Nginx、OpenResty、Tengine、Traefik、Squid、Varnish、Caddy、Envoy、HAProxy、Keepalived、Heartbeat

协同办公、知识管理、代码审核

代码审核:Gerrit、GitLab

知识管理(WiKi):Confluence

代码审计(商业软件):Checkmarx、Fortify