Time of Update: 2018-07-19
1、Callable: public interface Callable<V> 返回結果並且可能拋出異常的任務。實現者定義了一個不帶任何參數的叫做 call 的方法。 Callable 介面類似於 Runnable,兩者都是為那些其執行個體可能被另一個線程執行的類設計的。但是 Runnable 不會返回結果,並且無法拋出經過檢查的異常。
Time of Update: 2018-07-19
題目:Java多線程_編程模型研究作者:kagula日期:2007-12-27 目的:探索一種簡單的工作方式,實現多線程方式的編碼。 閱讀對象:瞭解Java普通多線程概念的讀者。 適用對象:Java入門者,哈哈,因為,本人也是因為工作需要,初初看下Java,哈哈。 環境: [1]JDK1.6.x [2]MyEclipse5.1.x [3]
Time of Update: 2018-07-19
AtomicInteger,一個提供原子操作的Integer的類。在Java語言中,++i和i++操作並不是安全執行緒的,在使用的時候,不可避免的會用到synchronized關鍵字。而AtomicInteger則通過一種安全執行緒的加減操作介面。 來看AtomicInteger提供的介面。 //擷取當前的值 public final int get() //取當前的值,並設定新的值 public final int getAndSet(int newValue)
Time of Update: 2018-07-19
http://blog.csdn.net/duoshanx/archive/2004/08/25/84846.aspx 1.多線程中有主記憶體和工作記憶體之分, 在JVM中,有一個主記憶體,專門負責所有線程共用資料;而每個線程都有他自己私人的工作記憶體, 主記憶體和工作記憶體分貝在JVM的stack區和heap區。 2.線程的狀態有'Ready', 'Running', 'Sleeping', 'Blocked', 和
Time of Update: 2018-07-19
異常與錯誤區別 Error and Exception 瞭解異常與錯誤的區別,並且知道當你截獲一個異常時,應該怎麼辦。 by Josh Street 許多程式員並沒有意識到一個錯誤和一個異常是有區別的,在出現問題時,這種區別對如何操作你的代碼有很重要的含意(見工具條,“簡介錯誤與異常”)。正如Mary Campione在The Java Tutorial(Java指南)中所寫的,“一個異常是在一個程式執行過程中出現的一個事件,它中斷了正常指令的運行。”
Time of Update: 2018-07-19
一個對象序列化的介面,一個類只有實現了Serializable介面,它的對象才是可序列化的。因此如果要序列化某些類的對象,這些類就必須實現Serializable介面。而實際上,Serializable是一個空介面,沒有什麼具體內容,它的目的只是簡單的標識一個類的對象可以被序列化。 什麼情況下需要序列化
Time of Update: 2018-07-19
java中int和integer區別 int 是基本類型,直接存數值 integer是對象,用一個引用指向這個對象 Java中int和Integer關係是比較微妙的。關係如下: 1.int是基本的資料類型; 2.Integer是int的封裝類; 3.int和Integer都可以表示某一個數值; 4.int和Integer不能夠互用,因為他們兩種不同的資料類型;
Time of Update: 2018-07-19
因為是測試,所以是先從SD卡讀取一個xml檔案,轉換成對象,再把這個對象產生xml檔案,寫入SD卡,(若是從伺服器擷取的,就可以直接使用返回的字串了) 另外需要注意的問題就是編碼, 先發測試xml檔案。 /sdcard/ceshi2.xml <?xml version="1.0"
Time of Update: 2018-07-19
2007-05-28 來自:java060515 一、首先Java的基礎、物件導向的基礎和設計模式的基礎知識是必不可少的。 關於設計模式我覺得不用學太多,但以下三個模式是學習Spring必不可少的:factory模式(包括簡單工廠和抽象工廠),Strategy模式,Template method模式。如果不掌握這些你就根本沒法領悟Spring的精髓,只能依樣畫葫蘆地照搬,這是很可怕的事。 我這裡強烈建議的書可能讓人有點意外,那就是Expert one on
Time of Update: 2018-07-19
列印昨天的當前時刻: import java.util.Calendar; /** */ /** * 列印昨天的當前時刻 * @author Administrator * */ public class YesterdayCurrent ...
Time of Update: 2018-07-19
提到代碼規範,一般都會直接聯想到代碼應該如何編寫,才更加易讀。我們可以翻閱 SUN 公司(已被 Oracle 收購)、Google、BAT、華為等公司發布的 Java 代碼規範,你會發現它們不僅僅是針對代碼編寫規範,而是覆蓋了編寫規範、效能最佳化、新特性解釋等等,覆蓋面最廣的一家公司的代碼規範甚至是由編程規約、異常日誌、安全規約、單元測試、MySQL 資料庫、工程結構等六大部分組成的。
Time of Update: 2018-07-19
JVMJVM啟動後,JVM會設定一些系統屬性以表明JVM的預設地區。user.language,user.region,file.encoding等。 可以使用System.getProperties()詳細查看所有的系統屬性。如在英文作業系統(如UNIX)下,可以使用如下屬性定義強制指定JVM為中文環境 -Dclient.encoding.override=GBK -Dfile.encoding=GBK -Duser.language=zh
Time of Update: 2018-07-19
前幾天在Domino中用了Java代理寫了一個採用MD5對字串進行加密以及驗證的簡易功能。 參考文章: 1. JAVA上密碼編譯演算法的實現用例:http://www-128.ibm.com/developerworks/cn/java/l-security 實現過程如下: 1.對密碼字串進行加密: 首先用產生一個MessageDigest類:MessageDigest alg=
Time of Update: 2018-07-19
完美處理unicode碼與其他字串混合的字串 方法一: public static String decode(String unicodeStr) {if (unicodeStr == null) {return null;}StringBuffer retBuf = new StringBuffer();int maxLoop = unicodeStr.length();for (int i = 0; i < maxLoop; i++) {if
Time of Update: 2018-07-19
在這次項目中需要對圖片MD5來確定一張圖片的唯一性,如果兩個圖片MD5相同就認定問兩張圖片是同一張圖,只不過是被轉載的。 在多次尋找資料後寫出來下面的通用類 1、將圖片轉換成位元組 public static String getMD5(String URLName){ String name=""; try { URL url = new URL(URLName); InputStream inputStream = new
Time of Update: 2018-07-19
1. java和他的API都可以使用並發。可以指定程式包含不同的執行線程,每個線程都具有自己的方法呼叫堆疊和程式計數器,使得線程在與其他線程並發地執行能夠共用程式範圍內的資源,比如共用記憶體,這種能力被稱為多線程編程(multithreading),在核心的C和C++語言中並不具備這種能力,儘管他們影響了JAVA的設計。 2. 線程的生命週期
Time of Update: 2018-07-19
public static void main(String[] args) { int num=123456; int newNum=myReserve(num); System.out.println(newNum); } public static int myReserve(int oriNum){
Time of Update: 2018-07-19
Callable和Future Callable介面定義了一個call方法可以作為線程的執行體,但call方法比run方法更強大: A、call方法可以有傳回值 B、call方法可以申明拋出異常
Time of Update: 2018-07-19
Callable介面代表一段可以調用並返回結果的代碼;Future介面表示非同步任務,是還沒有完成的任務給出的未來結果。所以說Callable用於產生結果,Future用於擷取結果。 Java 5在concurrency包中引入了java.util.concurrent.Callable 介面,它和Runnable介面很相似,但它可以返回一個對象或者拋出一個異常。
Time of Update: 2018-07-19
java中還提供了可以傳回值的線程池,例子如下: import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class