部分java基礎知識區別分析,java基礎知識點csdn

本文目錄一覽:

java 2和java有什麼區別

Java是一種通用的,並發的,強類型的,面向對象的編程語言.

JDK是Sun公司分發的免費Java開發工具包,正式名稱為J2SDK(Java2 Software Develop Kit)。

包括基本的java工具包和標準類庫。

自Java1.2之後Java版本統稱為Java2,Java2中的容器類庫才可以說是一種真正意義上的集合框架的實現。基本完全重新設計,但是又對Java1中的一些容器類庫在新的設計上進行了保留,這主要是為了向下兼容的目的,當用Java2開發程序時,應盡量避免使用它們,Java2的集合框架已經完全可以滿足你的需求。有一點需要提醒的是,在Java1中容器類庫是同步化的,而Java2中的容器類庫都是非同步化,這可能是對執行效率進行考慮的結果。

java 初級、中級、高級工程師有什麼區別?

技術不同,簡單的可以理解為:初級中級的只關注代碼,編程。高級的就要考慮系統的架構,整體框架。

具體區別如下:

一、初級工程師

1、首先要學習java的基礎知識。

不要被新技術迷惑,所謂萬變不離其宗,新技術都是基於java的基礎之上,如果基礎不紮實,對於這些新技術的理解也是一知半解,學不到根源。

2、做一個java項目

在學習完java的基礎知識之後,做一個java項目來鞏固一下,在項目中會發現很多問題,通過解決問題,加深基礎知識的掌握。

3、學習數據庫的基礎知識和開發應用

軟件開發離不了數據庫,掌握幾種流行的數據庫:Oracle、SQL、server、MySQL等。

4、JEE基礎

在這裡首先要學習網站基礎,包括HTML、DHTML、JavaScript;接着要學習XML,XML JAXP;然後學習JEE基礎,包括JEE開發環境,RMI/IIOP、JNDI;最後學習JDBC數據庫的應用開發。

5、web開發

全面的JEE的web開發知識:Servlet JSP javaBean TagLib,到這裡做一個完整的web應用項目開發。

6、EJB開發

包含全面的EJB知識:1)EJB入門和無狀態會話Bean;2)有狀態會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發和應用。

7、開源框架的學習

學習幾種現在流行的開源框架:Struts、Spring、Hibernian、Webwork等。完整的學習這些框架的開發和應用。如果有興趣還可以學習Ibati框架、AJAX技術和DWR框架的開發和應用。

8、JEE項目

綜合應用JEE的知識來開發一個完整的應用。

9、面向對象分析與設計

java是一種面向對象的語言,所以要深入學習面向對象的分析與設計,另外還要學習UML統一建模語言。

10、接下來就是系統設計與架構

這裡要學習的是Java設計模式、EJB設計模式、JEE核心設計模式、JEE應用程序框架設計。

11、軟件工程

軟件工程基本理論知識的學習,還有Rup和極限編程。

12、技術研究

學習搜索引擎技術:如Lucene等、工作流技術:包含Shark、JBPM等、SOA架構和應用。

13、綜合項目實戰

實現一個企業級的應用。

每個階段在做項目的基礎上牢固的掌握應用到的知識,只有在實際的應用中發現問題,加深所學的知識。

二、中級工程師

1、對於Java基礎技術體系(包括JVM、類裝載機制、多線程並發、IO、網絡)有一定的掌握和應用經驗。

掌握JVM內存分配、JVM垃圾回收;類裝載機制; 性能優化; 反射機制;多線程;IO/NIO; 網絡編程;常用數據結構和相關算法。

2、對面向對象的軟件開發思想有清晰的認識、熟悉掌握常用的設計模式;設計模式;單例模式;工廠模式;代理模式;模板方法模式;責任鏈模式等。

3、熟練掌握目前流行開源框架(spring/springmvc/ibatis),並且對其核心思想、實現原理有一定認知;開源框架:spring;hibernate。

4、熟悉Oracle、MySQL等數據庫開發與設計以及緩存系統Redis或 Memcached的設計和研發;關係數據庫:oracle;PostgreSQL  緩存系統:Redis(Nosql)緩存系統:Memcached。

5、熟悉底層中間件、分佈式技術(包括緩存、消息系統、熱部署、JMX等)、底層中間件:應用服務器:Jetty(Tomcat)、 消息中間件:ActiveMQ、RabbitMQ、事務處理中間件:數據訪問中間件:ODBC、工作流中間件:JBPM,分佈式技術:緩存系統、消息系統、Restful、熱部署、JMX。

6、至少一種Java 應用服務器如tomcat、Jetty。

7、精通shell編程,熟練應用awk、sed、grep、strace、tcudump、gdb等常用命令。

8、有大型分佈式、高並發、高負載(大數據量)、高可用性系統設計開發經驗,分佈式:(多節點部署)、高並發、高負載(大數據量)、高穩定、高可用。

9、對配置管理和敏捷研發模式有所了解,配置管理工具:SVN、Github。

10、業務能力:系統升級、雙機、部署、容災、備份恢復、DFX。

11、加分技術:腳本語言:Python,遠程調用,精通Internet基本協議(如TCP/IP、HTTP等)內容及相關應用。有一定安全意識並了解常見的安全問題解決方案。熟悉常見的一些解決方案及其原理:單點登錄、分佈式緩存、SOA、全文檢索、消息中間件,負載均衡、連接池、nosql、流計算等。

三、高級工程師

1、JAVA。要想成為JAVA(高級)工程師肯定要學習JAVA。一般的程序員或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高級)工程師,您要對JAVA做比較深入的研究。您應該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您對JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發現其實您想實現的很多功能,通過JAVA的API都可以實現了,就不必自己費太多的腦經了。

2、設計模式。其實寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個「好」字包括代碼可重用性,可維護性,可擴展性等。如何寫出好的代碼往往要藉助一些設計模式。當然長期的代碼經驗積累,只要您用心,會使您形成自己代碼風格。相信您的代碼也比較符合代碼的可重用性,可維護性,可擴展性。但既然前人已經給我們總結出了經驗,我們何不踩着前人的肩膀前進?

3、XML。現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做數據轉換、做系統的配置、甚至可保存您的系統業務數據。因此您必須了解XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的項目中,XML往往擔當系統配置信息的作用,您需要用這些API解析這些配置信息,開發完美的項目。

4、精通使用一種或兩種框架。「框架都會有許多可重用的代碼,良好的層次關係和業務控制邏輯,基於框架的開發使你可以省出很多的開發成本」。但我這裡希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發一個項目時思路會開闊一些,比如您會想到把SQL語句與您的JAVA代碼分開,再比如您會考慮把您的業務邏輯配置到XML或者數據庫中,這樣整個項目就很容易擴張了。

5、熟悉主流數據庫。其實真正比較大的項目都是有人專門做數據庫的,但往往很多項目要求作為(高級)工程師的您也參與數據庫的設計以及SQL的編寫。所以為了更好的為國家做貢獻,建議您還是多了解一些主流數據庫,比如SQLSERVER,ORACLE,多連接SQL和存儲過程以及觸發器。如果您不是「科班」出身,您還需要補充一些數據庫原理方面的知識。

6、精通一種或兩種WEBServer。我還是要強調您要精通一種或兩種。因為作為JAVA工程師,特別時想成為高級JAVA工程師的您,您不可避免地要部署您的項目到WebServer上,而且只有當您精通一種WebServer,您才可能最大限度地使用它的資源,這往往可以節省很多時間和精力。

7、UML。我知道您肯定想成為高級工程師,因此您有必要了解或熟練或精通UML,這取決於您有多大決心想成為高級工程師和項目經理。在比較正規的開發團隊中,UML是討論項目的交流工具,您要想做一個軟件工程師,您至少要能看懂,您要想做高級工程師,您要能通過它來描述您對項目的理解,儘管這不是必須,但卻很重要。

8、站在高度分析問題:這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還着急,我希望您更快的成為一個高級的軟件工程師,而不是一個一般的軟件工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的項目。在最好在項目之初先在您的腦海里對項目有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。

9、工具。您在這個階段可能接觸到不同的工具了,儘管您還需要使用JB或者IDEA,但能可能對ROSE,Together要多了解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程序員去寫吧。

java基礎知識有哪些

對於Java開發學習者來說,基礎掌握的知識點有以下幾種:

1. Java面向對象的優點:易維護、易復用、易擴展,由於面向對象有封裝、繼承、多態性的特性,可以設計出低耦合的系統,使系統更加靈活、更加易於維護。

2. Java虛擬機的概念,任何一種可以運行Java位元組碼的軟件均可看成是Java的虛擬機(JVM)

3. JDK顧名思義它是給開發者提供的開發工具箱,是給程序開發者用的。它除了包括完整的JRE(Java Runtime Environment),Java運行環境,還包含了其他供開發者使用的工具包。

4. JRE的概念,普通用戶而只需要安裝JRE(Java Runtime Environment)來運行Java程序。而程序開發者必須安裝JDK來編譯、調試程序。

5. Java中覆蓋(Override)是指子類對父類方法的一種重寫,子類只能拋出比父類更少的異常,且訪問權限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。

Java中重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數列表各不相同。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:48
下一篇 2025-01-03 14:48

相關推薦

  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • Python種類三部分組成

    Python是一個高級編程語言且使用廣泛。Python有三種主要的種類:CPython、Jython、IronPython。了解這三種種類是很有必要的,因為Python的使用通常實…

    編程 2025-04-29
  • TensorFlow和Python的區別

    TensorFlow和Python是現如今最受歡迎的機器學習平台和編程語言。雖然兩者都處於機器學習領域的主流陣營,但它們有很多區別。本文將從多個方面對TensorFlow和Pyth…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 麥語言與Python的區別

    麥語言和Python都是非常受歡迎的編程語言。它們各自有自己的優缺點和適合的應用場景。本文將從語言特性、語法、生態系統等多個方面,對麥語言和Python進行詳細比較和闡述。 一、語…

    編程 2025-04-28
  • Python元祖排序:從基礎知識到高級應用

    Python元祖是一種不可變序列,通常用於將一組數據綁定在一起。元祖之間經常需要排序,本文將從基礎知識到高級應用,為你詳細講解Python元祖排序。 一、排序方法 Python提供…

    編程 2025-04-28

發表回復

登錄後才能評論