精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

可以不必再學習的Java知識?

小林coding ? 來源:小林coding ? 2023-02-16 09:16 ? 次閱讀

大家好,我是小林。很多學 Java 的同學都會關心一個問題:有哪些過時的、可以不必再學習的 Java 知識?

針對這個問題,知乎上一位大佬給出了自己的見解,回答非常專業,分享給大家。

原文鏈接:https://www.zhihu.com/question/305924723/answer/557800752

注意,以下僅代表原作者本人的觀點,大家如果有其他的想法,歡迎留言區分享。

我判斷哪些技術不用學習的依據主要有以下幾點:

實際開發能否用到?

是否有助于加深對技術的理解?

對面試是否有用?

JSP

JSP在實際開發中,主要是作為MVC模型中的V(View)層出現的。當然,View層的渲染技術除了JSP,還有FreeMaker、Velocity等。

JSP作為頁面模板,在后端通過MVC框架渲染成HMTL,然后再發送到客戶端(例如瀏覽器)來呈現。這也就是我們常說的“前后端不分離”,“混合式”開發。

而當前,包括我所在的公司,以及大部分互聯網公司。要么已經拋棄這種模式,要么正在拋棄的路上,而轉向徹底地 “前后端分離”。

在“前后端分離”模式下,后端只負責提供服務接口(例如REST),而前端(例如HTML5)通過接口發送/獲取,呈現數據(例如JSON格式)。

這樣,在后端,原來的MVC框架,某種意義上已經演變為MC框架。因此,與V(View)相關的一切模板技術都失去了學習的必要,其中當然也包括JSP。所以,后來的Java學習者,我的建議是:

“完全可以放棄對JSP的學習。”

Struts

在Java后端開發中,MVC模型還是主流。而Struts作為一個MVC框架,單從技術上來說,還是很優秀的。

但是,現在Spring實在是太強勢了,越來越成為Java開發中的“一站式”工具包,其中的一個利器就是Spring MVC。

望名知意,Spring MVC也是一個MVC框架。而且因為它是Spring的親兒子,自然和Spring契合得非常完美。

同時,在設計之初,Spring MVC就參照了其他MVC框架的優缺點(包括Struts),所以用起來非常爽。因此,在MVC框架領域,Spring MVC大有一統天下的趨勢。

因此現在,很多公司,老的Struts項目還在維護。但新的項目開發,更多轉向了Spring MVC。因此,如果你是Java新手,正在學習中,我的建議是:

“不要再學習Struts了,從Spring MVC開始吧!”

Hibernate

Hibernate作為老牌的 ORM映射框架,功能非常強大,涵蓋面非常廣。但這既是它的優點,同時也成為它的“負擔”,是開發人員“不能承受之重”。

Hibernate的設計初衷,是為了最大程度地解放程序員,完全隔離數據庫,實現徹底的OR映射。程序員甚至可以不寫一行SQL語句,單通過配置就能實現對數據庫的操作。

當然,為了實現這個目標,Hibernate也設計地非常復雜、非常精巧。就不可避免的帶來以下副作用:

學習成本高

配置復雜

調優困難

前兩點不難理解,單說“調優困難”。

因為Hibernate的設計目標是徹底的OR映射,徹底的隔離SQL語句。但必然會帶來一定的性能損失。大部分情況下,應用如果對性能不敏感,Hibernate也沒問題。但應用一旦對性能敏感,有SQL級別調優的需求,Hibernate的優點反而成為缺點。

雖然Hibernate也支持SQL級別的調優,但因為框架設計的過于復雜和精巧,這就需要開發人員對Hibernate理解的非常透徹,這就帶來了更高的學習成本。

而現在最流行的MyBatis,作為一個“混合式”,輕量級OR映射框架,既繼承了Hibernate的優點,同時也吸取了他的教訓。在支持配置的同時,又能接觸SQL,從而帶來了更多靈活性(包括調試、優化)。

當前,在實際開發中,Hibernate使用得越來越少了。大家更偏愛MyBatis這種輕量級框架。所以,對后來學習者,我的建議是:

“不需要再學習Hibernate了,學MyBatis就夠了。”

Servlet(要精通)

當然,現在不會有任何公司,再用純粹的Servlet來實現整個Web應用,而是轉向一些更高級的技術(例如各種 MVC 框架)。因此,會給人一種錯覺:Servlet已經過時,后來者就不需要再學習了。

在這里,我可以非常負責任地說:這種觀點是極端錯誤,極端不負責任的。

Servlet不僅要學,而且要學深,學透。

當前,Servlet雖然不再是一個主流web開發技術,但依然是Java Web開發技術的基礎,是Java Web容器的基石,是行業標準。而現在流行的各種MVC框架(包括SpringMVC),在最底層,還是以 Servlet為基礎的。

為此,我畫了一個簡單的圖(不準確,會意即可):

54044604-ad48-11ed-bfe3-dac502259ad0.jpg

圖片

所以,如果你想要徹底掌握某個MVC框架,則必須徹底理解Servlet。

而且,Servlet作為一個基礎設施。精通它,不僅有助于理解各種MVC框架。即使Servlet本身,也有很多實用價值。

如果你深刻理解了Servlet的生命周期,就可以在底層做很多事情。譬如在Request進來的時候,進行攔截,進行權限的判定。也可以在Response發出的時候,進行攔截,統一檢查、統一附加。

所以,如果你正在學習Java,對Servlet,我的建議是:

“Servlet不僅要學,而且要學深,學透。”

其他

目前在國內,Java更多是作為web后端技術出現的。因此在實際學習中,很多技術就不符合“國情”,學習的現實意義不大。下面我就簡單列舉下。

1)Applet

作為頁面插件技術,不用多說,連flash都快被淘汰了,更無論從未流行的applet。

2)Swing

作為桌面UI框架。且不說本身設計得咋樣。現實開發中,我接觸的桌面應用,要么用C++(例如MFC),要么用C#(Winform、WPF)。所以,Swing就沒有學習的必要了。

3)JDBC

作為較低層的數據庫基礎設施,JDBC被很多框架(例如MyBatis)支持。但在實際開發中,程序員即使不了解也無大礙。因此,雖然我不能建議你放棄JDBC學習,但如果你時間有限,完全可以把它的優先級排低一點。

4)XML

XML現在還在廣泛應用。但作為一個web數據傳輸格式,正在逐漸被JSON替代。所以,對Java后端學習來說,XML簡單了解即可。至于龐雜的XML操作API(例如XPath),完全不必學習。將來真要用到,再查也不遲。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2958

    瀏覽量

    104544
  • 模型
    +關注

    關注

    1

    文章

    3171

    瀏覽量

    48711
  • MVC
    MVC
    +關注

    關注

    0

    文章

    73

    瀏覽量

    13841

原文標題:一些已經淘汰的 Java 技術,別再學了!

文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Java集合API的改進介紹

    解答這些問題。 我們將逐步學習 Java 集合類的優化過程,并按版本逐一對比分析。主要討論的焦點將包括 JDK 1.0、1.2、1.4、1.5、1.6、1.8、9、10、11 和 21 版本的 Java 集合功能
    的頭像 發表于 11-22 11:12 ?83次閱讀
    <b class='flag-5'>Java</b>集合API的改進介紹

    嵌入式學習建議

    很多彎路,也會使你對嵌入式系統感到畏懼。等你軟件硬件基礎打好了,再學習就感到容易理解。實際上,許多嵌入式應用并不需要操作系統。也可以根據實際項目需要,再學習特定的RTOS。不要被一些嵌入式實時操作系統
    發表于 10-22 11:41

    java反編譯能拿到源碼嗎

    Java反編譯是一種將編譯后的Java字節碼(.class文件)轉換回Java源代碼的過程。雖然反編譯可以幫助理解代碼的邏輯和結構,但它并不總是能完美地還原原始源代碼。反編譯工具通常會
    的頭像 發表于 09-02 11:03 ?725次閱讀

    java反編譯的代碼可以修改么

    Java反編譯是一種將編譯后的Java字節碼(.class文件)轉換回源代碼的過程。反編譯后的代碼可以進行修改,但是需要注意,反編譯代碼的質量和可讀性可能會受到原始編譯代碼的混淆、優化等因素
    的頭像 發表于 09-02 11:00 ?512次閱讀

    java子類可以繼承父類的什么

    Java是一種面向對象的編程語言,它支持繼承的概念。繼承是面向對象編程的三大特性之一,它允許一個類(稱為子類或派生類)繼承另一個類(稱為父類或基類)的屬性和方法。在Java中,子類可以繼承父類
    的頭像 發表于 08-20 11:02 ?922次閱讀

    【轉型必看】Java到AI,程序員的逆襲秘籍,轉行人工智能不再是夢!

    人工智能,轉型的優勢,薪資對比,以及轉型所需的知識學習路線等。01Java開發者能否轉型人工智能?答案是肯定的。Java作為一種廣泛使用的編程語言,擁有強大的生
    的頭像 發表于 07-31 14:42 ?868次閱讀
    【轉型必看】<b class='flag-5'>Java</b>到AI,程序員的逆襲秘籍,轉行人工智能不再是夢!

    華納云:java web和java有什么區別java web和java有什么區別

    的平臺,Java可以用于開發桌面應用程序、移動應用程序、企業級應用程序等。 – Java Web是Java語言在Web開發領域的應用,它使用Java
    的頭像 發表于 07-16 13:35 ?683次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別

    學習串口屏需要了解哪些方面的知識

    學習串口屏需要掌握的知識主要包括以下幾個方面
    的頭像 發表于 06-05 09:41 ?399次閱讀
    <b class='flag-5'>學習</b>串口屏需要了解哪些方面的<b class='flag-5'>知識</b>

    XMC Pinout Tool是否可以不受限制地使用免費的Java版本運行?

    我有幾個關于 XMC 引腳排列工具的問題。 首先我想問一下 XMC Pinout Tool 是否可以不受限制地使用免費的 Java 版本(Oracle Java SE v17 LTS)運行? 其次
    發表于 01-22 06:18

    java環境配置成功后怎么運行

    Java環境配置成功后,我們可以使用幾種方式來運行Java程序。下面將詳細介紹這幾種方式以及其使用方法。 命令行運行方式 在成功配置Java環境后,我們
    的頭像 發表于 12-06 15:57 ?2040次閱讀

    java環境配置成功后能執行哪些操作

    。 使用Java開發工具包(JDK):Java環境配置成功后,您可以使用Java開發工具包(JDK)中的各種工具和庫來開發Java應用程序。
    的頭像 發表于 12-06 15:55 ?722次閱讀

    java環境搭建及配置教程

    Java是一種廣泛使用的編程語言,用于開發各種應用程序。在開始學習和使用Java之前,您需要搭建和配置Java開發環境。本教程將提供詳細的Java
    的頭像 發表于 12-06 15:50 ?750次閱讀

    idea怎么創建Java項目

    : 安裝Java開發環境 一個Java項目需要在計算機上安裝Java開發環境(JDK),我們可以從Oracle官方網站上下載并安裝最新版本的JDK。 選擇集成開發環境(IDE) IDE
    的頭像 發表于 12-06 14:09 ?881次閱讀

    eclipse怎么運行java項目

    代碼添加到項目中。您可以通過右鍵單擊項目名稱,然后選擇“New” > “Class”來創建一個新的Java類。在彈出的對話框中,輸入類的名稱和
    的頭像 發表于 12-06 11:25 ?1952次閱讀

    Java怎么排查oom異常

    據量的應用中。要排查OOM異常,需要經過以下幾個步驟: 理解OOM異常的原因:OOM異常通常有以下幾個原因:內存泄露、內存溢出、內存不足以容納所需的數據等。理解OOM異常的原因對排查問題非常重要。 配置Java堆內存:要解決OOM異常,可以嘗試增加
    的頭像 發表于 12-05 13:47 ?1213次閱讀