freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java初級(jí)知識(shí)點(diǎn)大總結(jié)-資料下載頁

2025-11-08 16:14本頁面

【導(dǎo)讀】用java語言可以編寫applet小程序,可以將這些小程序嵌入到網(wǎng)頁中,也可以編寫大。型應(yīng)用程序,編寫GUI實(shí)用程序,編寫網(wǎng)絡(luò)應(yīng)用程序。Java的誕生,1941年java的創(chuàng)始人是SUNMicroSystem公司的JameGosling、Bill. joe等人創(chuàng)始的,真正形成是在1942年。序),另一類是通常的對(duì)立應(yīng)用程序,叫做javaapplication。程序進(jìn)一步細(xì)分為:一時(shí)控制臺(tái)應(yīng)用程序。它僅支持將字符輸出。組件為基礎(chǔ),為WEB為基礎(chǔ)的應(yīng)用程序。Java平臺(tái)由兩部分組成:一是用于實(shí)現(xiàn)軟件的假想計(jì)算機(jī),叫做java虛擬機(jī);Java解釋器:檢查并解釋該程序的源代碼,以確定該字節(jié)碼的未曾被篡改。并可以順利執(zhí)行,然后在執(zhí)行字節(jié)代碼在虛擬機(jī)內(nèi)規(guī)定的動(dòng)作。JDK是java的核心,包括java的運(yùn)行環(huán)境,一堆java工具和java基礎(chǔ)的類庫()。它也包含JRE,但是不是系統(tǒng)內(nèi)部公共的。安裝JDK的時(shí)候文件夾的命名不支持有空格、標(biāo)點(diǎn)。案,漢字和字母均看作是一個(gè)字符,占兩個(gè)字節(jié);Java通常用小寫字母或單詞作為變量名。碼塊就是兩個(gè)相對(duì)的“{}”之間部分。

  

【正文】 omponent對(duì)象嵌套在 Container類的對(duì)象中,容器主要是負(fù)責(zé)布置它所包含的組件的位置。 3) 面板( panel) Panel類是 Container類的具體子類,它沒有添加任何新方法,只是簡單實(shí)現(xiàn)了 Con tainer類。 4) 窗口( window) 窗口類產(chǎn)生一個(gè)頂級(jí)窗口,頂級(jí)窗口不包含在任何別的對(duì)象中,它直接出現(xiàn)在桌面上。 5) 框架( Frame) Frame類封裝了窗口通常所需要的一切組件,它是 window類的子類,并且擁有標(biāo)題欄、菜單欄、邊框以及可以調(diào)整大小的角。 6) 畫布( Canvas) Canvas類封裝了一個(gè)你可以用來繪制的空白窗口。 二、 創(chuàng)建框架 用 Frame創(chuàng)建窗口,可以是有標(biāo)題也可以是無標(biāo)題的。 注意:窗口的大小不能在創(chuàng)建窗口時(shí)指定,必須在窗口被創(chuàng)建后再設(shè)置窗口的大小。 1) 設(shè)置窗口大小 用 setSize()設(shè)置窗 口大小 2) 隱藏和顯示窗口 當(dāng)一個(gè)窗口創(chuàng)建后,這個(gè)窗口默認(rèn)是不可見的,除非你用 setVisible()方法。setVisible( boolean flag)如果參數(shù)為 true,則是可見的,否則是隱藏。 3) 設(shè)置窗口標(biāo)題 可以通過 setTitle()方法來改變一個(gè) frame窗口的標(biāo)題。 布局管理器的使用 布局:就是容器中組件的擺放方式,常用的布局管理器有: 1)FlowLayout(順序)(默認(rèn)): 將組件依次擺放,每個(gè)組件若不設(shè)置其大小都將被壓縮到最小尺寸。 2)BorderLayout(邊界布局): 將組件按 north,south,west,east,center 五個(gè)位置來擺放。 3)CardLayout(卡片布局): 前后依次排列,每次只顯示一個(gè)卡片。 4)GridLayout(網(wǎng)格布局): 將顯示區(qū)域劃分為若干行列,每個(gè)組件占一格。 事件處理基礎(chǔ) 能產(chǎn)生事件的組件叫做事件源(如按鈕),可給事件源注冊一個(gè)事件監(jiān)聽器,當(dāng)事件源發(fā)生事件時(shí),事件監(jiān)聽器就代替事件源對(duì)發(fā)生的事件進(jìn)行處理,這就是所謂的委托事件處理機(jī)制。 注意:事件監(jiān)聽器不一定是包容事件源的容器對(duì)象,只要一個(gè)對(duì)象實(shí)現(xiàn)了事件監(jiān)聽器接口就能成為事件監(jiān)聽 器。這樣處理可使程序中的事件處理代碼與 GUI 代碼分離,有利于優(yōu)化程序結(jié)構(gòu)。在程序中編寫“事件處理”程序段時(shí),通??梢苑譃橐韵聨讉€(gè)步驟: ( 1)確定事件類型 ( 2)為部件增加一個(gè)該事件的監(jiān)測器:通常名為 XXXListener。這些接口包含在 包中 ( 3)增加事件處理程序 總體來說, Java 事件處理有 3 部分主要內(nèi)容: 事件對(duì)象:表示事件的內(nèi)容 事件源:哪個(gè)控件上發(fā)生了事件 Listener:事件發(fā)生了誰來處理 AWT的事件繼承層次 要能夠 讓圖形界面接收用戶的操作,就必須給各個(gè)組件加上事件處理機(jī)制。在事件處理的過程中,主要涉及三類對(duì)象: Event事件,用戶對(duì)界面操作在 java語言上的描述,以類的形式出現(xiàn),例如鍵盤操作對(duì)應(yīng)的事件類是 KeyEvent。 Event Source事件源,事件發(fā)生的場所,通常就是各個(gè)組件,例如按鈕 Button。 Event handler事件處理者,接收事件對(duì)象并對(duì)其進(jìn)行處理的對(duì)象。 由于同一個(gè)事件源上可能發(fā)生多種事件,因此 java采取了授權(quán)處理機(jī)制 (Delegation Model),事件源可以把在其自身 所有可能發(fā)生的事件分別授權(quán)給不同的事件處理者來處理。 比如在 Canvas對(duì)象上既可能發(fā)生鼠標(biāo)事件,也可能發(fā)生鍵盤事件,該 Canvas對(duì)象就可以授權(quán)給事件處理者一來處理鼠標(biāo)事件,同時(shí)授權(quán)給事件處理者二來處理鍵盤事件。有時(shí)也將事件處理者稱為監(jiān)聽器,主要原因也在于監(jiān)聽器時(shí)刻監(jiān)聽著事件源上所有發(fā)生的事件類型,一旦該事件類型與自己所負(fù)責(zé)處理的事件類型一致,就馬上進(jìn)行處理。授權(quán)模型把事件的處理委托給外部的處理實(shí)體進(jìn)行處理,實(shí)現(xiàn)了將事件源和監(jiān)聽器分開的機(jī)制。事件處理者(監(jiān)聽器)通常是一個(gè)類,該類如果要能夠處理某種類型的事件 ,就必須實(shí)現(xiàn)與該事件類型相對(duì)的接口。例如例 ButtonHandler之所以能夠處理 ActionEvent事件,原因在于它實(shí)現(xiàn)了與 ActionEvent事件對(duì)應(yīng)的接口 ActionListener。每個(gè)事件類都有一個(gè)與之相對(duì)應(yīng)的接口。 事件監(jiān)聽器接口 將事件源對(duì)象和事件處理器(事件監(jiān)聽器)分開。 使用授權(quán)處理模型進(jìn)行事件處理的一般方法歸納如下: 1) 對(duì)于某種類型的事件 XXXEvent, 要想接收并處理這類事件,必須定義相應(yīng)的事件監(jiān) 聽器類,該類需要實(shí)現(xiàn)與該事件相對(duì)應(yīng)的接口 XXXListener; 2) 事件源實(shí)例化以后,必須進(jìn)行授權(quán),注冊該類事件的監(jiān)聽器,使用 addXXXListener (XXXListener ) 方法來注冊監(jiān)聽器。 Adepter(適配器 )類 Java語言為一些 Listener接口提供了適配器 (Adapter)類。可以通過繼承事件所對(duì)應(yīng)的Adapter類,重寫需要方法,無關(guān)方法不用實(shí)現(xiàn)。 事件適配器為我們提供了一種簡單的實(shí)現(xiàn)監(jiān)聽器的手段 , 可以縮短程序代碼。但是,由于 java的單一繼承機(jī)制,當(dāng)需要多種監(jiān)聽器或此類已有父類時(shí),就無法采用事件適配器了 Swing概述 Swing 和 AWT 的最大差別在于 Swing 組件類不帶本地代碼,因此不受操作系統(tǒng)平臺(tái)的限制,具有比 AWT 組件更強(qiáng)的功能。 Swing 按鈕類和標(biāo)簽類除了顯示文本標(biāo)題外還可以顯示圖像標(biāo)題,可以為 Swing 容器加上邊框 Swing 組件能自動(dòng)適應(yīng)操作系統(tǒng)的外觀,而 AWT 組件總是保持相同外觀Swing 組件不一定非得是矩形的,可以把按鈕設(shè)計(jì)成圓形可以調(diào)用 Swing 組件的方法心跡其外觀和行為增加了一個(gè)豐富的高層構(gòu)件集合,如表格( JTable)、樹 (JTree)。 一、特點(diǎn): 類的屬性被命名為 xxx,則相應(yīng)的的方法命名為 :getXxx()、 setXxx()、 isXxx() Swing 使用同 AWT 相同的事件模型。處理 Swing 中的事件時(shí)除了使用 包外,還要用到 包大多數(shù)情況下在老的 AWT 組件前加一個(gè)“ J”即為 Swing 組件 、 二、 Swing 組件的分類 頂層容器:包括 JFrame、 JApplet、 JDialog、 Jwindow 普通容器:包括 JPanel、 JScrollPane、 JtablePane 特殊容器:包括 JLayeredPane、 JRootPane、 JtoolBar 基本控件: JButton、 JCombox、 JList、 JMune、 JTextFiled 等 不可編輯信息組件:如 JLabel、 JprogresserBar 可編輯信息組件:如 JTextFiled、 JTree、 JFileChooer、 JTable 第十五章 多線程編程(一) 線程的基礎(chǔ)概念和原理 線程也稱為輕型進(jìn)程( LWP),是比進(jìn)程更小的運(yùn)行單位,一個(gè)進(jìn)程可以被劃分成多個(gè)線程。當(dāng)一個(gè)程序執(zhí)行多線程時(shí),可以運(yùn)行兩個(gè)或多個(gè)由同一個(gè)程序啟動(dòng)的任務(wù)。這樣一個(gè)程序 可以使得多個(gè)活動(dòng)任務(wù)同時(shí)發(fā)生。 與進(jìn)程不同的是,同類多線程共享一塊內(nèi)存空間和一組系統(tǒng)資源,所以系統(tǒng)創(chuàng)建多線程開銷相對(duì)較小。 線程的狀態(tài) 線程有創(chuàng)建( New)、可運(yùn)行( Runnable)、運(yùn)行中( Running)、掛起( Not Runnable)、死亡( Dead) 5 種狀態(tài)。 一、可運(yùn)行狀態(tài) (Runnable) Thread MyThread=new Thread() ()。 這樣該線程處于可運(yùn)行 (Runnable)狀態(tài),注意,這狀態(tài)并不是運(yùn)行中狀態(tài)(Running),因?yàn)榫€ 程也許實(shí)際并未真正運(yùn)行 (因很多計(jì)算機(jī)是單 CPU)。 當(dāng)一個(gè)線程正在運(yùn)行時(shí),它是可運(yùn)行的,并也是當(dāng)前正運(yùn)行的線程。 二、不可運(yùn)行狀態(tài) (Not Runnable) 1)當(dāng)下面四種情況發(fā)生時(shí),線程就是進(jìn)入不可運(yùn)行狀態(tài): ( 1)調(diào)用了 sleep()方法 ( 2)調(diào)用了 suspend()方法 ( 3)為等候一個(gè)條件變量,線程調(diào)用 wait()方法 ( 4)輸入輸出流中發(fā)生線程阻塞 2)對(duì)于上面四種情況,都有特定的返回可運(yùn)行狀態(tài)的方法與之對(duì)應(yīng),對(duì)應(yīng)方法如下: ( 1)如果線程處于睡眠狀態(tài)中, sleep()方法中的參數(shù)為休息時(shí)間,當(dāng) 時(shí)間過去后,線程即為可運(yùn)行的。 ( 2)如果一線程被掛起,須由其他線程調(diào)用 resume()方法來恢復(fù)該線程的執(zhí)行。 ( 3)如果線程在等待條件變量,那么要停止等待的話,要該條件變量所在的對(duì)象調(diào)用 notify(), notifyAll()方法。 ( 4) 如果在 I/O 流中發(fā)生線程阻塞,則特定的 I/O 指令將結(jié)束這種不可運(yùn)行狀態(tài)。 三、死亡狀態(tài) (Dead) 一般可通過兩種方法實(shí)現(xiàn):自然撤消或是被停止。 四、控制線程的狀態(tài) 1)掛起一個(gè)線程: suspend( )方法 ():將 t 暫停執(zhí)行,必須由其他線程調(diào)用 ()恢復(fù),不提倡使用該方法,因?yàn)槿菀自斐伤梨i。 2)停止一個(gè)線程: stop( )方法 當(dāng)線程完成運(yùn)行并結(jié)束后,將不能再運(yùn)行。另不可用 ()強(qiáng)行終止線程。注:這并沒有消滅這個(gè)線程,只是停止線程的執(zhí)行。但這個(gè)線程不能用 ()重新啟動(dòng)。不提倡采用這種方法,易造成線程的不一致。要通過設(shè)置 flag 通知一個(gè)線程應(yīng)該結(jié)束。 3)線程休眠: sleep(long )方法 ()使一個(gè)線程暫停運(yùn)行一段固定時(shí)間。 4)連接線程: join( )方法 ()使當(dāng) 前的線程等待,直到 t 結(jié)束為止,線程恢復(fù)到可運(yùn)行狀態(tài)。 三種調(diào)用格式: ( 1) join():如當(dāng)前線程發(fā)出調(diào)用 (),則當(dāng)前線程將等待線程 t 結(jié)束后再繼續(xù)執(zhí)行。 ( 2) join(long millis):如當(dāng)前線程發(fā)出調(diào)用 (long millis),則當(dāng)前線程將等待線程 t 結(jié) 束或最多等待 mills 毫秒后再繼續(xù)執(zhí)行。 ( 3) join(long millis,int nanos):如當(dāng)前線程發(fā)出調(diào)用 (long millis,int nanos),則當(dāng)前線 程將等待線程 t 結(jié)束 或最多等待 mills 毫秒+ nanos 納秒后再繼續(xù)執(zhí)行。 5)暫停(退讓)線程: yield( )方法(只讓給同優(yōu)先級(jí)運(yùn)行) 調(diào)用 ()方法可暫停當(dāng)前運(yùn)行線程,但處于可運(yùn)行狀態(tài),讓同優(yōu)先級(jí)線程先運(yùn)行。若沒 有同等優(yōu)先級(jí)的線程是可運(yùn)行狀態(tài), yield 方法將什么也不做。 6)中斷線程: interrupt( )方法 如果一個(gè)線程 t 在調(diào)用 sleep(), join(), wait()方法被阻塞時(shí),則 ()方法將使 t 的中斷狀態(tài)被清除,中斷 t 的阻塞狀態(tài),并且將接收到 InterruptException 異常。 一個(gè)線程可以通過獲取另一個(gè)線程的引用,調(diào)用該線程的 interrupt()方法來中斷另一個(gè) sleep或 wait 線程的執(zhí)行 7)了解線程的狀態(tài): isAlive( )方法 返回 true 則線程處于 Runnable 或 Not Runnable 狀態(tài)(即已啟動(dòng)但還沒有運(yùn)行結(jié)束),返回 false 則說明線程處于 New Thread 或 Dead 狀態(tài) 創(chuàng)建線程 一、建立一個(gè)線程需要完成三件事: 1)建立一個(gè)虛擬的 CPU 2) 給出線程的執(zhí)行代碼 3)提供代碼所操作的數(shù)據(jù) 二、兩種方法可以創(chuàng)建 線程:一種方法是通過繼承線程類 Thread 來創(chuàng)建線程類;另一種方法是建立一個(gè)實(shí)現(xiàn) Runnable 接口的類一創(chuàng)建線程 。 三、通過繼承 Thread 類創(chuàng)建線程 繼承 Thread 類這種方法中,需要覆蓋 run( )方法來提供線程的執(zhí)行代碼,定義Thread 類的成員變量來提供線程的數(shù)據(jù)。線程執(zhí)行時(shí),從它的 run( )方法中開始執(zhí)行,run()方法是線程執(zhí)行的起點(diǎn)。 說明: 由繼承 Thread 創(chuàng)建的子類,必須覆蓋 run 方法,因?yàn)?run 方法是 abstact 抽象方法。 四、通過 Runnable 接口創(chuàng)建線 程 如果是 Applet 類應(yīng)不能再繼承 Thread 類 (不能多繼承 ),這時(shí)可以通過接口Runnable 直接創(chuàng)建線程對(duì)象。接口中只聲明了一個(gè)未實(shí)現(xiàn)的 run 方法。 線程體的構(gòu)造方法: public Thread([ThreadGroup group][,Runnable target][,String name]) 其中 group 指明該線程所屬的線程組, target 是執(zhí)行線程體的目標(biāo)對(duì)象,它必須實(shí)現(xiàn)接口 Runnable, name 則為線程名。 這三個(gè)參數(shù)均可任意沒有。 任何實(shí)現(xiàn)接口 Runnable 的對(duì)象 都可以作為一個(gè)線程的目標(biāo)對(duì)象,類 Thread 本身也實(shí)現(xiàn)了接口 Runnable,因此我們可以通過兩種方法實(shí)現(xiàn)線程體。 ( 1)定義一個(gè)線程類,它繼承類 Thread 并重寫其中的方法 run(),這時(shí)在初始化這個(gè)類的實(shí)例時(shí),目標(biāo)對(duì)象 target 可為 null ( 2)提供一個(gè)實(shí)現(xiàn)接口 Runnable 類作為線程的目標(biāo)對(duì)象,在初始化一個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1