java程序員要掌握的知識(大全) IT知識
電腦知識 由優(yōu)爾供稿對于java方面的知識,涉及到服務器方、3層結構編程至關重要。程序員在這個時候不能再用諸如數(shù)據(jù)庫結果集之類的結構描述數(shù)據(jù)了。下面是9252兒童網(wǎng)小編為大家整理的java程序員要掌握的知識,希望對您有所幫助!
java程序員要掌握的知識
1、Java編程的知識和技能、JEE體系的知識
2、數(shù)據(jù)庫的基本知識,包括Oracle和SqlServer和MySql
3、Web開發(fā)的知識和技能
4、EJB組件開發(fā)的知識和技能
5、流行的Struts、Spring、Hibernate、Webwork、Ibatis開發(fā)框架
6、實用的Ant、Xdoclet、Log4j、Junit、Vss、Cvs等開發(fā)工具
7、工作流技術和實用的Shark、JBPM等工作流框架
8、搜索引擎技術和實用的Lucene等搜索引擎框架
8、WebService技術和SOA架構
10、AJAX技術和Dwr框架
11、UML軟件工程的知識
12、Java的設計模式,JEE的設計模式和JEE應用程序框架設計
13、好的編程思想和素質,IT學習的方法和技能
14、眾多開發(fā)工具的使用,開發(fā)平臺和環(huán)境的配置
15、完整的JEE項目開發(fā)經驗和技能
java面試基礎知識
1、靜態(tài)變量和實例變量的區(qū)別?
在語法定義上的區(qū)別:靜態(tài)變量前要加static關鍵字,而實例變量前則不加。
在程序運行時的區(qū)別:實例變量是屬于某個對象的屬性,必須創(chuàng)建了實例對象,其中的實例變量才會被分配內存空間,才可以使用這個實例變量。
靜態(tài)變量不屬于某個實例對象,而是屬于類,所以也稱為類變量,只要程序加載了類的字節(jié)碼,不用創(chuàng)建任何實例對象,靜態(tài)變量就會分配內存空間,而且只分配一次,靜態(tài)變量就可以被使用了??傊瑢嵗兞勘仨殑?chuàng)建后才可以通過這個對象來使用,靜態(tài)變量則直接可以使用類名來調用。
2、什么是反射機制?
java反射是在運行狀態(tài)中,對任意一個類,都能夠知道這個類的所有屬性和方法,對于任何一個對象,都能夠調用它的任意一個屬性和方法,這種動態(tài)獲取信息以及動態(tài)調用對象的方法的功能稱為java的反射機制。
3、什么是裝箱?什么是拆箱?
裝箱:自動將基本數(shù)據(jù)類型轉換為包裝器類型。
拆箱:自動將包裝器類型轉換為基本數(shù)據(jù)類型。
4、Java 中覆蓋和重載是什么意思?
覆蓋(Override)是指子類對父類方法的一種重寫,只能比父類拋出更少的異常,訪問權限不能比父類的小,被覆蓋的方法不能是 private的,否則只是在子類中重新定義了一個新方法。
重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
java入門需要學習哪些東西
1、首先要學習java的基礎知識。
不要被新技術迷惑,所謂萬變不離其宗,新技術都是基于java的基礎之上,如果基礎不扎實,對于這些新技術的理解也是一知半解,學不到根源。
2、做一個java項目
在學習完java的基礎知識之后,做一個java項目來鞏固一下,在項目中會發(fā)現(xiàn)很多問題,通過解決問題,加深基礎知識的掌握。
3、學習數(shù)據(jù)庫的基礎知識和開發(fā)應用
軟件開發(fā)離不了數(shù)據(jù)庫,掌握幾種流行的數(shù)據(jù)庫:Oracle、SQLserver、MySQL等。
4、JEE基礎
在這里首先要學習網(wǎng)站基礎,包括HTML、DHTML、JavaScript;接著要學習 XML,XML JAXP;然后學習JEE基礎,包括JEE開發(fā)環(huán)境,RMI/IIOP、JNDI;最后學習JDBC數(shù)據(jù)庫的應用開發(fā)。
5、web開發(fā)
全面的JEE的web開發(fā)知識:Servlet JSP javaBean TagLib,到這里做一個完整的web應用項目開發(fā)。
6、EJB開發(fā)
包含全面的EJB知識:1)EJB入門和無狀態(tài)會話Bean;2)有狀態(tài)會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發(fā)和應用;
7、開源框架的學習
學習幾種現(xiàn)在流行的開源框架:Struts、Spring、Hibernian、Webwork等。完整的學習這些框架的開發(fā)和應用。如果有興趣還可以學習Ibati框架、AJAX技術和DWR框架的開發(fā)和應用。
8、JEE項目
綜合應用JEE的知識來開發(fā)一個完整的應用。
9、面向對象分析與設計
java是一種面向對象的語言,所以要深入學習面向對象的分析與設計,另外還要學習UML統(tǒng)一建模語言。
10、接下來就是系統(tǒng)設計與架構
這里要學習的是Java設計模式、EJB設計模式、JEE核心設計模式、JEE應用程序框架設計。
11、軟件工程
軟件工程基本理論知識的學習,還有Rup和極限編程。
12、技術研究
學習搜索引擎技術:如Lucene等、工作流技術:包含Shark、JBPM等、SOA架構和應用。
13、綜合項目實戰(zhàn)
實現(xiàn)一個企業(yè)級的應用。
Java工程師需要具備什么技能
1、夯實的java基礎
當前的java新技術層出不窮,各企業(yè)的有不同的側重點,根據(jù)企業(yè)用人的需求,只有具備堅實的java基礎功底的程序員才能快速掌握新的技術。需要在核心算法、面向對象應用、數(shù)據(jù)結合及集合框架、反射、輸入輸出、多線程、異常處理等方面進行深入學習。
2、熟悉Linux操作系統(tǒng)
Linux是當今用作廣泛的服務器操作系統(tǒng)。合格的java高級工程師必須具備熟練地Linux操作技巧,這也正是在企業(yè)面試中獲得加分的重要指標之一。
3、深入學習數(shù)據(jù)庫技術
互聯(lián)網(wǎng)公司對Java應用離不開數(shù)據(jù)庫技術。任何一個大中型應用,數(shù)據(jù)庫設計的好壞、數(shù)據(jù)庫訪問的效率直接決定了該項目的成敗。當前數(shù)據(jù)庫最主流的技術有Oracle和MySQL兩種,除了能熟練應用數(shù)據(jù)庫體系結構和SQL語句之外,還要掌握數(shù)據(jù)庫設計、SQL語句優(yōu)化方面。
4、系統(tǒng)的Web前端技術
隨著互聯(lián)網(wǎng)技術由Web2.0向Web3.0邁進,Web前端技術,包括HTML、CSS特別是java script語言越來越被企業(yè)重視。很多企業(yè)為此設置“Web前端工程師”崗位,所以作為一名合格的java高級工程師要不斷學習包括java script在內的Java知識還有其相關的Ajax、JQuery框架、Ext-JS框架。
5、企業(yè)及框架
Java是組件和框架的世界,所有的java程序員都應當了解java框架。
6、專門的企業(yè)級開發(fā)及部署環(huán)境
企業(yè)在開發(fā)、測試、部署實際項目時需要有特定的軟件環(huán)境,但是很多技術人員往往不太重視這個,所以在工作中會出現(xiàn)很多問題和失誤甚至被淘汰。因此,作為java工程師對Linux高級命令集腳本編程、遠程登錄、Art、單元測試技術、Maven構建技術、SVN應用技術等要有所了解。
7、規(guī)范的企業(yè)開發(fā)流程及文檔
軟件開發(fā)是團隊合作,因此企業(yè)開發(fā)流程和文檔規(guī)范尤為重要。這也是區(qū)分“草根程序員”和“正規(guī)程序員”的重要指標之一。開發(fā)項目項目無論大小都應該按照企業(yè)開發(fā)的流程進行(需求分析、系統(tǒng)設計、編碼實現(xiàn)、單元測試、系統(tǒng)測試、部署上線)。