Time of Update: 2017-01-19
一個多線程的Java程式,直到所有線程執行完成,整個程式才會退出。(需要注意的是,是所有非後台線程(non-daemon
Time of Update: 2017-01-19
Thread類包含幾個屬性,這些屬性所表示的資訊能協助我們識別線程、觀察其狀態、控制其優先順序等。這些線程包括如下幾種:ID: 該屬性工作表示每個線程的唯一標識;Name: 該屬性儲存區每個線程的名稱;Priority: 該屬性儲存區每個Thread對象的優先順序。線程優先順序分1到10十個層級,1表示最低優先順序,10表示最高優先順序。並不推薦修改線程的優先順序,但是如果確實有這方面的需求,也可以嘗試一下。Status:
Time of Update: 2017-01-19
開門見山在IT圈裡,每當我們談論並發時,必定會說起在一台電腦上同時啟動並執行一系列線程。如果這台電腦上有多個處理器或者是一個多核處理器,那麼這時是實實在在的“同時運行”;但是,如果電腦只有一個單核處理器,那麼這時的“同時運行”只是表象而已。所有的現代作業系統全部支援任務的並發執行。你可以邊聽音樂,邊上網看新聞,還不耽誤首發電子郵件。我們可以說,這種並發是 進程級並發 。在進程內部,我也可以看到有許許多多的並發任務。我們把運行在一個進程裡面的並發任務稱 線程。和並發相關的另外一個常見概念是 並行。
Time of Update: 2017-01-19
觀察者模式是一種行為設計模式。觀察者模式的用途是,當你對一個對象的狀態感興趣,希望在它每次發生變化時獲得通知。在觀察者模式中,觀察另外一個對象狀態的對象叫做Observer觀察者,被觀察的對象叫著Subject被觀察者。根據GoF規則,觀察者模式的意圖是:複製代碼
Time of Update: 2017-01-19
本文執行個體講述了java字串求並集的方法。分享給大家供大家參考。具體實現代碼如下:複製代碼 代碼如下:String[] arr1 = {"abcd", "dfg", "abc"};String[] arr2 = {"abcd", "ccd", "df", "d", "abc"};String[] result_union = union(arr1, arr2);System.out.println("求並集的結果如下:");for (String str : result_union)
Time of Update: 2017-01-19
本文執行個體講述了JAVA+Struts2擷取伺服器位址的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:HttpServletRequest request=ServletActionContext.getRequest(); String path=request.getRequestURI(); String actionPath=".."+path.substring(9); //訪問伺服器所帶有的參數資訊 String
Time of Update: 2017-01-19
本文執行個體講述了JAVA隨機打亂數組順序的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:import java.util.Random; public class RandomSort { private Random random = new Random();
Time of Update: 2017-01-19
本文執行個體講述了java在網頁上面抓取郵件地址的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern;
Time of Update: 2017-01-19
final修飾符:final修飾成員變數必須有程式員顯示指定初始值。類的Field:必須在靜態初始化塊中或聲明該Field時指定初始值。執行個體Field:必須在非靜態初始塊中,聲明Field或者構造器中指定初始值。final局部變數:必須由程式員顯示初始化。final修飾的基本變數和參考型別變數的區別?final修飾的基本變數:不能對基本變數重新賦值。final修飾的引用變數:只保證這個參考型別所引用的地址不會變,即一直引用同一個對象,但這個對象完全可以發生改變。複製代碼
Time of Update: 2017-01-19
廢話不多說,直接上代碼,小夥伴們仔細看下注釋吧。複製代碼 代碼如下:/*簡單的複製 剪下 粘貼 功能 操作: 複製測試: 輸入文本選擇文本,點擊複製,然後將游標放在右邊的TextArea,點擊粘貼 剪下測試:輸入文本選擇文本,然後將游標放在右邊的TextArea,點擊剪下 */import javax.swing.*;import java.awt.*;import
Time of Update: 2017-01-19
本文執行個體講述了java中enum的用法。分享給大家供大家參考。具體分析如下:1. 基本用法複製代碼 代碼如下:enum Day { SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDAY, FRIDAY, SATURDAY;}枚舉是常量,所以應該用大寫。2. 枚舉是對象枚舉隱含地繼承了java.lang.Enum,所以它具有java.lang.Enum的屬性和方法。遍曆枚舉:複製代碼 代碼如下:public class
Time of Update: 2017-01-19
本文執行個體講述了java執行windows下cmd命令的方法。分享給大家供大家參考。具體實現代碼如下:複製代碼 代碼如下://擷取運行時Runtime rt = Runtime.getRuntime();//擷取進程Process p = rt.exec(String[] cmdarray);//或者 Process p = rt.exec(String
Time of Update: 2017-01-19
本文執行個體講述了java執行Linux命令的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:public class StreamGobbler extends Thread { InputStream is; String type; public
Time of Update: 2017-01-19
鎖作為並發共用資料,保證一致性的工具,在JAVA平台有多種實現(如 synchronized 和 ReentrantLock等等 ) 。這些已經寫好提供的鎖為我們開發提供了便利,但是鎖的具體性質以及類型卻很少被提及。本系列文章將分析JAVA下常見的鎖名稱以及特性,為大家答疑解惑。四、可重新進入鎖:本文裡面講的是廣義上的可重新進入鎖,而不是單指JAVA下的ReentrantLock。可重新進入鎖,也叫做遞迴鎖,指的是同一線程 外層函數獲得鎖之後
Time of Update: 2017-01-19
本文執行個體講述了java實現的簡單猜數字遊戲代碼。分享給大家供大家參考。具體代碼如下:複製代碼 代碼如下:import java.util.InputMismatchException;import java.util.Scanner;public class Main { public static void main(String[] args)
Time of Update: 2017-01-19
本文執行個體講述了java實現滿天星效果的方法。分享給大家供大家參考。具體實現代碼如下:複製代碼 代碼如下:import java.awt.*;public class Main { public static void main(String[] args)
Time of Update: 2017-01-19
很多程式員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程式員書單,不過都是推薦數 Top 10的書。其實除了前10本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。下面就按照各本書的推薦數排列。1、《代碼大全》 史蒂夫·邁克康奈爾推薦數:1684“優秀的編程實踐的百科全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談論代碼布局。” —— Joel
Time of Update: 2017-01-19
平時我們會經常碰到這樣的情況,有了兩個現成的類,它們之間沒有什麼聯絡,但是我們現在既想用其中一個類的方法,同時也想用另外一個類的方法。有一個解決方案是,修改它們各自的介面,但是這是我們最不願意看到的。這個時候Adapter模式就會派上用場了。Adapter模式也叫適配器模式,是由GoF提出的23種設計模式的一種。Adapter模式是構造型模式之一,通過Adapter模式,可以改變已有類(或外部類)的介面形式。適配器 模式 有三種方式,一種是對象適配器,一種是類適配器,
Time of Update: 2017-01-19
一、ArrayList源碼分析(JDK7)ArrayList內部維護了一個動態Object數組,ArrayList的動態增刪就是對這個對組的動態增加和刪除。1、ArrayList構造以及初始化ArrayList執行個體變數//ArrayList預設容量private static final int DEFAULT_CAPACITY = 10;//預設空的Object數組, 用於定義空的ArrayListprivate static final Object[]
Time of Update: 2017-01-19
(1) final:修飾符(關鍵字),如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載(2) finally:在異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的