国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

可以不必再學(xué)習(xí)的Java知識(shí)?

小林coding ? 來(lái)源:小林coding ? 2023-02-16 09:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我是小林。很多學(xué) Java 的同學(xué)都會(huì)關(guān)心一個(gè)問(wèn)題:有哪些過(guò)時(shí)的、可以不必再學(xué)習(xí)的 Java 知識(shí)?

針對(duì)這個(gè)問(wèn)題,知乎上一位大佬給出了自己的見(jiàn)解,回答非常專業(yè),分享給大家。

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

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

我判斷哪些技術(shù)不用學(xué)習(xí)的依據(jù)主要有以下幾點(diǎn):

實(shí)際開(kāi)發(fā)能否用到?

是否有助于加深對(duì)技術(shù)的理解?

對(duì)面試是否有用?

JSP

JSP在實(shí)際開(kāi)發(fā)中,主要是作為MVC模型中的V(View)層出現(xiàn)的。當(dāng)然,View層的渲染技術(shù)除了JSP,還有FreeMaker、Velocity等。

JSP作為頁(yè)面模板,在后端通過(guò)MVC框架渲染成HMTL,然后再發(fā)送到客戶端(例如瀏覽器)來(lái)呈現(xiàn)。這也就是我們常說(shuō)的“前后端不分離”,“混合式”開(kāi)發(fā)。

而當(dāng)前,包括我所在的公司,以及大部分互聯(lián)網(wǎng)公司。要么已經(jīng)拋棄這種模式,要么正在拋棄的路上,而轉(zhuǎn)向徹底地 “前后端分離”。

在“前后端分離”模式下,后端只負(fù)責(zé)提供服務(wù)接口(例如REST),而前端(例如HTML5)通過(guò)接口發(fā)送/獲取,呈現(xiàn)數(shù)據(jù)(例如JSON格式)。

這樣,在后端,原來(lái)的MVC框架,某種意義上已經(jīng)演變?yōu)镸C框架。因此,與V(View)相關(guān)的一切模板技術(shù)都失去了學(xué)習(xí)的必要,其中當(dāng)然也包括JSP。所以,后來(lái)的Java學(xué)習(xí)者,我的建議是:

“完全可以放棄對(duì)JSP的學(xué)習(xí)?!?/p>

Struts

在Java后端開(kāi)發(fā)中,MVC模型還是主流。而Struts作為一個(gè)MVC框架,單從技術(shù)上來(lái)說(shuō),還是很優(yōu)秀的。

但是,現(xiàn)在Spring實(shí)在是太強(qiáng)勢(shì)了,越來(lái)越成為Java開(kāi)發(fā)中的“一站式”工具包,其中的一個(gè)利器就是Spring MVC。

望名知意,Spring MVC也是一個(gè)MVC框架。而且因?yàn)樗荢pring的親兒子,自然和Spring契合得非常完美。

同時(shí),在設(shè)計(jì)之初,Spring MVC就參照了其他MVC框架的優(yōu)缺點(diǎn)(包括Struts),所以用起來(lái)非常爽。因此,在MVC框架領(lǐng)域,Spring MVC大有一統(tǒng)天下的趨勢(shì)。

因此現(xiàn)在,很多公司,老的Struts項(xiàng)目還在維護(hù)。但新的項(xiàng)目開(kāi)發(fā),更多轉(zhuǎn)向了Spring MVC。因此,如果你是Java新手,正在學(xué)習(xí)中,我的建議是:

“不要再學(xué)習(xí)Struts了,從Spring MVC開(kāi)始吧!”

Hibernate

Hibernate作為老牌的 ORM映射框架,功能非常強(qiáng)大,涵蓋面非常廣。但這既是它的優(yōu)點(diǎn),同時(shí)也成為它的“負(fù)擔(dān)”,是開(kāi)發(fā)人員“不能承受之重”。

Hibernate的設(shè)計(jì)初衷,是為了最大程度地解放程序員,完全隔離數(shù)據(jù)庫(kù),實(shí)現(xiàn)徹底的OR映射。程序員甚至可以不寫(xiě)一行SQL語(yǔ)句,單通過(guò)配置就能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。

當(dāng)然,為了實(shí)現(xiàn)這個(gè)目標(biāo),Hibernate也設(shè)計(jì)地非常復(fù)雜、非常精巧。就不可避免的帶來(lái)以下副作用:

學(xué)習(xí)成本高

配置復(fù)雜

調(diào)優(yōu)困難

前兩點(diǎn)不難理解,單說(shuō)“調(diào)優(yōu)困難”。

因?yàn)镠ibernate的設(shè)計(jì)目標(biāo)是徹底的OR映射,徹底的隔離SQL語(yǔ)句。但必然會(huì)帶來(lái)一定的性能損失。大部分情況下,應(yīng)用如果對(duì)性能不敏感,Hibernate也沒(méi)問(wèn)題。但應(yīng)用一旦對(duì)性能敏感,有SQL級(jí)別調(diào)優(yōu)的需求,Hibernate的優(yōu)點(diǎn)反而成為缺點(diǎn)。

雖然Hibernate也支持SQL級(jí)別的調(diào)優(yōu),但因?yàn)榭蚣茉O(shè)計(jì)的過(guò)于復(fù)雜和精巧,這就需要開(kāi)發(fā)人員對(duì)Hibernate理解的非常透徹,這就帶來(lái)了更高的學(xué)習(xí)成本。

而現(xiàn)在最流行的MyBatis,作為一個(gè)“混合式”,輕量級(jí)OR映射框架,既繼承了Hibernate的優(yōu)點(diǎn),同時(shí)也吸取了他的教訓(xùn)。在支持配置的同時(shí),又能接觸SQL,從而帶來(lái)了更多靈活性(包括調(diào)試、優(yōu)化)。

當(dāng)前,在實(shí)際開(kāi)發(fā)中,Hibernate使用得越來(lái)越少了。大家更偏愛(ài)MyBatis這種輕量級(jí)框架。所以,對(duì)后來(lái)學(xué)習(xí)者,我的建議是:

“不需要再學(xué)習(xí)Hibernate了,學(xué)MyBatis就夠了。”

Servlet(要精通)

當(dāng)然,現(xiàn)在不會(huì)有任何公司,再用純粹的Servlet來(lái)實(shí)現(xiàn)整個(gè)Web應(yīng)用,而是轉(zhuǎn)向一些更高級(jí)的技術(shù)(例如各種 MVC 框架)。因此,會(huì)給人一種錯(cuò)覺(jué):Servlet已經(jīng)過(guò)時(shí),后來(lái)者就不需要再學(xué)習(xí)了。

在這里,我可以非常負(fù)責(zé)任地說(shuō):這種觀點(diǎn)是極端錯(cuò)誤,極端不負(fù)責(zé)任的。

Servlet不僅要學(xué),而且要學(xué)深,學(xué)透。

當(dāng)前,Servlet雖然不再是一個(gè)主流web開(kāi)發(fā)技術(shù),但依然是Java Web開(kāi)發(fā)技術(shù)的基礎(chǔ),是Java Web容器的基石,是行業(yè)標(biāo)準(zhǔn)。而現(xiàn)在流行的各種MVC框架(包括SpringMVC),在最底層,還是以 Servlet為基礎(chǔ)的。

為此,我畫(huà)了一個(gè)簡(jiǎn)單的圖(不準(zhǔn)確,會(huì)意即可):

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

圖片

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

而且,Servlet作為一個(gè)基礎(chǔ)設(shè)施。精通它,不僅有助于理解各種MVC框架。即使Servlet本身,也有很多實(shí)用價(jià)值。

如果你深刻理解了Servlet的生命周期,就可以在底層做很多事情。譬如在Request進(jìn)來(lái)的時(shí)候,進(jìn)行攔截,進(jìn)行權(quán)限的判定。也可以在Response發(fā)出的時(shí)候,進(jìn)行攔截,統(tǒng)一檢查、統(tǒng)一附加。

所以,如果你正在學(xué)習(xí)Java,對(duì)Servlet,我的建議是:

“Servlet不僅要學(xué),而且要學(xué)深,學(xué)透?!?/p>

其他

目前在國(guó)內(nèi),Java更多是作為web后端技術(shù)出現(xiàn)的。因此在實(shí)際學(xué)習(xí)中,很多技術(shù)就不符合“國(guó)情”,學(xué)習(xí)的現(xiàn)實(shí)意義不大。下面我就簡(jiǎn)單列舉下。

1)Applet

作為頁(yè)面插件技術(shù),不用多說(shuō),連flash都快被淘汰了,更無(wú)論從未流行的applet。

2)Swing

作為桌面UI框架。且不說(shuō)本身設(shè)計(jì)得咋樣?,F(xiàn)實(shí)開(kāi)發(fā)中,我接觸的桌面應(yīng)用,要么用C++(例如MFC),要么用C#(Winform、WPF)。所以,Swing就沒(méi)有學(xué)習(xí)的必要了。

3)JDBC

作為較低層的數(shù)據(jù)庫(kù)基礎(chǔ)設(shè)施,JDBC被很多框架(例如MyBatis)支持。但在實(shí)際開(kāi)發(fā)中,程序員即使不了解也無(wú)大礙。因此,雖然我不能建議你放棄JDBC學(xué)習(xí),但如果你時(shí)間有限,完全可以把它的優(yōu)先級(jí)排低一點(diǎn)。

4)XML

XML現(xiàn)在還在廣泛應(yīng)用。但作為一個(gè)web數(shù)據(jù)傳輸格式,正在逐漸被JSON替代。所以,對(duì)Java后端學(xué)習(xí)來(lái)說(shuō),XML簡(jiǎn)單了解即可。至于龐雜的XML操作API(例如XPath),完全不必學(xué)習(xí)。將來(lái)真要用到,再查也不遲。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3001

    瀏覽量

    116419
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3751

    瀏覽量

    52099
  • MVC
    MVC
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    14433

原文標(biāo)題:一些已經(jīng)淘汰的 Java 技術(shù),別再學(xué)了!

文章出處:【微信號(hào):小林coding,微信公眾號(hào):小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式單片機(jī)開(kāi)發(fā)學(xué)習(xí)路徑

    路徑,讓你的學(xué)習(xí)過(guò)程更加輕松有趣。 1. 入門(mén)基礎(chǔ) 1.1 了解嵌入式系統(tǒng) 在開(kāi)始學(xué)習(xí)之前,首先需要了解什么是嵌入式系統(tǒng)以及它的基本構(gòu)成和應(yīng)用場(chǎng)景。可以閱讀一些基礎(chǔ)書(shū)籍和網(wǎng)上資源。 1.2
    發(fā)表于 02-09 15:42

    小白也能聽(tīng)懂的單片機(jī)知識(shí)路徑

    。 為什么從51單片機(jī)開(kāi)始? 51單片機(jī)以其結(jié)構(gòu)簡(jiǎn)單、學(xué)習(xí)資源豐富、易于上手的特點(diǎn),成為單片機(jī)學(xué)習(xí)的理想起點(diǎn)。通過(guò)學(xué)習(xí)51單片機(jī),你可以快速理解單片機(jī)的基本工作原理、編程方法以及基
    發(fā)表于 02-04 16:44

    學(xué)習(xí)單片機(jī)快速方法

    使用開(kāi)發(fā)軟件,比如KEIL。建議大家用C言語(yǔ)編程,匯編語(yǔ)言有時(shí)間可以學(xué)習(xí)一下。 畢竟C語(yǔ)言一目了然,移植性較好。雖然匯編效率高,但是難懂。況且現(xiàn)在單片機(jī)集成度越來(lái)越高,不必要那么高效率的代碼。你想想,花
    發(fā)表于 01-14 07:42

    無(wú)刷電機(jī)驅(qū)動(dòng)器的基礎(chǔ)知識(shí)

    本文將從技術(shù)角度出發(fā),對(duì)三相無(wú)刷電機(jī)的電機(jī)驅(qū)動(dòng)器的作用、種類和規(guī)格進(jìn)行介紹。通過(guò)本文,您可以學(xué)習(xí)到電機(jī)驅(qū)動(dòng)器選型所需的基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 12-10 14:13 ?6677次閱讀
    無(wú)刷電機(jī)驅(qū)動(dòng)器的基礎(chǔ)<b class='flag-5'>知識(shí)</b>

    嵌入式應(yīng)掌握的幾種能力

    RT-Thread等。學(xué)習(xí)操作系統(tǒng)內(nèi)核知識(shí):線程調(diào)度、時(shí)鐘管理、線程間同步、線程間通信、內(nèi)存管理、設(shè)備管理等,并掌握基本的使用。 再熟悉Linux操作系統(tǒng)的基本使用。 再學(xué)習(xí)Linux下的應(yīng)用開(kāi)發(fā)
    發(fā)表于 12-08 06:05

    CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)

    全面的測(cè)試,確保軟件功能的正確性和穩(wěn)定性。 了解嵌入式系統(tǒng)的可靠性要求,能夠進(jìn)行軟件的可靠性測(cè)試和驗(yàn)證。 只有全面掌握這些知識(shí)并具備持續(xù)學(xué)習(xí)的能力,才能成為一名優(yōu)秀的嵌入式軟件開(kāi)發(fā)人員。
    發(fā)表于 11-28 07:48

    Arm Neoverse CPU上大代碼量Java應(yīng)用的性能測(cè)試

    Java 是互聯(lián)網(wǎng)領(lǐng)域廣泛使用的編程語(yǔ)言。Java 應(yīng)用的一些特性使其性能表現(xiàn)與提前編譯的原生應(yīng)用(例如 C 程序)大相徑庭。由于 Java 字節(jié)碼無(wú)法直接在 CPU 上執(zhí)行,因此通常運(yùn)行時(shí)在
    的頭像 發(fā)表于 11-05 11:25 ?752次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應(yīng)用的性能測(cè)試

    Java效率提升指南:5個(gè)Java工具選型建議及Perforce JRebel和XRebel介紹

    企業(yè)級(jí)Java環(huán)境越來(lái)越復(fù)雜,真正的破局點(diǎn),可能不在“人”,而在于“工具”。5個(gè)實(shí)用建議,幫你理清Java工具的選型思路。
    的頭像 發(fā)表于 09-11 13:59 ?1475次閱讀
    <b class='flag-5'>Java</b>效率提升指南:5個(gè)<b class='flag-5'>Java</b>工具選型建議及Perforce JRebel和XRebel介紹

    ARM入門(mén)學(xué)習(xí)方法分享

    )架構(gòu)。學(xué)習(xí)ARM的開(kāi)始可以學(xué)習(xí)RISC和CISC架構(gòu)的基礎(chǔ)知識(shí)開(kāi)始。 二、學(xué)習(xí)匯編語(yǔ)言:ARM架構(gòu)的核心是匯編語(yǔ)言。
    發(fā)表于 07-23 10:21

    EtherCAT運(yùn)動(dòng)控制卡應(yīng)用開(kāi)發(fā)教程之Java

    運(yùn)動(dòng)控制卡的Java開(kāi)發(fā)及DLL調(diào)用
    的頭像 發(fā)表于 06-13 14:29 ?887次閱讀
    EtherCAT運(yùn)動(dòng)控制卡應(yīng)用開(kāi)發(fā)教程之<b class='flag-5'>Java</b>

    電路基礎(chǔ)學(xué)習(xí)資料

    不可多得的電路基礎(chǔ)知識(shí)學(xué)習(xí)資料,作者郝銘先生具有深厚的電路功底,且講解的非常通俗易懂,非常適合初學(xué)者。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、
    發(fā)表于 05-17 15:01

    使用MATLAB進(jìn)行無(wú)監(jiān)督學(xué)習(xí)

    無(wú)監(jiān)督學(xué)習(xí)是一種根據(jù)未標(biāo)注數(shù)據(jù)進(jìn)行推斷的機(jī)器學(xué)習(xí)方法。無(wú)監(jiān)督學(xué)習(xí)旨在識(shí)別數(shù)據(jù)中隱藏的模式和關(guān)系,無(wú)需任何監(jiān)督或關(guān)于結(jié)果的先驗(yàn)知識(shí)。
    的頭像 發(fā)表于 05-16 14:48 ?1433次閱讀
    使用MATLAB進(jìn)行無(wú)監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>

    Java開(kāi)發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開(kāi)發(fā)者在用?

    Perforce JRebel是一款Java開(kāi)發(fā)效率工具,旨在幫助java開(kāi)發(fā)人員更快地編寫(xiě)更好的應(yīng)用程序。JRebel可即時(shí)重新加載對(duì)代碼的修改,無(wú)需重啟或重新部署應(yīng)用程序,就能讓開(kāi)發(fā)者即時(shí)看到代碼更改的效果,從而縮短開(kāi)發(fā)、調(diào)試和測(cè)試周期,大大提升開(kāi)發(fā)效率。
    的頭像 發(fā)表于 04-27 13:44 ?844次閱讀
    <b class='flag-5'>Java</b>開(kāi)發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b>開(kāi)發(fā)者在用?

    射頻基礎(chǔ)知識(shí)培訓(xùn)(華為)—PPT版

    資料介紹 射頻子系統(tǒng)位于整個(gè)基站的最前端,是整個(gè)NodeB系統(tǒng)正常運(yùn)行的關(guān)鍵環(huán)節(jié)之一。本膠片主要講述射頻基本概念和知識(shí),以便大家更加深入理解NodeB系統(tǒng)。 學(xué)習(xí)完本課程,您將能夠:熟悉和掌握射頻
    發(fā)表于 03-22 16:30

    掌握這六點(diǎn),原來(lái)學(xué)習(xí)數(shù)電和模電這么簡(jiǎn)單!

    對(duì)于數(shù)電模電這兩門(mén)功課,在大學(xué)課堂中有的學(xué)校先數(shù)后模有的先模后數(shù),當(dāng)然也有的同時(shí)開(kāi)設(shè)。其實(shí)愛(ài)好電子技術(shù)的小伙伴們,我給大家的建議是先學(xué)習(xí)模電再學(xué)習(xí)數(shù)電。這是有其中的緣由的,數(shù)電重點(diǎn)是對(duì)一些元器件
    的頭像 發(fā)表于 03-19 19:33 ?4792次閱讀
    掌握這六點(diǎn),原來(lái)<b class='flag-5'>學(xué)習(xí)</b>數(shù)電和模電這么簡(jiǎn)單!