java三大框架,java三大框架要學多久

本文目錄一覽:

java有哪些框架需要學習呢?

Java有三大框架:Struts,Hibernate和Spring。struts是開源軟件,通過學習struts的流程,架構,model部分,view部分和contorller組件來了解框架;Hibernate是開源代碼的對象關係映射框架,通過學習session接口等來了解框架。

1.三大框架簡介1、Spring Spring 是一個解決了許多在J2EE 開發中常見的問題的強大框架. Spring 提供了管理業務對 象的一致方法並且鼓勵了注入對接口編程而不是對類編程的良好習慣.Spring 的架構基礎是 基於使用JavaBean 屬性的Inversion Control容器.然而,這僅僅是完整圖景中的一部 分:Spri

跟着這個網站學吧:網站內容豐富,既有Java SE的基礎:中級:前端:J2EE:Java框架:還有實踐項目:我自己就是跟着上面的順序一路學過來…

2.Java 語言編寫的 AOP 框架,它給 POJOs 提供了聲明式的事務管理和其他企業事務–如… 開始的學習和應用非常的艱苦,很多東西都不 能一下子就很容易的理解.EJB 要嚴格地…

這是兩種以跨平台為特色的開發方式.Qt更多被認為是一種框架,但是Qt中有新增一些C… 博文 在博主認為,學習java的最佳學習方法莫過於視頻+博客+書籍+總結,前三者博主將…查看全部

2016年8月22日-根據每個人的學習方式、方法不同,可以制定具體的計劃。今天為大家整理了搭建Java知識框架的幾個方法… java框架SSM一. 序言本次培訓分四個階段進行,…

3.2008年1月3日-和如何學習JAVA框架的一點看法吧,希望對「望而生畏」的您,和「蠢蠢欲動… 自己需要的時候去copy過來就行,個人也認為這是很好的一種方式,往往自己從… 這就是第二個問題。 第二個問題,我想分兩方面來回答一下。1、學什麼?想要學好,當…

2016年8月3日- 用配置文件或者是Annonation的方式來代替New創建實例,可以說這是一個… Java框架學習 順序是哪些? Java框架學習 順序是哪些?詳細步驟具體如下:…

[ 圖文 ] 2013年12月9日- 三大框架簡介JAVA三大框架用來做WEB應用。struts主要負責表示層的顯示spring利用Java框架學習方法更多下載資源、學習資料請訪問CSDN文庫頻道….

Java 語言編寫的 AOP框架, 它給 POJOs 提供了聲明式的事務管理和其他企業事務–如… 在 EJB 開始的學習和應用非常的艱苦, 很多東西都不能一下子就很容易的理解.

希望能幫到你,謝謝!

java框架學習方式有哪些?

1、打好基礎是重中之重

基礎部分可能很枯燥,但是一定要耐心堅持下去。因為打基礎好比是在造輪子造汽車,沒有打好基礎在後面的學習就好比走路,可以說後面遇到的百分之七八十的問題都是基礎沒學好造成的。

2、多看官方文檔多讀源碼

一定要看JDK相關類庫、常用框架各種功能的源碼,去了解其底層實現的原理。總的來說這個也是在打基礎的部分,Java基礎非常紮實才能看懂,在我們學習一個類的源碼時,肯定會衍生出其他各種各樣的問題,供我們來了解和學習,這也就是我們下一步學習的目標和方向。慢慢的,我們就會學習更多的知識,並積累更多的經驗。

3、系統性學習,循序漸進

不要急於求成,每個知識點都要看,並且每個知識點都要勤加練習。有的同學在學習過程中覺得這個知識點簡單,就跳着學習,其實這是個很大的問題,知識點細節必須要了解。我們學習Java需要循序漸進,一步一步來,不能操之過急。

4、遇到問題

遇到不會做的問題,當然不能置之不理。先在網上查,目前網絡上針對很多問題都有完美的解決方案,如果網上沒有類似的問題,那可能是你犯了什麼小錯誤。也不要在這個問題上花費太多時間,這需要一定的學習技巧。Java中的知識有很強的相關性,有不懂的地方,可以用其他周邊相關知識再回過頭來理解,這樣既不會耽誤學習進度,又能理解自己不懂的地方

1)jvm有很多種,其實jvm是一個標準,sun做的那個叫hotspot,作者就是後來v8的作者lars bak,其他公司也做過jvm,其中做得比較好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在內,都做得不行,所以jvm主要是整合淘汰掉這些做得不好的jvm(s),整合成一個統一的openjdk。

2)java是典型的oop語言,其執行效率的優化,最早就是lars bak等人從smalltalk等長期優化的經驗中總結出來並apply到hotspot上去滴,而smalltalk在早期apple機上搞出了那種拖拖拽拽就開發出app的做法,後來vc,delphi之類的其實都是抄襲或者說借鑒apple的smalltalk的做法,jobs說微軟從頭到尾都在抄襲apple是空穴來風,這裡空穴來風跟王垠使用的空穴來風是一個意思,有趣的是,java的gui並沒有繼承這種搞法,反而對這種拖拖拽拽就作出app的做法批判有加,到今天,其實java的gui都還不能真正做到拖拖拽拽就作出來,問題很多,個人建議對於純java的gui開發,還是以寫代碼為主。

3)jee也是一個或者說是一堆標準,知乎上有些人把maven,jenkins都算做jee是不對滴,jee的標準核心是ejb,其實就是一個xml配置化的java文件,這個標準在4的時候,達到了頂峰狀態,幾乎所有的挨踢大廠都主動支持該標準,之後開始走下坡路,支持的廠越來越少。

4)java和javascript的關係比很多人認為的要密切,javascript裏面的java這四個字母可不是白叫的,比如js的版權和商標都控制在oracle手裡,oracle對於js的支持甚至超過其對java的支持,並且喜歡捆綁銷售,比如jvm裏面就有一個js引擎。

5)jvm裏面除了js engine以外還有一個瀏覽器排版引擎webkit,就是apple safari和google chrome用的那個那個。

6)java支持絕大多數腳本語言,你能叫得上名字的腳本語言,幾乎都可以在jvm上執行,比如常見的js,ruby,python,甚至php,lua,只不過除了js以外你需要找到相關的腳本引擎。

7)spring的版權被控制在vmware手裡,其實spring的那一大堆東西,本質上是一個非標準的jee實現,比如在jee裏面用的inject,在spring裏面就是autowire,當然spring曾經深刻滴影響了jee,所以有些東西比如di標準,是spring影響下制定出來的,所以spring的做法會比較特例一點。

8)maven上的jars數量前兩天突破800萬,其他語言的類庫,排名第二的是npm,大概數量是maven的十分之一,也就是幾十萬,不知道現在突破100萬沒有,然後是gem,也就是ruby那個,大概是十幾萬,下來是python的module,大概數量級是幾萬,沒突破十萬。

9)java的標準是由一個叫做jcp的組織制定的,所有標準需要經過jcp的執行委員會通過方可執行,jcp幾乎包括了你所知道的絕大多數知名挨踢公司和組織,比如google,apple,ibm,intel,arm,red hat,twitter等,還有一些教育機構,比如我國的北京大學,阿里最近一次申請jcp執行委員會成員資格,似乎投票不通過,最近一次執行委員會新增兩個成員是arm和jetbrains。

10)微軟也曾經是jcp甚至是java的主要貢獻者,但是利益驅使下,想擴展java,從而破壞java跨平台的特性,所以跟sun鬧翻,其本質原因就是想讓客戶寫的java代碼跟windows綁定,sun堅決不同意,鬧翻,今天回頭看這個結果,只能說:雙輸,sun掛了,微軟的ria也離掛不太遠了,silverlight已經放棄了,比起當年ie自帶有jvm的支持來說,那完全就是兩回事。

11)除了微軟以外,jcp還缺少一個重要組織apache,因為apache跟oracle也鬧翻了,oracle似乎並不在乎開源組織,而更在意商業公司的支持。

12)java曾經有一個內置的數據庫,9之後被剝離。

13)j2me是j2se的子集。

14)vert.x作者tim fox最早在vmware做spring時候看到了node.js,萌生出了製作支持多核的node.x的想法,並在離開vmware後加入red hat將其實現,vmware看到後開始耍無賴,claim node.x後來改叫vert.x的版權,不惜跟red hat打官司,後來各方妥協,將其交給eclipse foundation。

15)oracle在收購bea之前,一開始的目標並不是bea和bea的weblogic,而是jboss,但是jboss表現出了極為有種的一面,在oracle收購成功之前,投入了red hat的懷抱,因為都是開源組織,從此jboss成了red hat的一個子部門,oracle收購jboss失敗之後,轉向bea,庄思浩氣死了,但是沒用,最後還是被惡意收購。

16)sun在玩不下去之前最早嘗試接觸的目標是ibm,ibm嫌太貴,放棄之後,被轉手給了oracle。(Java學習交流QQ群:589809992 我們一起學Java!)

17)vert.x的作者tim fox在離開red hat之前曾經發過twitter抱怨,外人比如我們,猜測是因為red hat內部已經有了一個jboss,所以跟vert.x在應用上有了重疊,所以導致tim fox的出走,但是出走之後,red hat答應對vert.x做持續性的戰略投入,所以vert.x core的幾個developers,其實拿的是red hat的工資,但是vert.x的版權並不在red hat手裡,而在eclipse foundation手裡。

18)vert.x的幾個核心開發人員都是google summer of code的導師,每年年初時候會招收在校大學生搞項目。

19)教育機構相關:scala的作者馬丁是德國人,eth的博導,groovy的主要領導人是法國人,jruby背後是東京大學,jboss的作者是法國大學校x的校友,x就是伽羅瓦考不進去的那所大學,伽羅瓦進不了x,所以改讀巴黎高師,tim fox畢業於帝國理工,主席去的那個,netty作者trustin lee是acm銀牌,現在line工作,畢業於sky裏面的延世大學,kotlin是毛子公司jetbrains的作品,看linkedin,很多人畢業自聖彼得堡大學,spring作者rod johnson是悉尼大學的音樂博士,hibernate作者gavin king是澳洲莫那什大學的數學本科畢業生,james gosling這種cmu和calgory的估計爛大街了,sun是斯坦福大學網絡的意思,夾帶兩個私貨,aspectj有一個維護小組在mcgill,hbase跟waterloo關係密切。

20)java早期被人認為慢,跟java堅持不用硬件加速渲染有關,死活就是不肯接入directx和opengl,7之後總算開竅,搞了一個圖形引擎接入了directx/opengl。

21)casssandra是facebook做失敗的項目,被貢獻給了apache之後老樹開花。

22)groovy被貢獻給了apache,現在叫做apache groovy,ceylon被貢獻給了eclipse,現在叫做eclipse ceylon。

23)netflix現在是java shop,之前是用.net的。

先想到這麼多,有空再寫。

Java的三大框架是什麼?

java三大框架是:

1、Struts

為了解決這些問題,出現了Struts框架,它是一個完美的MVC實現,它有一個中央控制類(一個Servlet),針對不同的業務,我們需要一個Action類負責頁面跳轉和後台邏輯運算,一個或幾個JSP頁面負責數據的輸入和輸出顯示,還有一個Form類負責傳遞Action和JSP中間的數據。JSP中可以使用Struts框架提供的一組標籤,就像使用HTML標籤一樣簡單,但是可以完成非常複雜的邏輯。從此JSP頁面中不需要出現一行包圍的Java代碼了。

可是所有的運算邏輯都放在Struts的Action里將使得Action類復用度低和邏輯混亂,所以通常人們會把整個Web應用程序分為三層,Struts負責顯示層,它調用業務層完成運算邏輯,業務層再調用持久層完成數據庫的讀寫。

使用JDBC連接來讀寫數據庫,我們最常見的就是打開數據庫連接、使用複雜的SQL語句進行讀寫、關閉連接,獲得的數據又需要轉換或封裝後往外傳,這是一個非常煩瑣的過程。

2、Hibernate

這時出現了Hibernate框架,它需要你創建一系列的持久化類,每個類的屬性都可以簡單的看做和一張數據庫表的屬性一一對應,當然也可以實現關係數據庫的各種表件關聯的對應。當我們需要相關操作是,不用再關注數據庫表。我們不用再去一行行的查詢數據庫,只需要持久化類就可以完成增刪改查的功能。使我們的軟件開發真正面向對象,而不是面向混亂的代碼。我的感受是,使用Hibernate比JDBC方式減少了80%的編程量。

現在我們有三個層了,可是每層之間的調用是怎樣的呢?比如顯示層的Struts需要調用一個業務類,就需要new一個業務類出來,然後使用;業務層需要調用持久層的類,也需要new一個持久層類出來用。通過這種new的方式互相調用就是軟件開發中最糟糕設計的體現。簡單的說,就是調用者依賴被調用者,它們之間形成了強耦合,如果我想在其他地方復用某個類,則這個類依賴的其他類也需要包含。程序就變得很混亂,每個類互相依賴互相調用,復用度極低。如果一個類做了修改,則依賴它的很多類都會受到牽連。 為此,出現Spring框架。

3、Spring

Spring的作用就是完全解耦類之間的依賴關係,一個類如果要依賴什麼,那就是一個接口。至於如何實現這個接口,這都不重要了。只要拿到一個實現了這個接口的類,就可以輕鬆的通過xml配置文件把實現類注射到調用接口的那個類里。所有類之間的這種依賴關係就完全通過配置文件的方式替代了。所以Spring框架最核心的就是所謂的依賴注射和控制反轉。

現在的結構是,Struts負責顯示層,Hibernate負責持久層,Spring負責中間的業務層,這個結構是目前國內最流行的Java Web應用程序架構了。另外,由於Spring使用的依賴注射以及AOP(面向方面編程),所以它的這種內部模式非常優秀,以至於Spring自己也實現了一個使用依賴注射的MVC框架,叫做Spring MVC,同時為了很好的處理事物,Spring集成了Hibernate,使事物管理從Hibernate的持久層提升到了業務層,使用更加方便和強大。

Struts框架是2000年就開始起步了,技術相當成熟,目前全球Java開發中Struts框架是顯示層技術中當之無愧的王者。它擁有大量的用戶群和很好的開發團隊。這也是國內大部分Java軟件公司對新進員工的基本要求。

原創文章,作者:LKHBG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330168.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LKHBG的頭像LKHBG
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Zlios——一個多功能的開發框架

    你是否在開發過程中常常遇到同樣的問題,需要不斷去尋找解決方案?你是否想要一個多功能、易於使用的開發框架來解決這些問題?那麼,Zlios就是你需要的框架。 一、簡介 Zlios是一個…

    編程 2025-04-29
  • agavi開發框架

    Agavi是一個基於MVC模式的Web應用程序開發框架,以REST和面向資源的設計為核心思想。本文章將從Agavi的概念、優點、使用方法和實例等方面進行詳細介紹。 一、概念 Aga…

    編程 2025-04-29
  • Python unittest框架用法介紹

    Python unittest框架是Python自帶的一種測試框架,可以用來編寫並運行測試用例。在本文中,我們將從以下幾個方面詳細介紹Python unittest框架的使用方法和…

    編程 2025-04-29
  • com.alipay.sofa.bolt框架

    com.alipay.sofa.bolt框架是一款高性能、輕量級、可擴展的RPC框架。其廣泛被應用於阿里集團內部服務以及阿里雲上的服務。該框架通過NIO支持高並發,同時還內置了多種…

    編程 2025-04-29
  • 為什麼金融專業要學會計

    金融與會計關係密切,會計作為重要的基礎性學科,在金融專業中具有重要作用。 一、提高金融風險識別能力 在金融領域,風險控制是一項重要任務。會計可以為金融專業提供財務報告分析,從中獲取…

    編程 2025-04-29
  • Python自學多久能入門?

    Python是一門極具優勢的編程語言,無論在人工智能、數據分析、Web開發等領域都有廣泛的應用,所以越來越多的人開始學習Python。但是對於初學者來說,Python自學多久能入門…

    編程 2025-04-28
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28
  • CPA要學數學嗎?

    是的,CPA需要學習數學,尤其是財務和會計方面的數學知識。 一、基礎數學知識 CPA考試中會涉及到基本的數學知識,比如代數、幾何、統計學和微積分等。這些知識可以幫助你理解和計算財務…

    編程 2025-04-28
  • Python學成需要多久?

    Python是一種高級編程語言,曾經被譽為是「世界上最有吸引力的編程語言」。無論是初學者還是有經驗的開發人員,Python都廣受歡迎。那麼,Python學成需要多久呢?本文將從幾個…

    編程 2025-04-28

發表回復

登錄後才能評論