1 一個Java源程序是由若干個類 組成。
2 class 是Java的關鍵字,用來定義類。
3 Java應用程序中有多個類時,java命令后的類名必須是包含了 main 方法的那個類的名字。
4 一個Java應用程序必須且只有一個類含有 main 方法。
5 在一個Java應用程序中main方法必須被說明為 public static void 。
6 Java中所有程序都使用方法,應用程序以 main 方法開始。
7 Java源文件中有多個類,但只能有一個類是 public 類。
8 Java源程序編譯后生成的字節碼文件擴展名為 class 。
9 用來標識類名、變量名、方法名、類型名、數組名、文件名的有效字符序列稱為標識符 。
10 Java語言規定標識符由字母、下劃線、美元符號和數字組成,并且第一個字符不能是數字 。
11 關鍵字 就是Java語言中已經被賦予特定意義的一些單詞,不可以把這類詞作為名字來用。
12 使用關鍵字 boolean 來定義邏輯變量。
13 關鍵字 就是Java語言中已經被賦予特定意義的一些單詞。
14 結構化程序設計的基本數據類型包括邏輯類型 、整數類型、字符類型、浮點類型。
15 Java中byte型數組在內存中的存儲形式是補碼 。
16 對于int型變量,內存分配 4 個字節。
17 對于byte型變量,內存分配 1 個字節。
18 對于long型變量,內存分配 8 個字節。
19 對于short型變量,內存分配 2 個字節。
20 結構化程序設計的基本數據類型包括整數類型 、邏輯類型、字符類型、浮點類型。
21 使用關鍵字 char 來定義字符變量。
22 結構化程序設計的基本數據類型包括字符類型 、邏輯類型、整數類型、浮點類型。
23 java中,浮點型變量的類型有float和 double 兩種。
24 對于float型變量,內存分配 4 個字節。
25 對于double型變量,內存分配 8 個字節。
26結構化程序設計的基本數據類型包括字符類型、邏輯類型、整數類型、浮點類型 。
27 Java使用 Unicode 字符集。
28 混合運算中不同類型的數據先轉化為同一類型,然后運算,其中不包括邏輯類型 和字符類型。
29 混合運算中不同類型的數據先轉化為同一類型,然后運算,其中不包括字符類型 、邏輯類型。
30 當把級別高的變量的值賦予級別低的變量時,必須使用強制類型 轉換。
31 Java中關系運算符的運算結果是 boolean 型。
32 Java中邏輯運算符的操作元必須是 boolean 型數據。
33 整數類型數據在內存中以二進制 的方式表示。
34 Java語言的控制語句有3種類型,即條件語句、循環語句 、和轉移語句。
35 Java中有兩種類型的控制語句即if和 switch 。
36 Java語言的控制語句有3種類型,即條件語句 、循環語句、和轉移語句。
37 Java中的語句可分為方法調用語句、表達式語句、復合語句、控制語句 和package語句和import語句。
38 Java中的語句可分為方法調用語句、表達式語句、符合語句、控制語句、package語句和 import 語句。
39 在同一個switch語句中,case后的常量值 必須互不相同。
40 do-while循環和while循環的區別是 do-while循環體至少被執行一次 。
41 在循環體中,如果想結束本次循環可以用 continue 語句。
42 在循環體中,如果想跳出循環,結束整個循環可以用 break 語句。
43 面向對象編程序主要有封裝性 、繼承性、多態性的特點。
44 面向對象編程序主要有封裝性、繼承性、 、多態性的特點。
45 面向對象編程序主要有封裝性、繼承性、多態性 的特點。
46 類 是組成Java程序的基本要素,封裝了一類對象的狀態和方法。
47 類的實現包括兩部分:類聲明和類體 。
48 類 是組成Java程序的基本要素
49 類體有兩部分構成:一部分是變量的定義,另一部分是方法 的定義。
50 類體有兩部分構成:一部分是變量 的定義,另一部分是方法的定義。
51 在類體中,變量定義部分所定義的變量稱為類的成員變量 。
52 成員變量在整個類內都有效,局部 變量只在定義它的方法內有效。
53 Java中成員變量又分為實例成員變量和類成員變量 。
54 Java中成員變量又分為實例成員變量 和類成員變量。
55 寫類的目的是為了描述一類事物共有的屬性 和功能。
56 寫類的目的是為了描述一類事物共有的屬性和功能 。
57 成員變量和局部變量的類型可以是Java中的任何一種數據類型 。
58 用修飾符 static 說明的成員變量是類變量。
59 變量的名字與成員變量的名字相同,則成員變量被隱藏 ,該成員變量在這個方法內暫時失效。
60 用修飾符static說明的成員變量是類變量 。
61 如果局部變量的名字與成員變量的名字相同,成員變量 將被隱藏。
62 方法定義包括兩部分:方法聲明 和方法體。
63 在Java中,當一個方法不需要返回數據時返回類型必須是 void 。
64 方法重載 是指,一個類中可以有多個方法具有相同的名字和類型,但這些方法的參數必須不同。
65 在Java程序語言中,它允許在一個class中有幾個方法,都有相同的名字,這種用法稱為方法重載 。
66 構造方法 是一種特殊方法,它的名字必須與它所在的類的名字完全相同,并不返回任何數據類型。
67 Java中類的方法分為實例方法 和類方法。
68 Java中類的方法分為實例方法和類方法 。
69 因為類體的內容由成員變量的定義和成員方法的定義兩部分組成,對成員變量的操作只能放在成員方法 中。
70 java中構造 方法與類名相同,沒有返回值,在創建對象實例時由new運算符自動調用。
71 在類方法中只能調用類變量和類方法,不能調用實例 方法。
72 實例方法既能對類變量操作也能對實例變量操作,而類方法只能對類變量 進行操作。
73 Java中類 是創建對象的模板。
74 當使用一個類創建了一個對象 時,我們也說給出了這個類的實例。
75 Java中用類創建一個對象包括對象的聲明和為對象分配內存 兩個步驟。
76 對象聲明的一般格式為類名 對象名 。
77 一個類通過使用 new 運算符可以創建多個不同對象,這些對象將分配不同得內存空間。
78 一個類通過使用new運算符和類的構造方法 為聲明的對象分配內存。
79 對象創建完后,通過使用運算符“.”,對象可以實現對變量的訪問和方法 的調用。
80 Java中不同對象的實例 變量將被分配不同的內存空間。
81 Java中如果類中的成員變量有類 變量,那所有的對象的給這樣的變量分配給相同的一處內存。
82 類方法和實例方法的區別在于類方法不但可以由對象調用還可以直接由類名 調用,而實例方法卻不可以。
83 類方法 方法不但可以由對象調用還可以直接由類名調用,而實例方法卻不可以。
84 類體中的方法分為:實例 方法和類方法。
85 類體中的方法分為:實例方法和類 方法
86 package 語句作為java源文件的第一條語句指明該源文件定義的類所在的包。
87 在java程序中,系統會自動引入java.lang這個包,因此不需要再使用 import 語句引入該包。
88 在java程序中,為了使程序能夠使用自定義的包,必須在 classpath 環境變量中指明自定義包的位置。
89 java.lang 包是java語言的核心類庫,它包含了運行java程序必不可少的系統類。
90 為了能使用Java提供的類,我們可以使用語句 import 來引入所需的類。
91 Java中用 private 修飾的成員變量和方法稱為私有變量和私有方法。
92 Java中不用修飾的成員變量稱為友好 變量。
93 訪問權限是私有 變量,只能在本類中使用,不能在類外使用。
94 Java中用 public 修飾的成員變量和方法稱為共有變量和共有方法。
95 訪問權限是共有 變量,不但在本類中使用,還可以在任何另外一個類中使用。
96 訪問權限是友好 變量,只能在本類和與本類同一個包中的其他類使用。
97 繼承 是一種由已有的類創建新類的機制。
98 Java中由繼承而得到的類稱為子類 ,被繼承的類稱為父類。
99 Java中不支持多重 繼承。
100 在類的聲明中,通過使用關鍵字 extends 來創建一個類的子類。
101 Java中一個類可以有 1 個父類。
102 如果一個類的聲明中沒有使用extends關鍵字,這個類被系統默認為是 Object 類的子類。
103 子類自然地繼承了其父類中不是 private 的成員變量作為自己的成員變量。
104 當子類中定義的成員變量和父類中的成員變量同名時,子類的成員變量隱藏 了父類的成員變量。
105 子類通過成員變量的隱藏和方法的重寫 可以把父類的狀態和行為改變為自身的狀態和行為。
106 對于重寫或繼承的方法,Java運行時系統根據調用方法的實例 的類型來選擇調用哪個方法。
107 對于子類創建的一個對象,如果子類重寫了父類的方法,則運行時系統調用子類 的方法。
108 對于子類創建的一個對象,如果子類繼承了父類的方法,未重寫,則運行時調用父類 的方法。
109 在Java語言中多態性體現在由方法重載實現的靜態多態性和方法重寫 實現的動態多態性。
110 final 類不能被繼承,即不能有子類。
111 abstract 類不能創建對象,必須產生其子類,由子類創建對象。
112 如果一個方法被修飾為 final 方法,則這個方法不能被重寫。
113 對于 abstract 方法,只允許聲明,而不允許實現。
114 如果一個方法被修飾為final方法,則這個方法不能被重寫 。
115 如果一個類是一個abstract類的子類,它必須具體實現父類 的abstract方法。
116 局部變量的名字與成員變量的名字相同,若想在該方法內使用成員變量,必須使用關鍵字 this 。
117 在關鍵字中能代表當前類或對象本身的是 this 。
118 如果在子類中想使用被子類隱藏的父類的成員變量或方法可以使用關鍵字 super 。
119 子類如果想用父類的構造方法,必須在子類的構造方法中使用,并且必須使用關鍵字 super 來表示。
120 如果在子類中想使用被子類隱藏了的父類成員變量或方法就可以使用關鍵字 super 。
121 Java中為了克服單繼承 的缺點,使用了接口,一個類可以實現多個接口。
122 接口 就是方法定義和常量值的集合。
123 使用關鍵字 interface 來定義接口。
124 接口定義包括接口的聲明和接口體 。
125 一個類通過使用關鍵字 implements 聲明自己實現一個或多個接口。
126 如果一個類實現了某個接口,那么這個類必須實現該接口的所有方法 。
127 接口中的方法被默認的訪問權限是 public 。
128 接口的定義包括接口聲明 和接口體。
129 定義接口時,接口體中只進行方法的聲明,不允許提供方法的實現 。
130 如果接口中的方法的返回類型不是void的,那么在類中實現該接口的方法時,方法體至少要有一個 return 語句。
131 內部類 指那些類定義代碼被置于其他類定義中的類。
132 泛型 是Java SE5.0的新特性。
133 創建對象常用的方法就是使用 new 運算符和類的構造方法。
134 把Java應用程序中涉及到的類壓縮成一個 jar 文件。
135 數組 是相同類型的數據按順序組成的一種引用數據類型。
136 Java中定義數組后通過數組名 加數組下標,來使用數組中的數據。
137 Java中聲明數組包括數組的名字、數組包含的元素的數據類型 。
138 聲明數組 僅僅是給出了數組名字和元素的數據類型,要想真正的使用數組還必須為它分配內存空間。
139 一維數組通過下標符訪問自己的元素,需要注意的是下標從 0 開始。
140 創建數組后,系統會給每一個數組元素一個默認的值,如float型是 0 。
141 聲明數組僅僅是給出了數組名字和元素的數據類型,要想真正地使用數組還必須為它分配內存空間 。
142 數組聲明后,必須使用 new 運算符分配內存空間。
143 Java中使用java.lang包中的 String 類來創建一個字符串變量,因此字符串變量是類類型變量,是一個對象。
144 創建一個字符串時,使用String類的構造方法 。
145 String 類是不可變類,對象所包含的字符串內容永遠不會被改變。
146 StringBuffer 類是可變類,對象所包含的字符串內容可以被添加或修改。
147 使用String類的 length() 方法可以獲取一個字符串的長度。
148 可以使用String類的 startsWith(String s) 方法判斷一個字符串的前綴是否是字符串s。
149 可以使用String類的 endsWith(String s) 方法判斷一個字符串的后綴是否是字符串s。
150 可以使用String類的 equals(String s) 方法比較一字符串是否與字符串s相同。
151 字符串調用 indexOf(String s) 方法從當前字符串的頭開始檢索字符串s,并返回首次出現
s 的位置。
152 字符串調用indexOf方法檢索字符串s,并返回首次出現s 的位置。如果沒有檢索到字符串s,該方法返回的值是 -1 。
153 一個字符串s 通過調用方法 trim() 得到一個字符串對象,該字符串對象是s 去掉前后空格后的字符串。
154 java.lang 包中的Integer 類調用其類方法:
parseInt 可以將“數字”格式的字符串,如“12387”,轉化為int 型數據。
155 可以使用java.lang包中的 Integer 類將形如“12387”的字符串轉化為int型數據。
156 可以使用java.lang包中的 Long 類將字符串轉化為long型數據。
157 可以使用String類直接調用 valueOf 方法將數值轉化為字符串。
158 StringBuffer類調用方法, toString() 返回緩沖區內的字符串。
159 Object類有一個public方法是 toString ,一個對象通過調用該方法可以獲得該對象的字符串表示。
160 Object 類是所有Java 類的最終祖先,如果一個類在聲明時沒有包含extends 關鍵詞,那么這個類直接繼承Object類。
161 對于一個已經不被任何引用變量引用的對象,當垃圾回收器準備回收該對象所占用的內存時,將自動調用該對象的 finalize() 方法。
162 每個Java 基本類型在java.lang 包中都有一個相應的包裝 類,把基本類型數據轉換為對象。
163 在Java 集合中不能存放基本類型數據,如果要存放數字,應該使用包裝類型 。
164 Character 類和Boolean 類直接繼承Object 類,除此以外,其他包裝類都是 java.Number 的直接子類。
165 包裝類都覆蓋了Object 類的 toString() 方法,以字符串的形式返回包裝對象所表示的基本類型數據。
166 所有的包裝類都是final 類型,因此不能創建它們的子類 。
167 Math 類提供了許多用于數學運算的靜態方法。
168 Math 類是 final 類型的,因此不能有子類。
169 Random 類提供了一系列用于生成隨機數的方法。
170 Date 類以毫秒數來表示特定的日期。
171 java.text.DateFormat 抽象類用于定制日期的格式, 它有一個具體子類為 SimpleDateFormat 。
172 BigDecimal 類能夠進行浮點數的精確加法、減法和乘法運算,對于浮點數的除法運算,可以滿足用戶指定的精度。
173 異常處理 方法是一種非常有用的輔助性程序設計方法。采用這種方法可以使得在程序設計時將程序的正常流程與錯誤處理分開,有利于代碼的編寫和維護。
174 按異常在編譯時是否被檢測來分,異常可以分為兩大類:受檢異常與非受檢異常 。
175 程序可以處理的異常對應的類是 Exception 及其子類。
176 拋出異常可以利用 throw 語句。
177 處理異常的方式有兩種:捕捉異常 方式與轉移異常方式。
178 捕捉異常方式是通過 try-catch-finally 結構處理異常。
179 在try-catch-finally 結構中, finally 語句塊一般總是會被執行,不管有沒有異常產生。
180 異常處理流程中,其中 try 代碼塊包含了可能發生異常的程序代碼。
181 異常處理流程中,其中 catch 代碼快緊跟在try 代碼塊后面,用來捕獲并處理異常。
182 異常處理流程中,其中 finally 代碼塊用于釋放被占用的相關資源。
183 對于程序中可能出現的受檢查異常,要么用try…catch 語句捕獲并處理它,要么用 throw 語句拋出它,Java 編譯器會對此做檢查。
184 File 對象調用方法 mkdir() 創建一個目錄。
185 文件輸入流(輸入流的子類)提供對文件的存取。為了讀取文件,使用文件輸入流構造方法來打開 一個到達該文件的輸入流。
186 輸入流試圖要打開的文件可能不存在,就出現I/O 錯誤,Java 生成一個出錯信號,它使用一個 IOException 對象來表示這個出錯信號。
187 read 方法給程序提供一個從輸入流中讀取數據的基本方法。
188 read 方法從輸入流中順序讀取源中的單個字節數據,該方法返回字節值(0~255 之間的一個整數),如果到達源的末尾,該方法返回 -1 。
189 雖然Java 在程序結束時自動關閉所有打開的流,但是當我們使用完流后,顯式地關閉 任何打開的流仍是一個良好的習慣。
190 在操作系統把程序所寫到輸出流上的那些字節保存到磁盤上之前,內容有時被存放在內存緩沖區中,通過調用 close() 方法,可以保證操作系統把流緩沖區的內容寫到它的目的地。
191 java.lang 包中的System 類有兩個重要的類成員:in 和 out ,分別是輸入流和輸出流類型的對象。
192 FileInputStream 使用字節 讀取文件,不能直接操作Unicode 字符。
193 RandomAccessFile 類中用 seek 方法,來定位RandomAccessFile 流的讀寫位置。
194 Java的抽象窗口工具包中包含了許多類來支持 GUI 設計。
195 JButton類、JLabel類是包javax.swing中的類,并且是javax.swing包中的 JComponent 的子類。
196 Java把有JComponent類的子類或間接子類創建的對象稱為一個swing組件 。
197 javax.swing包的類 JPanel 是用來建立面板的。
198 javax.swing包中的 JScrollPane 類也是JContainer類的子類,該類創建的對象也是一個容器,稱為滾動窗口。
199 javax.swing包中的 JFrame 類或子類所創建的一個對象就是一個窗口。
200 Java程序中可以向容器添加組件,一個容器可以使用 add() 方法將組件添加到該容器中。
201 在組件類的一些常用方法中 setBackground 方法是設置組件的背景顏色。
202 在組件類的一些常用方法中 setForeground 方法是設置組件的前景顏色。
203 Java中JFrame類的 setTitle 方法是用來設置窗口的名字。
204 JFrame類創建的對象是一個窗口容器,它默認布局是 BorderLayout 布局。
205 JPanel 的默認布局管理器是 FlowLayout 。
206 Java的java.awt包中定義了5種布局類,分別是FlowLayout、BorderLayout、CardLayout、 GridLayout 和GridBagLayout。
207 Java的java.awt包中定義了5種布局類,分別是FlowLayout、BorderLayout、 CardLayout 、GridLayout和GridBagLayout。
208 FlowLayout 對應的布局是容器將其中的組件按照加入的先后順序從左向右排列。
209 BorderLayout 對應的布局是把容器內的空間簡單地劃分為東、西、南、北、中5個區域,每加入一個組件都應該指明把這個組件加在哪個區域中。
210 GridLayout 是使用較多的布局編輯器,其基本布局策略是把容器劃分成若干行乘若干列的網格區域,組件就位于這些劃分出來的小格中。
211 FlowLayout、GridLayout、BordrLayout布局對象都可以使用方法setVgap(intvgap)設置當前布局中組件的垂直間距 。
212 FlowLayout、GridLayout、BordrLayout布局對象都可以使用方法setHgap(inthgap)設置當前布局中組件的水平間距 。
213 使用 CardLayout 布局的容器可以容納多個組件,但實際上同一時刻容器只能從這些組件中選出一個來顯示。
214 Java中能夠產生事件的對象都可以成為事件源 ,如文本框、按鈕、鍵盤等。
215 Java中事件源發生事件時,監視器 就自動調用執行被類實現的某個接口方法。
216 當用戶與GUI 交互,比如移動鼠標、按下鼠標鍵、單擊Button 按鈕、在文本框內輸入文本、選擇菜單項或者關閉窗口時,GUI 會接受到相應的事件 。
217 Java中,監聽器 負責接收和處理這種事件。
218 Java中為了能監視到ActionEvent類型的事件,事件源必須使用 addActionListener() 方法獲得監視器。
219 只要用戶單擊JButton,就會觸發一個ActionEvent 事件,該事件被監聽器接收,它的方法 actionPerformed() 被執行。
220 在監聽類的事件處理方法中通過事件類的 getSource() 方法來獲得事件源。
221 Java的 java.awt.event 包中包含了許多用來處理事件的類和接口。
222 鼠標事件類MouseEvent中的方法getSource()是獲取發生鼠標事件的事件源 。
223 使用MouseListener接口處理鼠標事件,事件源發生的鼠標事件有5種,按下鼠標鍵、釋放 鼠標鍵、點擊鼠標鍵、鼠標進入和鼠標退出。
224 鼠標事件的類型是 MouseEvent ,即當發生鼠標事件時,該類自動創建一個事件對象。
225 使用MouseListener接口處理鼠標事件,鼠標事件源發生的鼠標事件包括,按下鼠標鍵、釋放鼠標鍵、單擊 鼠標鍵、鼠標進入和鼠標退出。
226 MouseMotionListener 和MouseListener 都監聽 MouseEvent 事件。
227 javax.swing包中的 JButton 類專門用來建立按鈕,即它的實例對象就是一個按鈕。
228 在JButton類中, getText() 方法是用來獲取按鈕上的名字。
229 在javax.swing中 JLabel 類使用來創建標簽的,即它的一個實例就是一個標簽。
230 在javax.swing包中的 JTextField 類是專門用來建立文本框,它的一個對象就是一個文本框。
231 Java中文本框類的 setText(String s) 方法是在文本框中設置文本。
232 Java中文本框類的 getText() 方法是獲取文本框中的文本。
233 Java中標簽類的 setText(String s) 方法是設置標簽的名字。
234 Java中標簽類的 getText() 方法是獲取標簽的名字。
235 Java中 JTextArea 類是專門用來建立文本區的,即它的一個對象就是一個文本區。
236 javax.swing包中的 JCheckBox 類是專門用來建立選擇框的。
237 在JCheckBox類中, isSelected 方法是用來返回選擇框的布爾狀態。
238 javax.swing包中的類 JList 類是專門用來建立列表框。
239 對話框與一般窗口的區別在于它必須依賴 于其他窗口。
240 對話框分為兩種,如果有模式 對話框被顯示,那么其他窗口都處于不活動狀態,只有當用戶關閉了對話框,才能操縱其他窗口。
241 對話框分為兩種,如果無模式 對話框被顯示,其他窗口照樣處于活動狀態。
242 在對話框類Dialog中的方法setModal(boolean)的作用是設置對話框的模式 。
243 在對話框類Dialog中的方法 setSize() 是設置對話框的大小。
244 對話框的默認布局是 BorderLayout 布局,在創建對話框時必須有對話框大小的設置。
245 FileDialog 是Dialog類的子類,它創建的對象稱為文件對話框。
246 FileDialog是Dialog類的子類,它創建的對象稱為文件對話框 。
247 Java開發程序大多是單線程 的,即一個程序只有一條從頭至尾的執行線索。
248 多線程 是指同時存在幾個執行體,按幾條不同的執行線索共同工作的情況。
249 線程 是指進程中的一個執行流程。
250 一個進程在其執行過程中,可以產生多個線程 ,形成多條執行線索。
251 每個java程序都有一個默認的主線程 。
252 對于java應用程序,主線程都是從 main 方法執行的線索。
253 在java中要想實現多線程,必須在主線程中創建新的線程對象 。
254 當一個線程處于創建 狀態時,它僅僅是一個空的線程對象,系統不為它分配資源。
255 一個正在執行的線程可能被人為地中斷,讓出CPU 的使用權,暫時中止自己的執行,進入阻塞 狀態。
256 處于死亡 狀態的線程不具有繼續運行的能力。
257 處于就緒 狀態的線程首先進入就緒隊列排隊等候處理器資源,同一時刻在就緒隊列中的線程可能有多個。
258 在線程排隊時,優先級高 的線程可以排在較前的位置,能優先享用到處理器資源,而其他線程只能排在它后面再獲得處理器資源。
259 對于優先級相同的線程,遵循隊列的先進先出 原則被分配給處理器資源。
260 Java語言使用 Thread 類及其子類的對象來表示線程。
261 線程調度管理器 負責管理線程排隊和處理器在線程間的分配,一般都配有一個精心設計的線程調度算法。
262 在java系統中,線程調度依據優先級基礎上的先到先服務 原則。
263 當生成一個 Thread 類的對象之后,一個新的線程就產生了。
264 Java 中編程實現多線程應用有兩種途徑:一種是用Thread 類的子類創建線程,另一種是用Thread 類結合 Runnable 接口創建線程。
265 Thread 類綜合了Java 程序中一個線程需要擁有的屬性和方法。
266 start() 方法將啟動線程對象,使之從新建狀態轉入就緒狀態并進入就緒隊列排隊。
267 當 run 方法執行完畢,線程就變成死亡狀態,所謂死亡狀態就是線程釋放了實體,即釋放分配給線程對象的內存。
268 利用構造 方法創建新線程對象之后,這個對象中的有關數據被初始化,從而進入線程生命周期的新建狀態。
269 優先級高的線程可以在它的run()方法中調用 sleep() 方法來使自己放棄處理器資源,休眠一段時間。
270 Java多線程使用中,調用 currentThread 方法可確定當前占有CPU的線程。
271 當用Thread 類的構造方法Thread(Runnabletarget)創建線程對象時,構造方法中的參數必須是一個具體的對象,該對象稱作線程的目標對象 。
272 當線程調用start 方法時,一旦輪到它來享用CPU,目標對象就會自動調用接口中的 run 方法。
273 一個實現了 Runnable 接口的類實際上定義了一個主線程之外的新線程的操作。
274 Thread 類代表線程類,它的方法 run() ―包含線程運行時所執行的代碼。
275 Thread 類代表線程類,它的方法 start() 用于啟動線程。
276 Java 提供一個線程調度器來監控程序中啟動后進入就緒狀態的所有線程。線程調度器按照線程的優先級 決定應調度哪些線程來執行。
277 在獨占 方式下,當前活動線程一旦獲得執行權,將一直執行下去,直到執行完畢或由于某種原因主動放棄CPU,或者是有一高優先級的線程處于就緒狀態。
278 線程調用了yield()或 sleep() 方法主動放棄CPU。
279 線程的優先級用數字來表示, 范圍從1 到 10 。
280 一個線程的缺省優先級是 5 。
281 使用多線程時,有時需要協調兩個或多個線程的活動。使線程協調工作的過程稱為同步化 。
282 可以通過使用 synchronized 關鍵詞修改方法來同步化對方法的訪問。
283 線程中, wait 的作用:釋放已持有的鎖,進入等待隊列。
284 線程中, notify 的作用:喚醒wait 隊列中的第一個線程并把它移入鎖申請隊列。
285 線程中, notifyAll 的作用:喚醒wait 隊列中的所有的線程并把它們移入鎖申請隊列。
集合框架:
1 數組 的特點是長度固定,可以用下標索引,并且所有的元素的類型都是一致的
2 堆棧 只允許對最后插入的元素進行操作(也就是后進先出,Last In First Out – LIFO)。如果你移除了最后一個元素,那么你可以操作倒數第二個元素,依次類推。
3 集合跟列表兩者基本相似,但是集合 不允許存放重復的元素。
4隊列和堆棧有些相似,不同之處在于在隊列里第一個插入的元素也是第一個被刪除的元素(即是先進先出)。
5 鏈表 是一種由多個節點組成的數據結構,并且每個節點包含有數據以及指向下一個節點的引用
6 HashMap 的訪問時間接近穩定,它是一種鍵值對映射的數據結構
7 樹 是一種由節點組成的數據結構,每個節點都包含數據元素,并且有一個或多個子節點,每個子節點指向一個父節點
學習Java的同學注意了!!!
學習過程中遇到什么問題或者想獲取學習資源的話,歡迎加入Java學習交流群346942462,我們一起學Java!