原创 Java_多線程_當一個線程進入一個對象的synchronized方法後,其他線程是否可以進入此對象的其他方法?

其他方法如果是synchronized方法 如果當前synchronized方法中沒有調用對象的wait方法,則其他線程不可以進入 如果當前synchronized方法中調用了對象的wait方法,則其他線程可以進入 其他方

原创 Java_&和&&的區別

& 邏輯運算符,當其兩邊爲Boolean類型且同爲true時,結果爲true。 位運算符,同爲0或同爲1時,結果爲1 && 邏輯運算符 具有短路功能,如果前邊表達式結果爲false則後邊表達式不執行

原创 Java_多線程_sleep()和wait()的區別

共同點 二者都可以讓線程暫停 區別 sleep是Thread類定義的靜態方法,wait是Object類的非靜態方法 一個線程在哪裏都可以執行sleep,但是wait要在同步代碼塊內 sleep不會釋放對象鎖,wait會釋放

原创 Java_多線程_一個類中同時有synchronized static方法和synchronized的方法,這兩個方法同步嗎?

不同步 靜態方法與成員方法的區別是,靜態方法歸屬類,成員方法歸屬於對象 synchronized方法鎖定的是當前對象 如果是靜態同步方法,鎖定的是類的Class對象。注意這裏不是鎖定此類的所有對象,僅是唯一的Class對象。 如

原创 Java_跳出多重嵌套循環的4種方式

Method1:定義標號 package breakFor; public class Test1 { public static void main(String[] args) { test: for(int i

原创 Java_常見的RuntimeException

ArithmeticException:算數異常,如果除數爲0時。 ArrayStoreException:對象數組存入元素時類型不匹配。 ClassCastException:對象轉換異常 ConcurrentModifica

原创 Java_super.getClass()方法調用

以下這段代碼的結果是什麼? public class GetClassTest extends Thread{ public static void main(String[] args) { Thread t=new G

原创 Java_多線程_用兩個線程玩猜數字遊戲,第一個線程負責隨機給出1-100之間的一個整數,第二個線程負責猜出這個數。

具體要求 用兩個線程玩猜數字遊戲,第一個線程負責隨機給出1-100之間的一個整數,第二個線程負責猜出這個數。 要求每當第二個線程給出自己的猜測之後,第一個線程都會提示“猜小了”、“猜大了”或“猜對了”。 猜數之前,要求第二個線程

原创 Java_多線程_設計四個線程,其中兩個線程每次將j+1,另外兩個線程每次將j-1

J類 package thread4; public class J { private int j; public synchronized int getJ() { return j; } public sy

原创 Java_RuntimeException和其他普通Exception的區別

RuntimeException 運行期異常,編寫java代碼是不必須拋出或捕獲處理異常,運行時發生異常系統會會執行缺省的異常處理。 other Exception 除去運行期異常就是編譯期異常了,要求在編寫java代碼時必

原创 JDBC_給你:一個驅動程序A,數據源名稱爲B,用戶名C,密碼D,數據庫表爲T,請用JDBC檢索出表中所有數據

public class JDBCtest { public static void main(String[] args) throws ClassNotFoundException, SQLException { //加

原创 Java_多線程_進程與線程的聯繫與區別

一個進程包括由操作系統分配的內存空間,包含一個或多個線程。 進程 內存空間 線程1 線程2 …… 一個線程不能獨立的存在,它必須是進程的一部分。 一個進程一直運行,直到所有的非守候線程都結束運行後才能結束。

原创 Java_多線程_一個類同時繼承Thread類並實現Runnable接口,同時通過兩種方式創建線程,程序是否會出現異常?

題目代碼化 package threadTest; public class Test extends Thread implements Runnable{ @Override public void run() {

原创 Java_反射(Reflection)與序列化(Serialization)

反射 反射是Java被視爲動態語言的一個關鍵性質。反射機制允許程序在運行時通過反射的方法取得任何一個已知類名的類的信息,包括屬性,方法,構造器等,並可以通過反射修改屬性和調用方法。 通過反射獲取類的三種方式: Class.for

原创 Java_權限:public、protected、default、private

同一類中 同一包中 不同包中子類 不同包中 不同項目中 public √ √ √ √ × protected √ √ √ × × default √ √ × × × private √ × × × ×