java常用的技術堆疊有:1、JDK;2、Web框架;3、Web容器;4、ORM框架;5、Spring;6、資料庫;7、搜尋引擎;8、後端模板引擎;9、工作流程;10、其它語言中介軟體,如Kafka,RocketMQ或RabbitMQ等。
本教學操作環境: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中文網其他相關文章!