Time of Update: 2018-12-04
在上面的例子中多次使用到了Thread類的join方法。我想大家可能已經猜出來join方法的功能是什麼了。對,join方法的功能就是使非同步執行的線程變成同步執行。也就是說,當調用線程執行個體的start方法後,這個方法會立即返回,如果在調用start方法後後需要使用一個由這個線程計算得到的值,就必須使用join方法。如果不使用join方法,就不能保證當執行到start方法後面的某條語句時,這個線程一定會執行完。而使用join方法後,直到這個線程退出,程式才會往下執行。下面的代碼示範了join的
Time of Update: 2018-12-04
實現Runnable介面的類必須使用Thread類的執行個體才能建立線程。通過Runnable介面建立線程分為兩步:1. 將實現Runnable介面的類執行個體化。2. 建立一個Thread對象,並將第一步執行個體化後的對象作為參數傳入Thread類的構造方法。 最後通過Thread類的start方法建立線程。下面的代碼示範了如何使用Runnable介面來建立線程:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-04
摘自: www.chinaitlab.com 被閱讀次數: 18由 yangyi 於 2009-03-03 22:00:02 提供 一、IO流的三種分類方式 1.按流的方向分為:輸入資料流和輸出資料流 2.按流的資料單位不同分為:位元組流和字元流 3.按流的功能不同分為:節點流和處理流 二、IO流的四大抽象類別: 字元流:Reader Writer 位元組流:InputStream(讀資料) OutputStream(寫資料)
Time of Update: 2018-12-04
/** * 字串轉換成十六進位字串*/ public static String str2HexStr(String str) { char[] chars = "0123456789ABCDEF".toCharArray(); StringBuilder sb = new StringBuilder("");byte[] bs = str.getBytes(); int bit; for (int i = 0; i < bs.length; i++) { bit = (bs[i]
Time of Update: 2018-12-04
JAVA分頁總結環境:資料庫用的是MYSQL 不走1:前端頁面增加“上一頁,下一頁”…… <ahref="?startindex=<%=preindex%>&pagesize=10">上一頁</a> <ahref="?startindex=<%=nextindex%>&pagesize=10">下一頁</a> 不走2:JSP頁面增加代碼recordop c= new recordop()
Time of Update: 2018-12-04
一、讓Java程式作為linux的Daemon後台運行因為需要對網路環境進行監控,做了個Java程式在linux伺服器上運行。但是每次重新啟動的時候都要手動的運行,這樣就不太現實。所以想到把Java程式做成像Windows的系統服務那樣,開機就會自動在後台運行。以前使用過一個工具http://javaservice.objectweb.org/,可以把Java程式註冊成為Windows的系統服務,而且使用起來很簡單,但是遺憾的是該工具不能註冊linux的後台服務。所以不得不另外尋找工具。 最
Time of Update: 2018-12-04
一。抽象類別有時候,我們可能想要構造一個很抽象的父類對象,它可能僅僅代表一個分類或抽象概念,它的執行個體沒有任何意義,因此不希望它能被執行個體化。例如:有一個父類“水果(Fruit)”,它有幾個子類“蘋果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在這裡僅僅只是作為一個分類,顯然水果的執行個體沒有什麼意義(就好像一個人如果告訴你他買了一些水果但是卻不告訴你是蘋果還是橘子,你很難想象他到底買的是什麼。)。而水果類又要能被子類化,這就要求我們使用抽象類別(abstra
Time of Update: 2018-12-04
編程以來,似乎除了VB時期外,.net和java時期都與XML有著至關重要的關係。.net中無論是做C/S ,還是做B/S都至少與一個*.config的檔案有聯絡,其實質就是XML檔案。到了java時期對web.xml檔案就更是不可忽視了。一方面.net像是一個產品,很多細節不需要自己手動設定了,但java更像是一組標準,各類操作和技術的整合化程度不高,不只是培養編程笨蛋;另一方面java的靈活性就決定了XML的地位。 拿到java
Time of Update: 2018-12-04
本文描述怎樣通過數位簽章提升java的存取權限,本文環境:os:Ubuntu9.10 64bFirefox:3.5.8 jre環境:JRE 1.6.0_18(64b)測試java代碼和jsp頁面代碼如下:Java代碼 public class TestApplet extends Applet { private static final long serialVersionUID = 1L; private void info(String msg) {
Time of Update: 2018-12-04
java擷取系統時間問題:public class TestDate {public static void main(String[] args) {System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));System.out.println("目前時間:\t\t"+new Date().toLocaleString());}}這段代碼在JDK1.5下運行 結果如下,少了8
Time of Update: 2018-12-04
Java中的Enum使用Enum是在Java中用來定義枚舉類型的關鍵字。Enum一般用來表示一組相同類型的常量,如性別、日期、顏色等.下面是一個最簡單的枚舉。public enum Color{RED,GREEN,BLUE}實際上在Java中枚舉類型本質上就是一個類,其繼承自java.lang.Enum類。通過預設提供的GetValues()方法可以擷取所有枚舉對象,其以一個數組的形式返回。for(Color color : Color.values()){System.out.printf("
Time of Update: 2018-12-04
運行時擷取方法呼叫堆疊資訊(java)有些時候或者為了偵錯工具或者為了列印資訊,我們需要在程式運行期間擷取程式調度堆棧的資訊,java在運行期間可以通過throwable類來擷取方法呼叫堆疊資訊,例如哪個方法調用的當然方法,當前運行類的類名,檔案名稱,程式碼等等。如:public class Hi{public static void main(String[] args){Throwable ex = new Throwable();StackTraceElement[]
Time of Update: 2018-12-04
、基礎問答 1.下面哪些類可以被繼承? java.lang.Thread (T) java.lang.Number (T) java.lang.Double (F) java.lang.Math (F) java.lang.Void (F) java.lang.Class (F) java.lang.ClassLoader
Time of Update: 2018-12-04
Java關鍵字如下:abstractdefaultifprivatethisbooleandoimplementsprotectedthrowbreakdoubleimportpublicthrowsbyteelseinstanceofreturntransientcaseextendsintshorttrycatchfinalinterfacestaticvoidcharfinallylongstrictfpvolatileclassfloatnativesuperwhileconstforn
Time of Update: 2018-12-04
文章目錄 概述記憶體回收機制原理finalize()方法
Time of Update: 2018-12-04
什麼叫Java記憶體模型?http://baike.baidu.com/view/8657411.htm通過訪問以上的URL,我們瞭解了Java記憶體模型的概念。簡單來說,每個線程操作變數的時候,都會從主記憶體中拷貝變數的副本儲存到自己的工作記憶體中,然後計算,最後再存入工作記憶體中。問題來了,如果有兩個線程:線程A和線程B。線程A從主記憶體中取出變數count的值為1,然後進行加1操作,這時線程B也從主記憶體中取count進行加2操作。然後線程A把2存入主記憶體的變數count內,線程B也存入
Time of Update: 2018-12-04
/* * 當前檔案:DesEncrypt.java * 建立日期:2005-7-29 * 版 本 號:1.0 * 作者:kang1 * */ import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import
Time of Update: 2018-12-04
網上的資料真爛,千篇一律的拷貝的,根本不能用,鄙視!正題:到MYSQL網站下載mysql-connector-java-5.0.4.zip檔案,解壓;解壓後有一個檔案:mysql-connector-java-5.0.4-bin.jar把這個檔案放到應用的lib包裡或者寫一個classpath確定絕對位址。package org.sytuyuan;import java.sql.Connection;import java.sql.DriverManager;import
Time of Update: 2018-12-04
/**//*引用外圍類對象:在外圍類名稱後面跟一個句點和this關鍵字來實現.eg:在類Sequence.SSelector中,通過Sequence.this,內部類任何方法都能擷取那個指向外圍類Sequence的被儲存的引用. *對象要想產生其自身內的內部類的對象,必須在new中提供一個引用,指向那個外圍類對象.eg:Contents con = parcel.new Contents();等效於Contents con = parcel.getContents(); *建立內部類對象,不能想
Time of Update: 2018-12-04
儲存對象有很多種方式,數組在其中有什麼特別之處呢?數組和其它容器之間的區別主要有兩方面:效率和類型。第一,效率:在Java中,數組是一種效率最高的儲存和隨機訪問對象引用序列的方式。**數組就是一個簡單的線性序列。但當建立一個數組對象(將數組看作對象),數組的大小就被固定了,並且這個數組的生命週期也是不可改變的。通常是建立一個特定大小的數組,在空間不足的時候再建立一個新的數組,然後把舊數組中的所有引用移到新數組中。在C++中,容器類vector的確知道自己儲存的對象是何類型,不過它有一個缺點:C+