本教程操作环境:Windows10系统、Java8.0版、Dell G3电脑。
(资料图片)
java最常用的技术栈有哪些?
Java开发常用技术栈盘点
1. 前言
最近很多人私下询问我常用的Java开发技术栈,所以今天就总结一波平常使用的Java技术栈。
2. JDK
JDK 的版本现在大部分转移到了8,超前一点的使用11,请认准LTS版本!不要生产上使用9、 10、12、13、14。在Oracle JDK和Open JDK之间推荐使用Open JDK,避免引起不必要的商业纠纷。Amazon Corretto 、Alibaba Dragonwell 都不错。7 以上不用太考虑兼容问题,不过最好测试一波再迁移。
2. Web 框架
主流还是Servlet系列的Spring MVC为主。Structs应该只有老项目在用。响应式框架Spring Webflux开始进入视野,尝试的人、问的人逐渐多了起来。建议有志于抓住未来方向的同学了解一下。
3. Web 容器
目前应该还是Tomcat最多,但是近几年红帽的Undertow也起来了,Jetty实际生产并没有优势,测试可能会用。有能力的公司会选择Netty自行实现高性能的 Web 容器。
4. ORM 框架
现在Mybatis在国内依然是老大的地位,国外却很少有相关的教程。其次是JPA体系,主要包括Spring Data JPA 、Hibernate。有兴趣的话可以去看一下JOOQ。随着响应式编程的兴起,JDBC开始出现了潜在的对手R2DBC,需要持续关注动向。
5. Spring
谈到Java离不开Spring,Spring生态的统治地位依然不可动摇。目前单体应用还是Spring Boot一把梭,微服务Spring Cloud体系还是占绝对优势。但是你的项目真适合搞微服务吗?Spring近年来开始转向响应式,无论Webflux,还是R2DBC,以及更近的RSocket都是Spring官方力推的一些响应式框架或协议。所以响应式必须列入你的知识清单了。
6. 数据库
大部分还是Mysql、但是MSSQL、PostgreSQL也用的不少。国产云原生数据库TiDB的发展也不可小视。作为文档数据库Mongo虽然过去两年爆出了一些安全问题,但是依然领导着这个领域。内存型数据库Redis依然在缓存领域占据重要的地位,Memcached、Hazelcast 也经常出现在视野中。
7. 搜索引擎
在搜索引擎领域Lucene及其两个衍生品Solr和ElasticSearch占据绝对优势,ElasticSearch更加活跃一些。
8.后端模板引擎
在前后端分离已经流行的今天,模板引擎的生存空间再一次被压缩,目前我最多用它们来搞搞代码生成器。已经很少在使用它们了,Freemarker、Velocity Thymeleaf越来越少被提及了。
9. 工作流
常用的名气大的主要是Activity和Flowable。
10. 其它语言无关的中间件
消息队列主要是Kafka、RocketMQ、RabbitMQ,老牌ActiveMQ开始没落,Yahoo捐献给Apache的Pulsar不知道为什么没有像zookeeper一样买账的。Nginx依然是高性能Web服务器、代理服务器的首选。
这就是我对Java当前常用技术栈的一些看法和观点。
推荐学习:《Java视频教程》
以上就是java最常用的技术栈有哪些的详细内容,更多请关注php中文网其它相关文章!