盤點6 個被淘汰的 Java 技術,它們都曾經風光過!

2020-11-24 51CTO

大家好啊,今天棧長給大家分享下我的開發歷程中,我知道的那些被淘汰的技術或者框架,有些我甚至都沒有用過,但我知道它曾經風光過。

廢話不多說,下面我要開始吹了……

1、Swing

下面這個是用 swing 開發的:

圖來源網絡,有沒有似曾相識的感覺?懂的自然懂!

棧長去年中秋也用過 swing:

這個中秋,我用 Java 畫了一個月餅!

Swing 算是 Java 早期代替 AWT 的桌面應用 GUI 開發工具包,一個聽到就已經淘汰的技術,給我的感覺就是醜醜醜!現在與 AWT 一起在時間這個長河裡長眠。

如果 Java GUI 庫發展歷程分為三代,可以是:

AWT > SWING > JAVAFX

隨著 JavaFx 的發布,加速 SWING 的被淘汰。下面這個是用 JavaFx 開發的:

圖來源:zhihu.com/question/54498643/answer/271632290

現在 JavaFx 也有十來年了,雖然這篇帖子也在說 JavaFx 淘汰了的,只是現在桌面應用不是主流吧,我也沒用過不敢亂說,JavaFx 在桌面應用開發應該還是有一席之地的。

2、JSF

JSF:Java Server Faces

JSF是一種用於構建 Java Web 應用程式的表現層框架,和 Struts 一樣性質的框架。

圖來源:https://javabeat.net/jsf-2/

國內用 JSF 的比較少,有也是老系統了,國外應該還有用 JSF 的,不過隨著 Spring MVC, Spring Boot 的橫空出世,JSF 應該也是過時的技術了。

3、EJB

EJB也是個神器,只見其影,未見其身。前些年,在網上各個面試題還有它的身影,現在估計很難見到了。

EJB:Enterprise Java Beans,即:企業Java Beans

Sun公司發布的文檔中對 EJB 的定義是:EJB 是用於開發和部署多層結構的、分布式的、面向對象的 Java 應用系統的跨平臺的構件體系結構。

簡單來說,EJB就是部署分布式系統用的,就是把A程序放在伺服器上,通過B客戶端來調用,並且是跨平臺的。

圖來源:oreilly.com

因為 EJB 過於複雜和笨重,調試非常麻煩,現在都被輕量級的 RPC 框架(Dubbo)及輕量級 Restful 形式的分布式框架 (Spring Cloud) 替代了。

4、JSP

JSP 全稱:Java Server Pages,是由早期的 Sun 公司發布的一種動態網頁開發技術,即在 HTML 網頁代碼中嵌入 JSP 標籤的 Java 代碼實現動態網頁。

JSP 代碼示例:

  1. <html> 
  2.     <head> 
  3.         <title>Java技術棧</title> 
  4.     </head> 
  5.     <body> 
  6.         <% 
  7.             out.println("Hello, Java技術棧!"); 
  8.         %> 
  9.     </body> 
  10. </html> 

這個示例只是簡單的調用 JSP 的內置 out 對象在頁面輸出展示一句話。

JSP 的本質其實就是 Servlet,JSP 文件被編譯之後,就變成了 Servlet Java 類文件,因為 JVM 虛擬機只能識別 Java 字節碼文件,而不能識別 JSP 文件。

在 JSP 的時代,那時候還沒有前後端分離的說法,JSP 可以包攬全部,即實現靜態頁面,又實現動態代碼邏輯,全部都在一個 JSP 文件裡面。這樣,一個程式設計師既是前端,又是後端。

但是,現如今在前後端分離的熱潮下,前後端分工明確,後端只負責業務邏輯的接口開發,前端負責調用後端接口再做頁面數據封裝展示,JSP 幾乎是被淘汰了。

雖然 JSP 是被前後端分離取代了,但並不說明 JSP 沒有用了,不是所有系統都是前後端分離的,比如說一個只有兩三個頁面的動態系統,JSP、Servlet足以搞定,你總不能上頁面模板引擎、各種框架,或者再上前後端分離吧?

5、Struts

Struts2 那些年可謂是風光無限啊,Struts2 + Spring + Hibernate 三大框架一起組成了 「SSH「————牛逼哄哄的 Java Web 框架三劍客。

Struts 這篇就不多說了,具體看這篇:Struts2 為什麼被淘汰?

6、Memcached

Redis 這幾年的大熱,現在已經替代 Memcached 成為緩存技術的首要中間件,作為大廠的帶頭兵,在 BAT 裡面,Redis 也已經逐漸取代了 Memcached,廣泛使用 Redis 作為緩存應用方案。

為什麼 Redis 能後來居上呢?

1)速度更快

Memcached 使用的是多線程模型,既然是多線程,就會因為全局加鎖而帶來性能損耗。而 Redis 使用的是單線程模型,沒有鎖競爭,速度非常快。

相關閱讀:Redis 到底是單線程還是多線程?

2)數據類型更豐富

Memcached 數據類型非常單一,只支持 String 數據類型,在業務實現上就非常有瓶頸。

而 Redis 支持 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(sorted set:有序集合) 等……豐富的數據類型可以讓 Redis 在業務上大展拳腳。

這也是 Redis 能代替 Memcached 最重要的原因之一。

相關閱讀:Redis 的 8 大應用場景!

並且,Memcached 值最大上限為:1M,而 Redis 最大可以到:1GB。

3)數據持久化

Memcached 不支持持久化,Redis 支持。

緩存伺服器斷電後,Memcached 的數據是不能恢復的,而 Redis 可以將數據保久化在磁碟中,伺服器重啟的後可以加載再次使用,不會造成數據斷電丟失。

比如,有些數據是直接放在緩存資料庫中的,其他地方可能沒有備份,如果丟失了,那可能會造成業務影響,這也是 Redis 非常有用的一個保障特性。

總結

好了,今天棧長列舉了 6 個經典的即將被淘汰的技術或框架,雖然這些技術現在面臨淘汰,但它們曾經也風光過,值得敬畏。

另外,雖然這些技術要被淘汰了,但不說明它們沒有用了,它們依然在被運用,只是現在不是主流了。

【編輯推薦】

【責任編輯:

華軒

TEL:(010)68476606】

點讚 0

相關焦點

  • 盤點那些被時代重挫的企業,有的被淘汰,有的在掙扎
    網際網路時代,我們的生活發生了很大的變化,現在的生活更加方便、快捷,以阿里巴巴、騰訊等公司為首的網際網路軍團攜雷霆萬鈞之勢讓網際網路達到了更高效的應用,在這種衝擊之下,很多曾經風光一時的企業遭受滅頂之災,時代的輪轉,殘忍而無情,對大部人來講,它們空餘情懷和記憶,卻無法敵得過時代的巨輪。
  • 那些年風光過,又被推翻的諾貝爾獎盤點
    史丹福大學的教授John Ioannidis在他的研究Why Most Published Research Findings Are False(發表在PLoS Medicine)中表示,其實科學報導中大部分的發現都是錯誤的。Ioannidis表示,無論是因為研究者犯錯,數據的不足,還是方法的落後,長期存在的誤解等等,總之最後證明大量的科學主張都是錯誤的。
  • 盤點6個自稱與外星人性交過的奇葩人士(組圖)
    原標題:盤點6個自稱與外星人性交過的奇葩人士(組圖)   爵士歌手帕梅拉?斯託內布魯克(Pamela Stonebrooke)聲稱自己連續三年與一位6英尺(約1.83米)的爬行族外星人發生過性關係。
  • 盤點賽爾號曾經最強的4神寵,有的已經被官方遺忘,你知道幾個?
    精靈的淘汰速度也越來越快了,在曾經的老版本的賽爾號,不乏曾經的版本之王,今天小白就給大家盤點賽爾號曾經站在版本巔峰的精靈,小夥伴知道有哪些精靈麼?看完小白的盤點就知道了。一. 勇氣號在賽爾號裡勇氣號作為以前的小R精靈,只要你肯花錢獲取方式也是比較親民的。
  • 這些電影都在陽朔取過景,你都去過幾個?
    「桂林山水甲天下,陽朔山水甲桂林」陽朔山水之美令人神往盤點那些曾經在陽朔取過景的電影《劉三姐》電影《劉三姐》拍攝於1960年春夏,是中國第一部風光音樂故事片。電影《劉三姐》劇照大榕樹下,那段愛情故事,當年的劉三姐和阿牛哥在陽朔大榕樹下拋繡球,相信很多人都看過這部電影。
  • 陳樂基:這位歌手曾經被汪峰給淘汰過,如今他和汪峰平起平坐!
    這位歌手曾經被汪峰給淘汰過,如今他和汪峰平起平坐!說到《中國好聲音》這檔節目,很多人都不陌生,它是浙江衛視的王牌節目,如今已經播出了好多季了。在每一屆的《中國好聲音》中,總是會湧現出許多非常有實力的素人歌手。
  • (提高Java代碼質量)|25個優化Java代碼的小技巧
    本號主要用於分享企業中常用的技術,更加側重於實用,歡迎關注,便於瀏覽其它更多實用的歷史文章。1.需要 Map 的主鍵和取值時,應該迭代 entrySet()當循環中只需要 Map 的主鍵時,迭代 keySet() 是正確的。
  • 盤點賽爾號曾經版本中最強的4神寵,有的現在已經被官方遺忘了!
    盤點賽爾號曾經版本中最強的4神寵,有的現在已經被官方遺忘了!哈嘍,賽爾號的小夥伴們大家好呀!賽爾號現在精靈更新速度越來越快了,隨著賽爾號PVP巔峰機制日漸成熟。精靈的淘汰速度也成幾何上漲趨勢。賽爾號的老版本中,不乏曾經的版本之王,今天小編盤點的賽爾號神寵有的曾經站到過版本的巔峰,他們都有哪些精靈呢?看完小編的這次的盤點各位就知道了!賽爾號版本中曾經最強的4隻精靈:勇氣號勇氣號精靈作為以前的小R精靈,只要你肯氪金獲取難度方面應該還是比較親民的。
  • Java進行內存洩露 GC 分析都有哪些常用好用的工具
    使用Java語言開發應用程式,雖然JVM幫我們進行了GC收集、清除工作;但是使用不當的話,還是會導致某些對象常駐堆空間無法給垃圾收集器清除,導致內存洩露、內存溢出等情況,今天盤點一下在項目中進行內存洩露分析和GC分析的一些常用、好用的工具。
  • java基礎教程:Collection集合,Collection 常用API
    集合概述在前面基礎班我們已經學習過並使用過集合ArrayList<E> ,那麼集合到底是什麼呢?集合:集合是java中提供的一種容器,可以用來存儲多個數據。集合和數組既然都是容器,它們有什麼區別呢?數組的長度是固定的。集合的長度是可變的。
  • 世界犀牛日,盤點那些曾經出現過的怪異犀牛
    板齒犀生活在距今約260萬——3萬年前更新世的歐亞草原上,是奇蹄目犀總科真犀科板齒犀屬的物種,共有西伯利亞板齒犀、高加索板齒犀、以及中華板齒犀等5個種群。平均身高2.5到3米之間,體長接近5米,體重5到7噸不等,大小跟非洲象相當,在整個犀牛家族中體型僅次於曾經出現過的最大陸生哺乳動物準格爾巨犀。
  • Java反射機制深入詳解
    1 Person p1 = new Person(); 2 //下面的這三種方式都可以得到字節碼 3 CLass c1 = Date.class(); 4 p1.getClass(); 5 //若存在則加載,否則新建,往往使用第三種,類的名字在寫源程序時不需要知道,到運行時再傳遞過來 6 Class.forName("java.lang.String");CLass.forName
  • 被智慧型手機「淘汰」的5個電子產品,你用過幾個?網友:都是回憶
    被智慧型手機「淘汰」的5個電子產品,你用過幾個?網友:都是回憶隨著科技的發展,我們的生活有了很大的改變,值得一說的就是手機了,以前的手機我們只是用來打電話和發簡訊這種簡單的和朋友聯繫,但是現在的手機不僅滿足正常的通話需求,還可以用來上網,看電視,打遊戲等等,手機的功能越來越多,代替了以前很多東西的存在,今天我們就來說一說,有了手機有哪些電子產品已經被淘汰掉了,下面小編給大家分享一下,被智慧型手機「淘汰」的5個電子產品,你用過幾個?
  • 萌新時期做過的傻事盤點第二彈|太白|天香|唐門
    每個人都有是萌新的時候,你是否還記得當初自己那副青澀的模樣?剛入江湖時的你有做過哪些即使是現在回想起來都會忍不住想笑的事情?今天我們就來繼續為大家盤點一下那些我們曾經在萌新時期做過的傻事。相關推薦:你解鎖了嗎?群星庭院功能物品分布一覽    【天涯明月刀攻略】1.蕩劍幣換金譜,換修為等等。
  • Java基礎教程:java反射機制教程
    這時候java語言在設計的時候為我們提供了一個機制,就是反射機制,他能夠很方便的去解決我們的問題。 二、深入分析java反射機制 1、獲取Class類 在java中萬事萬物皆對象,Useruser=newUser()一行代碼我們知道了user是User類的實例對象,通過Studentstu=newStudent()我們知道了
  • 盤點地球史上出現過的5大恐怖海洋生物,它們都是各個時期的霸主
    這次我們將為您盤點地球歷史上最龐大,最恐怖的五大海洋生物。他們曾經站在食物鏈的頂端,主宰著自己的時代。第五名恐鱷恐鱷生活在白堊紀距今約七千五百萬年前,體長約在十米左右,體重可達八噸,恐怕是史上出現過的最大型的鱷類之一。
  • Android被指抄襲Java代碼引爭議
    (轉自谷奧)首先是第一組的7個抄襲的java文件(PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java 和 PrincipalImpl.java)都屬於原始碼裡的測試分支。任何程式設計師都不會將測試代碼放到最終發布的產品裡。
  • 早已消失的4個江西名牌,電視、冰箱、自行車,你還記得哪些?
    今天我們就來盤點下,如今消失的4個江西名牌,看看你還記得哪些? 贛新牌電視機 上世紀八九十年代,很多江西人買的第一臺彩電,就是在吉安生產的贛新電視。因為質優價廉,那時的贛新彩電在江西本地非常受歡迎,炒到最熱的時候,到贛新買電視都要找人。
  • Java常見內存溢出異常分析
    因此我們可以創建一個無限遞歸的遞歸調用, 當遞歸深度過大時, 就會耗盡棧空間, 進而導致了 StackOverflowError 異常。   一些第三方框架,比如spring,hibernate都通過字節碼生成技術(比如CGLib)來實現一些增強的功能,這種情況可能需要更大的方法區來存儲動態生成的Class文件。
  • Java學習必不可少的十大網站
    這是我為學習java的同學們準備的網站集合。這些網站提供新聞,常見問題或訪談問題的答案,精彩的講座等。質量是好的網站的關鍵因素。我認為它們都具有最高的質量。在下文中,我還將分享如何使用這些網站進行學習或娛樂。1.