java技术栈有哪些

六六 TOP1 1539

java技术栈有8种,分别是:1. JDK;2. Web 框架;3. Web 容器;4. ORM 框架;5. Spring;6. 数据库;7. 搜索引擎;8. 后端模板引擎。JDK是 java 语言的软件开发工具包,包括 jre,Java 运行环境,一堆Java工具和Java基础的类库。

1.JDK

JDK全称Java Development Kit 中文意思是java 开发工具包,是 java 语言的软件开发工具包。主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包括 jre (Java Runtime Environment) Java 运行环境,一堆Java工具和Java基础的类库。

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越来越少被提及了。

回复

我来回复
  • 暂无回复内容

联系我们
关注微信
关注微信
分享本页
返回顶部