Time of Update: 2017-02-27
圖釋 11.1 Scala 類層級圖圖釋11.1展示了Scala的類層級的大綱。層級的頂端是類Any,定義了包含下列的方法:final def ==(that: Any): Boolean final def !=(that: Any): Boolean def equals(that: Any): Boolean def hashCode: Int def toString: String因為每個類都繼承自Any,Scala程式裡的每個對象都能用==,!=或
Time of Update: 2017-02-27
Hibernate是什嗎?從不同角度的解釋:1、它是串連Java應用程式和關聯式資料庫的中介軟體。2、它對JDBC API進行了封裝,負責Java對象的持久化。3、在分層的軟體架構中它位於持久化層,封裝了所有資料訪問細節,使業務羅基層可以專註於實現商務邏輯。4、它是一種 ORM(Object-Relation Mapping 對象-關係映射)工具,能夠建立物件導向的領域模型和關聯式模式的映射。應用程式分層體繫結構:1、表述層:提供與使用者互動的介面。2、商務邏輯層:實現各種商務邏輯。3、資料層:
Time of Update: 2017-02-27
在 2003 年 8 月,Apache Software Foundation(負責流行的 Apache HTTP 伺服器開 發的團隊)宣布計劃建立一個開源的、認證的 J2EE 伺服器 —— 於是誕生了 Geronimo。作為 J2EE 相容伺服器,Geronimo 是一個很大的項目,包括了不同的功能集。 在這篇由兩部分組成的系列文章的第 1 部分中,我將從使用者的角度介紹 Geronimo,讓 您對該項目真正涉及的範圍有一個正確的認識。然後我將解釋一些在學習
Time of Update: 2017-02-27
一、J2EE的概念目前,Java 2平台有3個版本,它們是適用於小型裝置和智慧卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、適用於案頭系統的Java 2平台標準版(Java 2 Platform Standard Edition,J2SE)、適用於建立伺服器應用程式和服務的Java2平台企業版(Java 2 Platform EntERPrise Edition,J2EE)。J2EE是一種利用Java
Time of Update: 2017-02-27
總結一下客戶機我們的類研究完了。在我們繼續往前討論區伺服器端的情況之前,讓我們回顧一下建立和使用Socket的步驟:1.用您想串連的機器的IP地址和連接埠執行個體化Socket(如有問題則拋出Exception)。2.擷取Socket上的流以進行讀寫。3.把流封裝進BufferedReader/PrintWriter的執行個體,如果這樣做能使事情更簡單的話。4.對Socket進行讀寫。5.關閉開啟的流。5建立伺服器Socket建立RemoteFileServer類1.import
Time of Update: 2017-02-27
前言現代許多流行的應用程式,越來越多的使用了指令碼引擎,最典型的有 Microsoft Office中的VBA等。指令碼引擎能提供應用程式極大的可擴充性,也是 被許多熱忠於二次開發的使用者所樂意看到的。本文主要講解 BeanShell----這 樣一個Java應用程式指令碼引擎,你會瞭解它的基本特性,及如何將它嵌入到你的 應用程式中。你將看到,為自己的應用程式加上指令碼引擎是多麼容易的一件事情 。常見的指令碼引擎現在網路上流行著許多種指令碼語言,如TCL,Perl,
Time of Update: 2017-02-27
在做Java Web程式時候,如果出錯了,常常會在頁面上列印出錯誤的堆棧內 存資訊,在開發階段對偵錯工具很有協助,但是在運營環境下,這樣的處理很不 友好,非開發人員看了都會傻眼。這裡給出一個簡單的處理方式,使用錯誤頁面來處理。一、建立兩個常見的HTML錯誤資訊頁面:404.html<body> 所訪問的資源不存在:對不起,所請求的資源不存在 ! <br></body>500.html<body>
Time of Update: 2017-02-27
Java5增加了新的類庫並發集java.util.concurrent,該類庫為並發程式提供 了豐富的API多線程編程在Java 5中更加容易,靈活。本文通過一個網路伺服器 模型,來實踐Java5的多線程編程,該模型中使用了Java5中的線程池,阻塞隊列 ,可重新進入鎖等,還實踐了Callable, Future等介面,並使用了Java 5的另外一 個新特性泛型。簡介本文將實現一個網路伺服器模型,一旦有用戶端串連到該伺服器,則啟動一
Time of Update: 2017-02-27
伺服器的實現效果:1.輸入-help得到所有有關伺服器操作的命令2.輸入-run進入伺服器各項內容初始化3.輸入-stop斷開伺服器4.輸入-quit斷開伺服器,並退出操作5.伺服器建立成功後,會通過單獨的線程運行監聽用戶端資訊(listenLink)6.伺服器接收到資料後,會將資料移交至資料分析器(analyseMes)處理7.當使用者確定串連並確定暱稱後,伺服器將該使用者的地址及姓名儲存在 infoMemory中。伺服器的類與方法:1.測試伺服器建立:testServer(String
Time of Update: 2017-02-27
當 CPU 進入多核時代之後,並行編程將更加流行,但是編寫並行程式更容易 出錯。在開發過程中,工程師能注意到同一個程式在單線程運行時是正確的,但 是在多線程時,它會有可能出錯。和並行相關的錯誤的產生原因通常都非常隱晦 ,而且在一次測試中,它們的出現與否具有很強的隨機性。由於程式中多個線程 之間可能以任意的方式交錯執行,即使一個並行程式正確的運行了成百上千次, 下一次運行仍然可能出現新的錯誤。Multi-Thread Run-time Analysis Tool 是由 IBM 為多線程
Time of Update: 2017-02-27
共用變數要使多個線程在一個程式中有用,它們必須有某種方法可以互相通訊或共用它們的結果。讓線程共用其結果的最簡單方法是使用共用變數。它們還應該使用同步來確保值從一個線程正確傳播到另一個線程,以及防止當一個線程正在更新一些相關資料項目時,另一個線程看到不一致的中間結果。線程基礎中計算素數的樣本使用了一個共用布爾變數,用於表示指定的時間段已經過去了。這說明了線上程間共用資料最簡單的形式是:輪詢共用變數以查看另一個線程是否已經完成執行某項任務。存在於同一個記憶體空間中的所有線程正如前面討論過的,線程與進
Time of Update: 2017-02-27
這些年討論過很多入門型的程式設計語言和它們的優點,之所以如此是因為在軟體開發中要深入瞭解和學習相當困難,有太多語言之外的材料需要去學習,也要竭盡全力來搞清楚那些抽象的文法細節。Java之父James
Time of Update: 2017-02-27
1 import java.io.PrintStream;2 import java.sql.Time;3 import java.sql.Timestamp;4 import java.text.ParsePosition;5 import java.text.SimpleDateFormat;6 import java.util.Date;7 public class TimeUtil8 {9 /*10 * java編程11 */12 public TimeUtil()13 {14 }15
Time of Update: 2017-02-27
Java線程:線程私人變數Java線程:深入ThreadLocalJava線程:線程的調度-休眠Java線程:線程的調度-優先順序Java線程:線程的調度-讓步Java線程:線程的調度-合并Java線程:線程的調度-守護線程Java線程:線程的同步-同步方法Java線程:線程的同步-同步塊Java線程:並發協作-生產者消費者模型Java線程:並發協作-死結Java線程:volatile關鍵字Java線程:新特徵-線程池Java線程:新特徵-有傳回值的線程Java線程:新特徵-鎖(上)Java線程
Time of Update: 2017-02-27
通過Java動態建立ODBC資料來源來訪問DBF檔案,需要用到registry,來修改註冊表。其實,主要是動態建立ODBC資料來源,開始很簡單,可以手工設定一次資料來源,當然也可以通過程式直接產生,問題都不大。下面只說怎樣修改。import com.ice.jni.registry.RegStringValue;import com.ice.jni.registry.Registry;import com.ice.jni.registry.RegistryKey;public class
Time of Update: 2017-02-27
線程的優先順序用1-10之間的整數表示,數值越大優先順序越高,預設的優先順序為5。在一個線程中開啟另外一個新線程,則新開線程稱為該線程的子線程,子線程初始優先順序與父線程相同。/*** Java線程:線程的調度-優先順序** @author leizhimin*/public class Test { public static void main(String[] args) { Thread t1 = new MyThread1();
Time of Update: 2017-02-27
在WEB應用下實現定時任務的簡便方法在web方式下,如果我們要實現定期執行某些任務的話,除了用quartz等第三方開源工具外,我們可以使用Timer和TimeTask來完成指定的定時任務:第一步:建立一個任務管理類,實現ServletContextListener 介面以下是引用片段:public class TaskManager implements ServletContextListener {/** * 每天的毫秒數 */public static final long PERIOD_
Time of Update: 2017-02-27
一 基本知識1.1 效能是什麼在效能調優之前,我們首先來瞭解一下效能是什嗎?關於效能,我想每個學習過Java的人都能列出幾點,甚至可以夸夸其談。在《Java TM Platform Performance》一書中,定義了如下五個方面來作為評判效能的標準:1) 運算的效能——哪一個演算法的執行效能最好?2) 記憶體的分配——程式運行時需要耗費多少記憶體?3)
Time of Update: 2017-02-27
首先把問題擺出來,先看這個代碼String a = "ab";String b = "a" + "b";System.out.println((a == b));列印結果會是什嗎?類似這樣的問題,有人考過我,我也拿來考過別人(蠻好玩的,大家也可以拿來問人玩),一般答案會是以下幾種:1.true"a" + "b" 的結果就是"ab",這樣a,b都是"ab"了,
Time of Update: 2017-02-27
如果你曾經用過Perl或任何其他內建Regex支援的語言,你一定知道用Regex處理文本和匹配模式是多麼簡單。如果你不熟悉這個術語,那麼“Regex”(Regular