本文目錄一覽:
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-hant/n/308278.html