計算機二級java復(fù)習(xí)資料詳細(xì)0基礎(chǔ)必備

  1. Java的源程序代碼的擴展名為.java斤斧。
    Java的編譯器和解釋器的擴展名為.exe,他們分別是javac.exe、java.exe。
    通過Java編譯器編譯生成的是二進制字節(jié)碼文件官疲,其擴展名為.class。
    調(diào)用applet小程序的HTML文件的擴展名為.html或.htm亮隙。

2.Java語言的執(zhí)行模式是半編譯和半解釋型途凫。Java編寫好的程序首先由編譯器轉(zhuǎn)換為標(biāo)準(zhǔn)字節(jié)代碼,然后由Java虛擬機解釋執(zhí)行溢吻。字節(jié)代碼也是一種二進制文件维费,但不能直接在操作系統(tǒng)上運行,它可看作虛擬機的機器碼促王。虛擬機把字節(jié)代碼程序與各操作系統(tǒng)和硬件分開犀盟,使Java程序獨立于平臺。Java虛擬機(JVM)是可運行Java代碼的假想計算機蝇狼。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計算機上阅畴,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上運行。運行JVM字節(jié)碼的工作是由解釋器來完成的迅耘。解釋執(zhí)行過程分三步進行:代碼的裝入贱枣、代碼的校驗和代碼的執(zhí)行

3.Java語言不同于C++颤专,它可以自動跟蹤內(nèi)存的使用情況纽哥,釋放一些不再需要使用的空間,從而保證了不會由于程序的運行而生成大量無法釋放的空間栖秕,該機置被稱垃圾回收機制春塌,由于這種機制的引入,從很大程度上減輕了程序員的負(fù)擔(dān)。

  1. public指明變量為公有摔笤。
    protected指明變量為保護訪問够滑。可被同一個包中其他類吕世、不同包中該類的子類以及該類自己訪問和引用彰触。
    final指明變量為常量。
    默認(rèn)(friendly)即無訪問控制符命辖,表示只能被同一個包中的類訪問和引用况毅。
    public修飾的方法可被其它類訪問或引用。
    abstract修飾的方法是抽象方法尔艇,抽象方法沒有方法體尔许,要使用抽象方法,必須先實現(xiàn)此抽象方法终娃。
    final修飾的方法不能被繼承味廊。
    static修飾的方法為靜態(tài)方法,靜態(tài)方法不需要類的實例化就可以被類直接調(diào)用棠耕。
    private修飾的變量說明變量為私有訪問余佛。只能被該類自己訪問或調(diào)用,是對成員變量的高級保護窍荧。

5.類聲明:要有class辉巡;abstract final類就無法使用

6.一個Java Application運行后在系統(tǒng)中作為一個獨立的進程參與系統(tǒng)調(diào)度,但在該進程中可以通過創(chuàng)建Thread類的實例的方法來創(chuàng)建多個線程蕊退。在一個進程中的各個線程之間擁有共同的上下文環(huán)境郊楣。

  1. 將Java程序中的對象保存在外存中,稱為對象永久化瓤荔。對象永久化的關(guān)鍵是將它的狀態(tài)以一種串行格式表示出來净蚤,以便以后讀該對象時能夠把它重構(gòu)出來。

8.在Java中一個類只能有一個直接父類茉贡,但是可以實現(xiàn)多個接口塞栅,在繼承的同時可以實現(xiàn)接口,之所以取消多繼承的原因是多繼承使得代碼產(chǎn)生很多問題腔丧,而使用單一繼承則可以使代碼更可靠放椰。

9.類加載器(class loader)加載程序運行所需要的所有類,它通過區(qū)分本機文件系統(tǒng)的類和網(wǎng)絡(luò)系統(tǒng)導(dǎo)入的類增加安全性砾医,這可以限制任何的特洛伊木馬程序错邦,因為本機類總是先被加載毛仪,一旦所有的類被加載完,執(zhí)行文件的內(nèi)存劃分就固定了狈癞,在這個時候特定的內(nèi)存地址被分配給對應(yīng)的符號引用,查找表(lookup table)也被建立战秋,由于內(nèi)存劃分發(fā)生在運行時疯搅,解釋器在受限制的代碼區(qū)增加保護防止未授權(quán)的訪問觉义;然后字節(jié)碼校驗器(byte code verifier)進行校驗屠缭,主要執(zhí)行下面的檢查:類符合JVM規(guī)范的類文件格式,沒有違反訪問限制呵曹,代碼沒有造成堆棧的上溢或者下溢款咖,所有操作代碼的參數(shù)類型都是正確的,沒有非法的數(shù)據(jù)類型轉(zhuǎn)換(例如將整型數(shù)轉(zhuǎn)換成對象類型)發(fā)生奄喂;校驗通過的字節(jié)碼被解釋器(interpreter)執(zhí)行铐殃,解釋器在必要時通過運行時系統(tǒng)執(zhí)行對底層硬件的合適調(diào)用。

10.Java有四種訪問類型跨新,分別為:public富腊,protected,default域帐,private赘被,其中public變量可以被所有的外部類訪問,而protected的可以被同一個包及該類的子類訪問肖揣,default即沒有任何修飾符的變量可以被同一個包中的類訪問民假,而private變量只能在被該類內(nèi)部被訪問。

11.java.lang包封裝了所有基本類龙优。由Java編譯器自動導(dǎo)入羊异。因此,編程時使用該包中的類彤断,可省去import導(dǎo)入野舶。但使用其它包中的類,必須用import導(dǎo)入宰衙。

12.Java的單行注釋符為//筒愚,多行注釋符有/.../和 /*.../(javadoc能夠利用該注釋符自動生成幫助文檔)。

13.Java Application本身是一個類菩浙,該類必須有且只有一個main()方法(不能多載)巢掺;Java Applet本身不能獨立運行句伶,必須由支持Applet的瀏覽器或其它軟件加載運行。但Java Application和Java Applet都是通過javac編譯的陆淀。Java Applet是能夠嵌入到HTML頁面中考余,并能夠在瀏覽器中運行的Java類。Applet與Application的主要區(qū)別在于執(zhí)行方式上:Application以main()方法為入口點運行轧苫,而Applet要在瀏覽器或appletviewer中運行楚堤,運行過程要比Application復(fù)雜。

14.抽象窗口工具包AWT是Java提供的建立圖形用戶界面GUI的開發(fā)包含懊,AWT可用于Java的Applet和Application中身冬,它支持圖形用戶界面編程的主要功能:用戶界面構(gòu)件;事件處理模型岔乔;圖形和圖像工具酥筝;布局管理器;數(shù)據(jù)傳送類雏门。
java.applet包含了一些設(shè)計小應(yīng)用程序(Applet)的類和接口嘿歌。
java.util包是Java的實用工具類庫。
java.io包:提供程序輸入/輸出文件操作的類茁影。
javax.swing包:提供構(gòu)建和管理應(yīng)用程序圖形界面的輕量級的構(gòu)件宙帝。
java.net包:提供程序執(zhí)行網(wǎng)絡(luò)通信應(yīng)用及URL處理的類。
java.rmi包:提供程序遠(yuǎn)程方法調(diào)用所需的類募闲。

15.通過繼承實現(xiàn)代碼復(fù)用:
Java中所有的類都是通過直接或間接地繼承java.lang.Object類得到的步脓。繼承而得到的類稱為子類,被繼承的類稱為父類浩螺。子類不能繼承父類中訪問權(quán)限為private的成員變量和方法沪编,子類可以重寫父類的方法,及命名與父類同名的成員變量年扩。子類可以替代父類,父類不能代替子類访圃,父類不包含子類
子類通過隱藏父類的成員變量和重寫父類的方法厨幻,把父類的狀態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為。注意:子類中重寫的方法和父類中被重寫的方法要具有相同的名字腿时,相同的參數(shù)表和相同的返回類型况脆,只是函數(shù)體不同。
由于子類繼承了父類所有的屬性(私有的除外)批糟,所以子類對象可以作為父類對象使用格了。程序中凡是使用父類對象的地方,都可以用子類對象來代替徽鼎。一個對象可以通過引用子類的實例來調(diào)用子類的方法盛末。
java運行時系統(tǒng)根據(jù)調(diào)用該方法的實例弹惦,來決定調(diào)用哪個方法。對子類的一個實例悄但,如果子類重寫了父類的方法棠隐,則運行時系統(tǒng)調(diào)用子類的方法;如果子類繼承了父類的方法(未重寫)檐嚣,則運行時系統(tǒng)調(diào)用父類的方法助泽。

16.J2ME是為嵌入式和移動設(shè)備提供的Java平臺,它的體系結(jié)構(gòu)由Profiles 嚎京、Configuration 和 Optional Packages組成嗡贺。

17.不允許使用指針體現(xiàn)出的Java 特性是安全性,相對于C/C++等允許使用指針的語言鞍帝,Java防止了因為指針造成的程序在穩(wěn)定性和安全性上的漏洞诫睬,如對內(nèi)存的非法入侵,它是目前安全性最佳的語言膜眠。

18.JDBC(Java DataBase Connectivity)是Java程序與數(shù)據(jù)庫連接的一種機制岩臣,用JDBC寫的程序能夠自動地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)。

19.由于公共變量在獲取與設(shè)置時宵膨,不能夠進行有效的安全性檢查架谎,在java中的一般做法是將其設(shè)置成私有變量,然后通過接口方法對這些變量進行讀取或賦值辟躏,這樣就可以檢查用戶所賦的值或在返回用戶所需要的值時執(zhí)行必要的代碼谷扣。

20.Java采用Unicode字符碼集。

21.在Java程序中import語句可以有零個或多個捎琐,當(dāng)導(dǎo)入的類所在的包中有相同名字的類時会涎,不用import導(dǎo)入,而是直接用帶包名的方法使用瑞凑。

  1. -g:輸出文件中加行號及局部變量信息末秃,為調(diào)試程序時用;
    -d:指定存放生成的類(.class)文件的位置籽御;
    -verbose:顯示源代碼文件和字節(jié)碼文件的相關(guān)信息练慕;
    -nowarn:關(guān)閉警告信息,只顯示錯誤信息技掏。

  2. 構(gòu)造方法可以重載實現(xiàn)不同的初始化方法铃将,使類的實例有多種初值,調(diào)用時按參數(shù)決定調(diào)用哪個方法哑梳。

  3. Applet的安全限制:
    1)Applet不能運行任何本地可運行程序劲阎;
    2)禁止加載本地庫或方法。Applet只能使用自身的代碼或Applet瀏覽器提供的Java API鸠真;
    3)禁止讀悯仙、寫本地計算機的文件系統(tǒng)龄毡;
    4)禁止向提供Applet之外的任何主機建立網(wǎng)絡(luò)連接;
    5)不能讀取某些系統(tǒng)信息雁比;
    6)由一個Applet彈出的窗口外觀上與一個Application彈出的窗口不同稚虎,Applet彈出的窗口中將會有警告提示信息,以幫助用戶區(qū)分Applet窗口與可信的Application窗口偎捎。

25.在不同的平臺上蠢终,Java有不同的JVM,使Java字節(jié)碼可以跨越平臺的限制茴她,在不同的平臺上運行寻拂。但C++程序不具備平臺獨立性。

26.構(gòu)造方法屬于特殊的一種方法丈牢,它的主要作用是初始化對象的成員變量祭钉。構(gòu)造方法前面沒有返回類型定義,也就是說它沒有返回值己沛,也不是void慌核。

27.Frame繼承自java.awt.window類,它們都在java.awt包中申尼,對于Frame而言垮卓,其默認(rèn)的布局管理器為BorderLayout。
1师幕、CardLayout布局管理器能夠幫助用戶處理兩個以至更多的成員共享同一顯示空間粟按,它把容器分成許多層,每層的顯示空間占據(jù)整個容器的大小霹粥,但是每層只允許放置一個構(gòu)件灭将,當(dāng)然每層都可以利用Panel來實現(xiàn)復(fù)雜的用戶界面。
2后控、GridLayout布局管理器使容器中各個構(gòu)件呈網(wǎng)格狀布局庙曙,平均占據(jù)容器的空間。即使容器的大小發(fā)生變化浩淘,每個構(gòu)件還是平均占據(jù)容器的空間捌朴。構(gòu)件在往容器中放置的時候,是按照從上到下馋袜、從左到右的規(guī)律進行的。
3舶斧、BorderLayout布局管理器把容器分成5個區(qū)域:North,South,East,West和Center欣鳖,每個區(qū)域只能放置一個構(gòu)件。BorderLayout是Window,Frame和Dialog的默認(rèn)布局管理器茴厉。
4泽台、FlowLayout:構(gòu)件在容器中的放置規(guī)律是從上到下什荣、從左到右進行放置,如果容器足夠?qū)捇晨幔谝粋€構(gòu)件先添加到容器中第一行的最左邊稻爬,后續(xù)的構(gòu)件依次添加到上一個構(gòu)件的右邊,如果當(dāng)前行已放置不下該構(gòu)件蜕依,則放置到下一行的最左邊桅锄。FlowLayout是Panel和Applet的默認(rèn)布局管理器。構(gòu)件的大小不隨容器的大小改變而改變样眠。

  1. 整型常量分3種書寫格式:
    (1)十進制整數(shù)友瘤,如189,-360檐束。
    (2)八進制整數(shù)辫秧,以0開頭,如012表示十進制的10被丧。
    (3)十六進制整數(shù)盟戏,以0x或0X開頭,如0x123表示十進制數(shù)291甥桂。
    另外科學(xué)計算柿究,E是指數(shù)符。

  2. 在Java中經(jīng)常使用內(nèi)部類格嘁,但一般采用內(nèi)部類的原因有以下幾點:
    1笛求、內(nèi)部類的對象可以訪問外部類的成員和方法。
    2糕簿、實現(xiàn)事件監(jiān)聽時探入,采用內(nèi)部類、匿名類容易實現(xiàn)懂诗。
    3蜂嗽、編寫事件驅(qū)動程序,內(nèi)部類很方便殃恒。

30.Java語言中用一種特殊的類-java.util.ArrayList(數(shù)組列表)在運行時動態(tài)調(diào)整數(shù)組的大小植旧。ArrayList類在定義數(shù)組時,不必限定數(shù)組的大小离唐。

  1. 接口是不包含成員變量和方法實現(xiàn)的抽象類病附,它只包含常量和方法的定義。接口的主要功能是:
    (1)不管類的層次亥鬓,可實現(xiàn)互不相關(guān)的類具有相同的行為完沪。
    (2)通過接口說明多個類所需實現(xiàn)的方法。
    (3)通過接口可以了解對象的交互界面,無需了解對象所對應(yīng)的類覆积。

32.windowOpened是打開窗體后將要執(zhí)行的方法听皿。windowClosed是關(guān)閉窗體后將要執(zhí)行的方法,windowClosing是在關(guān)閉窗體時要執(zhí)行的方法宽档,該方法可以執(zhí)行窗體的關(guān)閉功能尉姨。windowDeactivated是窗體處于非激活時將會執(zhí)行該方法。

33.正則表達(dá)式必須對字符串進行匹配吗冤,因此選項A是錯誤的又厉,對于任一二進制串,正則表達(dá)式也無法匹配欣孤,對于一個回文字串馋没,正則表達(dá)式無法匹配,故選取項A降传、B篷朵、C也都是錯誤的,對于一個公式婆排,由于其符合3型文法標(biāo)準(zhǔn)声旺,故必能與正則表達(dá)式相匹配。

34.Java的線程調(diào)度策略是一種基于優(yōu)先級的搶先式調(diào)度段只。這種調(diào)度策略的含義是:Java基于線程的優(yōu)先級選擇高優(yōu)先級的線程進行運行腮猖。該線程(當(dāng)前線程)將持續(xù)運行,直到它中止運行或其它更高優(yōu)先級程成為可運行時赞枕。在線程的幾種基本控制方法中澈缺,sleep()方法使比其低的優(yōu)先級線程運行;yield()方法只讓給同優(yōu)先級運行炕婶。
搶先式調(diào)度可能是分時的姐赡,即每個池中的輪流運行;也可能不是柠掂,即線程逐個運行项滑。所以即使具有相同優(yōu)先級的多個線程的調(diào)度也不一定是分時的,它的運行方式是由具體JVM而定的涯贞。

35.線程的生命周期主要分為如下幾個狀態(tài):新建狀態(tài)枪狂、可運行狀態(tài)、運行狀態(tài)宋渔、阻塞狀態(tài)州疾、終止?fàn)顟B(tài)。
假設(shè)當(dāng)前線程處于運行狀態(tài)皇拣,則會改變線程當(dāng)前狀態(tài)的操作總結(jié)如下:
(1)當(dāng)前線程執(zhí)行了yield()严蓖,或當(dāng)前線程因調(diào)度策略(執(zhí)行過程中,有一個更高優(yōu)先級的線程進入可運行狀態(tài),這個線程立即被調(diào)度執(zhí)行谈飒,當(dāng)前線程占有的CPU被搶占;或在分時方式時态蒂,當(dāng)前執(zhí)行線程執(zhí)行完當(dāng)前時間片)從而導(dǎo)致當(dāng)前線程進入可運行狀態(tài)杭措。
(2)線程調(diào)用了sleep()方法、join()方法钾恢、wait()方法時手素,線程進入阻塞狀態(tài)。
其中yield()方法的作用是暫停當(dāng)前線程的執(zhí)行瘩蚪,從而允許與它具有相同優(yōu)先級的線程執(zhí)行泉懦,如果不存在可執(zhí)行且與它同優(yōu)先級的線程,則繼續(xù)執(zhí)行當(dāng)前線程疹瘦。
當(dāng)某線程需要在synchronized塊中等待共享數(shù)據(jù)狀態(tài)改變時崩哩,調(diào)用wait()方法,這樣該線程等待并暫時釋放共享數(shù)據(jù)對象的鎖言沐,其它線程可以獲得該對象的鎖邓嘹,并進入synchronized塊對共享數(shù)據(jù)進行操作,而此線程則放入wait pool中险胰,轉(zhuǎn)入阻塞狀態(tài)汹押,當(dāng)其它線程對共享數(shù)據(jù)操作完后,只要調(diào)用notify()方法就可以通知正在等待的線程重新占有鎖起便,并運行棚贾。
sleep方法的作用是讓當(dāng)前線程處于休眠狀態(tài),并持續(xù)一定的時間榆综,該時間的長短由sleep()方法的參數(shù)決定妙痹。sleep()方法結(jié)束后,線程將進入可運行狀態(tài)奖年。
isAlive()方法的作用是測試線程细诸,以確定線程是否活著。此方法并不會改變線程生命周期中的狀態(tài)陋守。

36.在J2SE1.4中的正則表達(dá)式包中存在一個匹配器類震贵。該類用于將一個輸入字符串與模式串進行比較,在這個類中通過matches方法用來對輸入字符串與模式串的比較水评,如果匹配成功則返回true否則返回false猩系;matcher.find()方法用來尋找下一模式匹配串;matcher.start()用來返回匹配串的一個起始索引整數(shù)值中燥;matcher.end()用來返回匹配串的終止索引整數(shù)值寇甸。

37.對象鎖在如下幾種情況下由持有線程返還:
(1)當(dāng)synchronized()語句塊執(zhí)行完后。
(2)當(dāng)在synchronized()語句塊中出現(xiàn)例外(exception)。
(3)當(dāng)持有鎖的線程調(diào)用該對象的wait()方法拿霉。此時該線程將釋放對象的鎖吟秩,而被放入對象的wait pool中,等待某事件的發(fā)生绽淘。
而suspend()方法只是基本線程控制方法涵防,在一個線程中調(diào)用t.suspend(),將使t暫停執(zhí)行沪铭,要想恢復(fù)線程壮池,必須由其他線程調(diào)用t.resume()恢復(fù)t的執(zhí)行。
故本題答案為B杀怠。

38.Java中常量null椰憋,false,true赔退,new橙依,this,const硕旗,break都是小寫票编。

39.String提供concat(),replace(),substring(),toLowerCase(),toUpperCase()等方法。
public String concat(String str)//將當(dāng)前字符串對象與指定str字符串相連卵渴;
public String replace(char oldChar,char newChar)//用新字符替換老字符慧域;
public String substring(int beginIndex)//按指定的起始位置獲得子字符串;
public String substring(int beginIndex,int endIndex)//按指定范圍去獲得字符串中的子字符串浪读;
public String toLowerCase()//將字符串中所有字符變?yōu)樾懀?br> public String toUpperCase()//將字符串中所有字符變?yōu)榇髮憽?/p>

  1. Unicode字符集中對一些字符必須用轉(zhuǎn)義字符昔榴。轉(zhuǎn)義字符以反斜杠()開頭,如"\n"表示換行符碘橘,"\"表示反斜杠互订。

41.當(dāng)switch后面表達(dá)式的值與任一case子句中的值都不匹配時,程序執(zhí)行default后面的語句痘拆;break語句用來在執(zhí)行完一個case分支后仰禽,使程序跳出switch語句;若沒有break語句纺蛆,當(dāng)程序執(zhí)行完匹配的case語句序列后吐葵,繼續(xù)向下執(zhí)行,向下執(zhí)行時桥氏,并不與case后面的數(shù)據(jù)進行比較温峭,而是直接執(zhí)行下面的所有語句,直到遇到break語句為止字支。

42.在JScroolPane類中凤藏,主要是通過JViewport(視口)類來實現(xiàn)內(nèi)容的滾動的奸忽。JViewport是一種特殊的對象,用于查看基層構(gòu)件揖庄,滾動條實際上就是沿著構(gòu)件移動視口栗菜,同時描繪出它能看到的內(nèi)容。

  1. Java語言為一些Listener接口提供了適配器(Adapter)類蹄梢】廖可以通過繼承事件所對應(yīng)的Adapter類,重寫需要的方法检号,無關(guān)方法不用實現(xiàn)。
    java.awt.event包中定義的事件適配器類包括以下幾個:
    1蛙酪、ComponentAdapter齐苛,構(gòu)件適配器。
    2桂塞、ContainerAdapter凹蜂,容器適配器。
    3阁危、FocusAdapter玛痊,焦點適配器。
    4狂打、KeyAdapter擂煞,鍵盤適配器。
    5趴乡、MouseMotionAdapter对省,鼠標(biāo)運動適配器。
    6晾捏、MouseAdapter蒿涎,鼠標(biāo)適配器。
    7惦辛、WindowAdapter劳秋,窗口適配器。

44.Applet顯示相關(guān)的3個方法:
1胖齐、paint()方法:Applet的paint()方法具體執(zhí)行Applet的繪制玻淑,該方法定義如下:
public void paint(Graphics g)
paint()方法有一個參數(shù)g是Graphics類的實例,該實例對象由瀏覽器生成呀伙,它包含了Applet的圖形上下文信息岁忘,通過它向Applet中顯示信息,該對象相當(dāng)于Applet的畫筆区匠。在調(diào)用paint()方法時干像,由瀏覽器將該對象傳遞給paint()方法帅腌。
2、update()方法:
public void update(Graphics g)
用于更新Applet的顯示麻汰。該方法將首先清除背景饮六,再調(diào)用paint()方法完成Applet的具體繪制嫡良。
3、repaint()方法:
public void repaint()
repaint()方法主要用于Applet的重新顯示,它調(diào)用update()方法實現(xiàn)對Applet的更新哩牍。

  1. 容器java.awt.Container是Component的子類,一個容器可以容納多個構(gòu)件疗垛,并使他們成為一個整體罢洲。
    常用的容器有Frame(窗口容器),Panel(面板容器)塑崖,Applet(java小程序的容器)七冲,Dialog(對話框容器)等。
    而Scrollbar是滾動條规婆,它是一個構(gòu)件澜躺,并不是容器。

46.對程序語言而言抒蚜,編寫程序時出現(xiàn)錯誤是不可避免的掘鄙,一般有編譯錯和運行錯兩類。Java語言認(rèn)為那些可預(yù)料和不可預(yù)料的編譯和運行時的出錯稱為異常嗡髓。在Java語言中操漠,把異常也作為一種對象,它在程序運行出錯時被創(chuàng)建饿这,異陈幔控制是Java語言處理程序出錯的有效機制。

  1. 在Java語言中蛹稍,有時一個方法生成一個異常吧黄,但該方法并不能確定如何處理此異常,如找不到文件之類的異常唆姐,必須將異常傳遞給調(diào)用方法拗慨,由調(diào)用它的方法來處理,這種時候方法用聲明異常拋出奉芦,讓異常對象可從調(diào)用棧向后傳遞赵抢,直至有相應(yīng)的方法捕獲它為止。所以當(dāng)方法遇到異常又不知如何處理時声功,應(yīng)聲明異常烦却。

48.在Java中提供了結(jié)構(gòu)化的異常處理功能,其主要是通過try...catch語句來實現(xiàn)的先巴。在Java中可以將可能產(chǎn)生異常的代碼放入到try子句中其爵,如果產(chǎn)生異常冒冬,將會執(zhí)行catch子句。如果有多個異常摩渺,則應(yīng)先處理子類異常简烤,再處理父類異常,否則后面的異常處理摇幻,將得不到執(zhí)行横侦。

  1. 在Java中,輸入一個字節(jié)流時绰姻,要實現(xiàn)DataInput接口枉侧。該接口定義在java.io包中。處理字節(jié)流的DataInputStream類實現(xiàn)了該接口狂芋。同時榨馁,DataOutput接口提供了字節(jié)輸出流的功能,RandomAccessFile類實現(xiàn)了DataInput與DataOutput這兩種接口银酗。

50.過濾流為I/O訪問提供了同步處理機制。保證在某時刻只能有一個線程訪問一個I/O流徒像。要保證讀取的內(nèi)容進行處理后能夠正確的輸出黍特,要使用過濾流(Filter stream),否則不能保證輸出數(shù)據(jù)的正確性锯蛀。

51.Applet從被加載到卸載灭衷,其被調(diào)用的方法依次如下:init()、start()旁涤、stop()翔曲、destroy()

  1. 對JFrame添加構(gòu)件有兩種方式:
    1、用getContentPane()方法獲得JFrame的內(nèi)容面板劈愚,再對其加入構(gòu)件frame.getContentPane().add(childComponent)瞳遍。
    2、建立一個Jpanel或JDesktopPane之類的中間容器菌羽,把構(gòu)件添加到容器中掠械,再用setContentPane()方法把該容器置為JFrame的內(nèi)容面板:
    Jpanel contentPane=new Jpanel();
    …//把其他構(gòu)件添加到Jpanel中
    frame.setContentPane(contentPane)注祖;//把contentPane對象設(shè)置成為frame的內(nèi)容面板猾蒂。

53.對Java對象的讀、寫的過程被稱為對象串行化是晨。任何一個對象只有它所對應(yīng)的類實現(xiàn)了Serializable接口時肚菠,才是可串行化的。因此如果要串行化某些類的對象罩缴,這些類就必須實現(xiàn)Serializable接口蚊逢。

54.在Java中可通過兩種方法來產(chǎn)生一個線程层扶。在Java中,可以通過繼承類Thread來構(gòu)造線程时捌,即通過繼承Thread類并覆蓋其中的run方法來生成一個線程怒医。同時也可以通過建立一個實現(xiàn)了Runnable接口的對象,并以其作為線程的目標(biāo)對象來建立一個線程奢讨,通過這種方法可以打破Java中單一繼承類方式的限制稚叹,在這種方法中,所有實現(xiàn)了Runnable接口的對象都是以線程方式在運行拿诸。

55.隨著發(fā)展的需要扒袖,Swing出現(xiàn)了,Swing組件幾乎都是輕量組件亩码,與重量組件相比季率,沒有本地的對等組件,不像重量組件要在它們自己的本地不透明窗體中繪制描沟,輕量組件在它們的重量組件的窗口中繪制飒泻。
Swing是由100%純Java實現(xiàn)的,Swing組件是用Java實現(xiàn)的輕量級( light-weight)組件吏廉,沒有本地代碼泞遗,不依賴操作系統(tǒng)的支持,這是它與AWT組件的最大區(qū)別席覆。

  1. ASCII是用8位表示一個字符史辙。
    unicode是用16位表示一個字符,因此unicode中漢字和英文字母占用的空間是一樣的佩伤。

57.Java中通過java.io包封裝了對文件的各種操作方法聊倔,要使用Java對文件進行操作必須包含java.io包

  1. 內(nèi)部類的特點如下:
    1生巡、內(nèi)部類的類名只能在定義它的類或程序段中或在表達(dá)式內(nèi)部匿名使用耙蔑,外部使用它時必須給出類的全名。而且孤荣,內(nèi)部類的類名不允許與包含它的類名相同纵潦。
    2、內(nèi)部類可以使用它所在的靜態(tài)成員變量和實例成員變量垃环,也可使用它所在類的方法中的局部變量邀层。
    3、內(nèi)部類可用abstract修飾定義為抽象類遂庄,也可用private或protected定義寥院。
    4、內(nèi)部類可作為其他類的成員涛目,而且可訪問它所在類的成員秸谢。
    5凛澎、除static內(nèi)部類外,不能在類內(nèi)聲明static成員估蹄。一旦內(nèi)部類聲明為static塑煎,就變成頂層類,不能再使用局部變量臭蚁。

59.十六進制數(shù)以0x開頭最铁,long型數(shù)以L(大小寫均可,一般使用大寫垮兑,因為小寫的l和數(shù)字1不易區(qū)分)冷尉。

60.對于TextField的該種形式的構(gòu)造函數(shù)來說,前一個參數(shù)是文本域中初始的字符串的顯示值系枪,而后一個是推薦的顯示寬度雀哨,以列數(shù)表示,在構(gòu)造文本域的時候會將這個大小設(shè)置為最佳大小私爷,如果容器的限制使得文本域不能顯示這么多也沒有辦法雾棺,一般來說是比這個大小大的,而且即使寬度很小衬浑,你也可以在文本域的一行中輸入很長的字符串捌浩,只要不使用回車,在超過顯示寬度后文本域會自動出現(xiàn)水平滾動條(沒有被設(shè)置為關(guān)閉嚎卫,缺省是不關(guān)閉的)嘉栓,而文本域的缺省編輯方式是可編輯的宏榕,一個文本域只能使用一種字體拓诸,這個字體可以在運行的過程中動態(tài)的改變,但是文本域中的所有字符串都將使用這個字體顯示麻昼。

61.java.io包中的抽象類奠支,其中InputStream是用于處理字節(jié)流的抽象類;FilterOutputStream是用于處理過濾流的抽象類抚芦;Reader類是用于處理字符流的抽象類倍谜;而Serializable是一個接口,用來處理對象流叉抡。

62.類文檔的內(nèi)容主要是:類層次尔崔、類及用途描述、成員變量列表褥民、構(gòu)造方法列表季春、成員方法列表、從類層次上繼承的方法列表消返、成員變量的詳細(xì)說明载弄、構(gòu)造方法詳細(xì)說明耘拇、成員方法詳細(xì)說明。

  1. 在方法中定義的局部變量在方法退出時被自動撤消宇攻,只有靜態(tài)變量不會被撤消惫叛。如果未對變量指定修釋符,在JAVA中將自動將其設(shè)置為局部變量逞刷,局部變量也叫自動變量嘉涌,對于方法外面的變量,將在對象被創(chuàng)建時一起被創(chuàng)建亲桥,其初值可通過構(gòu)造函數(shù)對其進行初始化洛心。如果方法中是一個簡單類型的形參,由于其是按值傳遞题篷,在編譯時會占用存儲空間词身,直到該對象釋放時為止。如果形參為一個類類型番枚,其參數(shù)是按地址傳遞法严,編譯時不會為其分配空間,因此該參變量不會存在于方法中葫笼。

64.Java Applet的字節(jié)碼文件必須嵌入HTML的文件中并由負(fù)責(zé)解釋HTML文件的WWW瀏覽器充當(dāng)解釋器來解釋運行深啤。因此Applet不需要main方法,但必須繼承java.awt.Applet類或javax.swing.JApplet路星,因為這兩個類實現(xiàn)了Applet程序于瀏覽器的通訊溯街。

65.在java.applet、java.awt洋丐、java.awt.image包中呈昔,包含了許多圖象支持的類和方法。在程序中圖像由一個java.Image類的對象來表示友绝。目前Java所支持的圖像格式有:GIF堤尾、JPEG、和PNG 3種迁客。其中PNG格式是JDK1.3以上版本支持的一種光柵圖像格式郭宝,它的顯示方法與其他兩格式相同。

66.由于Java是強類型語言掷漱,String不能和char粘室,int類型變量直接進行對比。但如果char和int兩類型在同一個表達(dá)式中運算卜范,系統(tǒng)是可以進行自動類型轉(zhuǎn)換的衔统,因此這兩個類型的變量可以比較。

  1. 標(biāo)識符的命名規(guī)則如下:
    (1)必須以字母、下劃線(_)或美元符($)開頭
    (2)區(qū)分大小寫
    (3)長度無限制缰冤,但不宜過長

  2. Java語言中線程的優(yōu)先級是用一個介于MIN_PRIORITY 和MAX_PRIORITY之間的整數(shù)來表示的犬缨。可以在創(chuàng)建線程后的任何時候修改線程的優(yōu)先級棉浸。

  3. 每個源文件中最多只能有一個public類怀薛。

  4. 表達(dá)式expression只能返回這個幾種類型的值:int、byte迷郑、short和char枝恋。多分支語句把表達(dá)式返回的值依次與每個case子句中的值相比較,如果遇到匹配的值嗡害,則執(zhí)行該case子句后的語句序列焚碌。

71.File類用于創(chuàng)建目錄的方法是mkdir(),用于創(chuàng)建父目錄的方法是mkdirs()霸妹。

72.Java的圖形用戶界面的最基本的組成部分就是構(gòu)件(Component)十电,構(gòu)件是一個可以以圖形化的方式顯示在屏幕上并能與用戶交互的對象,但構(gòu)件不能獨立地顯示出來叹螟,必須將構(gòu)件放在一定的容器中才可以顯示出來鹃骂。
容器Container是一個類,因為容器本身也是一個構(gòu)件罢绽,具有構(gòu)件的所有性質(zhì)畏线,因此繼承之Component類。

73.文件操作中經(jīng)常需要的是隨機訪問良价,Java中的RandomAccessFile類提供隨機訪問文件的功能寝殴,其中的seek方法實現(xiàn)了查找隨機文件記錄的功能,格式如下:void seek( long pos ); //用于移動文件指針到指定的位置

  1. HTML標(biāo)記方法用于獲取HTML文件中關(guān)于Applet的信息明垢,具體方法有:
    URL getDocumentBase():返回包含Applet的HTML文件的URL蚣常;
    URL getCodeBase():返回Applet主類的URL,它可以不同于包含Applet的HTML文件的URL袖外;
    String getparameter(string name):返回定義在HTML文件的</PARAM>標(biāo)記中指定參數(shù)的值史隆。

  2. 新線程態(tài)(New Thread):產(chǎn)生一個Thread對象就生成一個新線程魂务,當(dāng)線程處于"新線程"狀態(tài)時曼验,僅僅是一個空線程對象,它還沒有分配到系統(tǒng)資源粘姜,因此只能啟動或終止它鬓照,任何其他操作都會引發(fā)異常。
    可運行態(tài)(Runnable):start()方法產(chǎn)生運行線程所必須的資源孤紧,調(diào)度線程執(zhí)行豺裆,并且調(diào)用線程的run()方法,在這時線程處于可運行態(tài),該狀態(tài)不稱為運行態(tài)是因為這時的線程并不總是一直占用處理機臭猜。特別是對于只有一個處理機的PC而言躺酒,任何時刻只能有一個處于可運行態(tài)的線程占用處理機。Java通過調(diào)度來實現(xiàn)多線程對處理機的共享蔑歌。

76.yield():調(diào)用該方法后羹应,可以使具有與當(dāng)前線程相同優(yōu)先級的線程有運行的機會。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末次屠,一起剝皮案震驚了整個濱河市园匹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌劫灶,老刑警劉巖裸违,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異本昏,居然都是意外死亡供汛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門涌穆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來紊馏,“玉大人,你說我怎么就攤上這事蒲犬≈旒啵” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵原叮,是天一觀的道長赫编。 經(jīng)常有香客問我,道長奋隶,這世上最難降的妖魔是什么擂送? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮唯欣,結(jié)果婚禮上嘹吨,老公的妹妹穿的比我還像新娘。我一直安慰自己境氢,他們只是感情好蟀拷,可當(dāng)我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著萍聊,像睡著了一般问芬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寿桨,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天此衅,我揣著相機與錄音,去河邊找鬼。 笑死挡鞍,一個胖子當(dāng)著我的面吹牛骑歹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墨微,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼陵刹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了欢嘿?” 一聲冷哼從身側(cè)響起衰琐,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炼蹦,沒想到半個月后羡宙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡掐隐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年狗热,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虑省。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡匿刮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出探颈,到底是詐尸還是另有隱情熟丸,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布伪节,位于F島的核電站光羞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怀大。R本人自食惡果不足惜纱兑,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望化借。 院中可真熱鬧潜慎,春花似錦、人聲如沸蓖康。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钓瞭。三九已至驳遵,卻和暖如春淫奔,著一層夾襖步出監(jiān)牢的瞬間山涡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸭丛,地道東北人竞穷。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像鳞溉,于是被迫代替她去往敵國和親瘾带。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一:java概述: 1熟菲,JDK:Java Development Kit看政,java的開發(fā)和運行環(huán)境,java的開發(fā)...
    慕容小偉閱讀 1,774評論 0 10
  • 面向?qū)ο笾饕槍γ嫦蜻^程抄罕。 面向過程的基本單元是函數(shù)允蚣。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,046評論 0 4
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,217評論 0 2
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應(yīng)用嚷兔。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,578評論 1 114
  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit做入,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,537評論 0 6