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

技术选型原则

业务驱动技术,技术的出现是为了更好地支撑业务,离开业务谈技术都是耍流氓。选型维度可参考以下几方面:框架成熟度、社区热度、可维护性、开发效率、运行效率、成功案例、文档丰富程度、学习曲线。

常用类库、框架

SQL 优化:P6Spy

Web 爬虫:Webmagic

Java 诊断工具:Arthas

数据导出:POI、EasyPOI、EasyExcel

Binlog 解析工具:Maxwell

代码混淆:Zelix KlassMaster

Reids 客户端:Jedis、Lettuce、Redisson

权限安全:Shiro、Spring Security

搜索引擎:Lucene、Solr、ElasticSearch

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

HTTP 请求:OkHttp、Retrofit、Apache HttpClient

限流:Bucket4j、RateLimitJ、RateLimiter(Guava)

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

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

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

响应式编程:RxJava、Reactor、Vert.x、Akka Streams、Ratpack

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

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

ORM 框架:Hibernate、MyBatis、MyBatis-Plus、APIJSON

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

高可用、高性能、高并发、高扩展、分布式、微服务技术

微服务:Spring Boot、Spring Cloud、Spring Cloud Alibaba、Quarkus、Helidon、Micronaut、GraalVM

分布式锁:Redission、ZooKeeper、Chubby

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

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

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

全链路跟踪:Zipkin、Pinpoint、Brave、Dapper、JVM-SANDBOX

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

数据库迁移:Flyway、Liquibase

分布式任务调度:Elastic-Job、XXL-JOB、Saturn、DolphinScheduler

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

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

服务路由(API 网关):Gateway、Zuul、Kong、OpenResty、ShenYu、Linkerd、Tyk、Orange

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

数据库中间件:MyCat、ShardingSphere、Cobar、Atlas、DBProxy、Heisenberg、CDS、DDB、OneProxy、Amoeba

数据库:MySQL、PostgreSQL、MongoDB、Redis、Memcached、HBase、Ignite、Oracle、DB2、SQL Server、Cassandra

大数据技术:Spark 生态圈、Hadoop、HDFS、Zookeeper、Yarn、Hive、Hbase、Storm、Flume、Sqoop、OOzie、Impala、ClickHouse、Flink

分布式事务:Seata、RabbitMQ 柔性事务

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

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

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

Linux、编译构建、持续集成、虚拟化技术

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

Linux 系统:CentOS、Debian、Ubuntu、SUSE

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

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

虚拟化:Docker、Swarm、Machine、Compose、Kubernetes、Mesos(Day2IQ)、Rancher、Podman、Skopeo、Buildah

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