Java程序員必須掌握的知識內(nèi)容整理 IT知識
電腦知識 由優(yōu)爾供稿Java是一項很有用的技術(shù),所謂萬變不離其宗,新技術(shù)都是基于java的基礎之上,如果基礎不扎實,對于這些新技術(shù)的理解也是一知半解,學不到根源。下面是9252兒童網(wǎng)小編為大家整理的Java程序員必須掌握的知識內(nèi)容,希望對您有所幫助!
Java程序員必須掌握的知識內(nèi)容
1、語法:
必須比較熟悉,在寫代碼的時候 IDE 的編輯器對某一行報錯應該能夠根據(jù)報錯信息知道是什么樣的語法錯誤并且知道任何修正。
2、命令:
必須熟悉JDK帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那么你對java 實際上還很不了解。
3、工具:
必須至少熟練使用一種 IDE的開發(fā)工具,例如 Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator 或者 Workshop,包括進行工程管理、常用選項的設置、插件的安裝配置以及進行調(diào)試。
4、API:
Java 的核心 API 是非常龐大的,但是有一些內(nèi)容筆者認為是必須熟悉的,否則不可能熟練的運用 Java
5、測試:
必須熟悉使用 junit 編寫測試用例完成代碼的自動測試。
6、管理:
必須熟悉使用 ant完成工程管理的常用任務,例如工程編譯、生成 javadoc、生成 jar、版本 控制、自動測試。
7、排錯:
應該可以根據(jù)異常信息比較快速的定位問題的原因和大致位置。
8、思想:
必須掌握 OOP 的主要要求,這樣使用 Java 開發(fā)的系統(tǒng)才能是真正的 Java 系統(tǒng)。
9、規(guī)范:
編寫的代碼必須符合流行的編碼規(guī)范,例如類名首字母大寫,成員和方法名首字母小寫,方法名的第一個單詞一般是動詞,包名全部小寫等,這樣程序的可讀性才比較好。
學Java需要什么基礎
在編程的世界里,Java一直是企業(yè)級別開發(fā)最喜歡選擇的編程語言,從java目前的就業(yè)形勢來看還是相當不錯的,對于那些想通過學習一門編程語言來豐富自己的生存技能的人,學習java是個不錯的選擇,可是對于一點編程學習經(jīng)驗都沒有的人來說,學Java需要什么基礎呢?該如何學習呢?
首先,要具備一些基礎的英語基礎。學編程離不開與英語打交道。不少英語不好的同學就會擔心了,自己的英語基礎不好,是不是就學不好Java了。雖然代碼里面都是英文字母,但是學起來真的不是很難。代碼里面的英文都是固定的標簽,只要你記熟那些固定標簽,敲起代碼來就不是障礙。而且現(xiàn)在的編譯器越來越先進,只要你打出首字母,下拉框里你就能選擇你需要的英文標簽。
其次,面向?qū)ο蟮闹R。Java是一個面向?qū)ο蟮拈_發(fā)語言,因此熟悉面向?qū)ο笾R對學習Java很有必要。你需要了解:什么是對象,什么是類;什么是封裝,什么是多態(tài),什么是繼承;什么是抽象類,什么是接口。了解了概念后,你還需要這些概念是如何體現(xiàn)的,如類和對象有什么區(qū)別?類是如何封裝的?深圳嘉華學校的Java大數(shù)據(jù)開發(fā)老師會用實戰(zhàn)項目知識向大家生動地講解相關(guān)的Java知識。除此之外,同學們還可以在北大青鳥云課堂聽各路大咖講解前沿的Java技術(shù)點。
第三、Java語法的知識。如果你有C++等面向?qū)ο笳Z言的開發(fā)經(jīng)驗,你只需簡單的翻看一下介紹Java的相關(guān)書籍就可以了。如果你是新手,沒有關(guān)系,北大青鳥深圳嘉華學校的老師來幫您,小班教學,大咖面對面輔導。讓你零基礎也能快速入門。
Java面試基礎知識整理
1、Static存在的意義
static主要意義是在于創(chuàng)建獨立的具體對象的域變量或者方法,以至于即使沒有創(chuàng)建對象,也能使用屬性和調(diào)用方法,static關(guān)鍵字還有一個比較關(guān)鍵的作用就是用來形成靜態(tài)代碼塊以優(yōu)化程序的性能。static塊可以置于類中的任何地方,類中可以有多個static塊。在類初次被加載的時候,會按照static塊的順序來執(zhí)行每個statci塊,并且只會執(zhí)行一次。為什么說static塊可以用來優(yōu)化程序性能,是因為它的特性,只會在類加載的時候執(zhí)行一次。因此,很多時候可以將一些只需要進行一次的初始化操作放在static代碼塊中進行,被static修飾的變量或者方法是獨立于當前類的任何對象,也就是說這些靜態(tài)的變量或者方法不屬于任何一個實例化對象,而是被類直接的所共享。static變量值在類加載的時候分配空間,以后創(chuàng)建類對象的時候不會重新分配。賦值的話,是可以任意賦值的。被static修飾的變量或者方法是優(yōu)先于對象存在的,也就是說當一個類加載完畢之后,即便沒有創(chuàng)建對象,也可以去訪問。
2、面向?qū)ο笈c面向過程的區(qū)別?
面向過程優(yōu)點:性能比面向?qū)ο蟾?,因為類調(diào)用時需要實例化,開銷比較大,比較消耗資源,比如單片機,嵌入式開發(fā)、Linux、Unix等等一般都是采用面向過程的開發(fā),性能是最重要的因素。缺點:沒有面向?qū)ο蟊阌诰S護、容易復用、容易擴展。面向?qū)ο髢?yōu)點:易復用、易擴展、易維護,由于是面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特點,可以設計出低耦合的系統(tǒng),使得系統(tǒng)更加靈活、更加易于擴展。缺點:性能比面向過程低。面向過程是具體化的,流程化的,解決一個問題,你需要一步一步的分析,一步一步的實現(xiàn)。面向?qū)ο笫悄K化的,你只需要抽象出來一個類對象,這是一個封閉的盒子,在這里你擁有數(shù)據(jù)也擁有解決問題的方法,需要什么功能直接使用就可以了,不必去一步一步的實現(xiàn),至于這個功能是如何實現(xiàn)的,不需要了解。最后,面向?qū)ο蟮牡讓舆€是面向過程,把面向過程抽象出類,然后封裝,方便我們使用就是面向?qū)ο罅恕?/p>
3、面向?qū)ο蟮娜筇匦裕?/p>
抽象,抽象是將一類對象的共同特征總結(jié)出來構(gòu)造類的過程,包括數(shù)據(jù)抽象和行為抽象兩個方面,抽象只關(guān)心對象的有哪些屬性和行為,并不關(guān)心這些行為的細節(jié)是什么。封裝,封裝是把一個對象的屬性私有化,同時提供一些可以被外界訪問的屬性的方法。繼承,繼承是使用已有的類的定義作為基礎建立的新的技術(shù),新類的定義可以增加新的數(shù)據(jù)或者新的功能,也可以使用父類的功能,但是不能選擇性的繼承父類。有一下三個方面,一、子類擁有父類非private的屬性和方法。二、子類可以擁有自己屬性和方法,即子類可以對父類進行擴展。三、子類可以用自己的方法實現(xiàn)父類的方法。多態(tài),所謂的多態(tài)就是程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用編程時并不確定,而是在程序運行的時候才確定,即一個引用變量到底會指向那個類的實例對象,該引用變量發(fā)出的方法調(diào)用到底是那個類中的實現(xiàn)方法,必須由程序運行期間才能決定。
4、什么是多態(tài)機制?
Java語言是如何實現(xiàn)多態(tài)的?所謂的多態(tài)是程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時并不確定,而是在程序運行期間才確定。多態(tài)分為編譯時多態(tài)和運行時多態(tài),其中編輯時多態(tài)是靜態(tài)的,主要是指方法的重載,它是根據(jù)參數(shù)列表的不同來區(qū)分不同的函數(shù),在運行時談不上多態(tài)。而是運行時多態(tài)是動態(tài)的,它是通過動態(tài)綁定來實現(xiàn)的,也就是我們所說的多態(tài)性。
5、多態(tài)的實現(xiàn),Java中實現(xiàn)多態(tài)有三個必要條件:
繼承、重寫、向上轉(zhuǎn)型。繼承:在多態(tài)中必須存在有繼承關(guān)系的子類和父類。重寫:子類對父類中的某些方法進行重新定義,在調(diào)用這些方法時候就會調(diào)用子類的方法。向上轉(zhuǎn)型:在多態(tài)中需要將子類的引用賦值給父類,只有這樣該引用才能具備技能調(diào)用父類的方法和子類的方法。只有滿足上述三個條件,才能在同一個繼承結(jié)構(gòu)中國使用統(tǒng)一的邏輯實現(xiàn)代碼處理不同的對象,從而達到執(zhí)行不同的行為,對于Java而言,它的多態(tài)實現(xiàn)截至遵循一個原則,當超類的對象引用變量引用子類的對象時候,被引用的對象的類型而不是引用變量的類型決定了調(diào)用誰的成員方法,但是這個被調(diào)用的方法必須是在超類中定義過的,也就是說被子類覆蓋了的方法。
6、面向?qū)ο蟮奈宕蠡驹瓌t?
單一職責:類的功能單一,不能包羅萬象。開發(fā)封閉原則:一個模塊對于擴展是開放的,對于修改是關(guān)閉的,想要增加功能熱烈歡迎,想要修改功能不行。里氏替換原則:子類可以替換父類出現(xiàn)在父類能夠出現(xiàn)的地方。依賴倒置原則:高層模塊不應該依賴于底層模塊,他們都應該依賴于抽象,抽象不應該依賴細節(jié)實現(xiàn)。細節(jié)實現(xiàn)依賴于抽象。接口分離原則:設計時采用多個于特定客戶有關(guān)的接口。