Time of Update: 2017-02-27
首先查看下面一段代碼,我指出了問題代碼的所在,讀者先自己思考一下這段代碼會有什麼問題。這是用clone方法完整拷貝一個二項堆(BinomialHeap)結構的代碼。二項堆中包含一個內部類BinomialHeapEntry,這個內部類的對象即二項堆中的每一個結點,除了包含結點對應的關鍵字外,還記錄父節點parent,下一個兄弟結點sibling和第一個孩子結點child三個指標。二項堆的根表通過每棵二項樹根節點的sibling指標連結。cloneBinomialTree(BinomialHeapE
Time of Update: 2017-02-27
把程式打成jar包放到Linux上轉到目錄下執行命令 hadoop jar mapreducer.jar /home/clq/export/java/count.jar hdfs://ubuntu:9000/out06/count/上面一個是本地檔案,一個是上傳hdfs位置成功後出現:列印出來,你所要列印的字元。package com.clq.hdfs; import java.io.BufferedInputStream; import
Time of Update: 2017-02-27
1. json-lib是一個java類庫,提供將Java對象,包括beans, maps, collections, java arrays and XML等轉換成JSON,或者反向轉換的功能。2. json-lib 首頁 : http://json-lib.sourceforge.net/3.執行環境需要以下類庫支援jakarta commons-lang 2.5jakarta commons-beanutils 1.8.0jakarta commons-collections
Time of Update: 2017-02-27
Java
Time of Update: 2017-02-27
ClassLoader主要對類的請求提供服務,當JVM需要某類時,它根據名稱向ClassLoader要求這個類,然後由ClassLoader返回這個類的class對象。ClassLoader負責載入系統的所有資源(Class,檔案,圖片,來自網路的位元組流等),通過ClassLoader從而將資源載入JVM 中。每個class都有一個引用,指向自己的ClassLoader。1. 獲得ClassLoader的幾種方法可以通過如下3種方法得到ClassLoader
Time of Update: 2017-02-27
Java 8帶來了很多可以使編碼更簡潔的特性。例如,像下面的代碼:Collections.sort(transactions, new Comparator<Transaction>(){ public int compare(Transaction t1, Transaction t2){ return t1.getValue().compareTo(t2.getValue());
Time of Update: 2017-02-27
JCA(Java EE Connector Architecture)規範可以說是JavaEE規範集合裡最“默默無聞”的,在JavaEE1.3規範發布時就加入了,比現在重要成員JPA, CDI等都早了很多。從應用開發角度來看,開發一個很普通的Web應用程式,只有幾個頁面,使用Servlet就可以完成,用JDBC
Time of Update: 2017-02-27
對於測試來說,編寫斷言似乎很簡單:我們只需要對結果和預期進行比較,通常使用斷言方法進行判斷,例如測試架構提供的assertTrue()或者assertEquals()方法。然而,對於更複雜的測試情境,使用這些基礎的斷言驗證結果可能會顯得相當笨拙。使用這些基礎斷言的主要問題是,底層細節掩蓋了測試本身,這是我們不希望看到的。在我看來,應該爭取讓這些測試使用業務語言來說話。在本篇文章中,我將展示如何使用“匹配器類庫”(matcher
Time of Update: 2017-02-27
事實證明,要發揮多核硬體所帶來的收益是很困難和有風險的。當使用並發正確和安全地編寫Java軟體時,我們需要很仔細地進行思考。因為錯誤使用並發會導致偶爾才出現的缺陷,這些缺陷甚至能夠躲過最嚴格的測試環境。靜態分析工具提供了一種方式,可以在代碼執行之前探查並修正並發錯誤。它能夠在代碼執行之前剖析器的源碼或編譯形成的位元組碼,進而發現隱藏在代碼之中的缺陷。Contemplate的ThreadSafe
Time of Update: 2017-02-27
使用JavaMail發送郵件需要用到mail.jar和activtion.jar兩個包。該類實現了較完整的郵件發送功能,包括以HTML格式發送,添加附件和抄送人。下面是具體的代碼:Mail.java:package cn.cgw.util.mail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource;
Time of Update: 2017-02-27
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.apache.log4j.Logger; /** * 將密碼進行MD5加密處理 */public class PassWordDigester { private static Logger logger = Logger.getLogger(PassWordDigester.class)
Time of Update: 2017-02-27
java.lang.reflect.InvocationTargetExceptionsun.reflect.NativeMethodAccessorImpl.invoke0(Native
Time of Update: 2017-02-27
HTTP Status 500 - nulltype Exception reportmessage nulldescription The server encountered an internal error that prevented it from fulfilling this request.exceptionjava.lang.NumberFormatException: nulljava.lang.Integer.parseInt(Integer.java:415)java.
Time of Update: 2017-02-27
HTTP Status 500 - JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: could not insert: [com.ssh.domain.Revert]type Exception reportmessage JDBC exception on Hibernate data access; nested
Time of Update: 2017-02-27
1. JNR簡單介紹繼上文“JNI的替代者—使用JNA訪問Java外部函數介面”,我們知道JNI越來越不受歡迎,JNI是編寫Java本地方法以及將Java虛擬機器嵌入本地應用程式的標準編程介面。它管理著JVM和非託管的本地環境之間的邊界,提供資料編組和對象生命週期管理協議。根據JEP(JDK增強提案)
Time of Update: 2017-02-27
整個教程中已經不時的出現一些記憶體管理和記憶體回收的相關知識。這裡進行一個小小的總結。Java是在JVM所虛擬出的記憶體環境中啟動並執行。記憶體分為棧(stack)和堆(heap)兩部分。我們將分別考察這兩個地區。棧棧的基本概念參考紙上談兵: 棧 (stack)。許多語言利用棧資料結構來記錄函數調用的次序和相關變數(參考Linux從程式到進程)。在Java中,JVM中的棧記錄了線程的方法調用。每個線程擁有一個棧。在某個線程的運行過程中,如果有新的方法調用,那麼該線程對應的棧就會增加一個儲存單元,
Time of Update: 2017-02-27
在GUI中,我們看到了如何用圖形樹來組織一個圖形介面。然而,這樣的圖形介面是靜態。我們無法互動的對該介面進行操作。GUI的圖形元素需要增加事件響應(event handling),才能得到一個動態圖形化介面。元素, 事件,
Time of Update: 2017-02-27
GUI(Graphical User Interface)提供了圖形化的介面,允許使用者以圖形的方式與系統進行互動。在GUI推廣之前,使用者通常要以文本命令的方式來控制電腦。GUI直觀的將電腦的功能呈現給使用者,降低了使用者使用電腦的門檻。蘋果和微軟是GUI方面的先驅(雖然他們都一定程度上抄襲了Xerox),GUI也為這兩位PC王者帶來了豐厚的市場回報。早期Mac
Time of Update: 2017-02-27
到現在為止,我們都是在Java檔案中直接定義類。這樣的類出現在包(package)的層級上。Java允許類的嵌套定義。這裡將講解如何在一個類中嵌套定義另一個類。嵌套內部類Java允許我們在類的內部定義一個類。如果這個類是沒有static修飾符,那麼這樣一個嵌套在內部的類稱為內部類(inner class)。內部類被認為是外部對象的一個成員。在定義內部類時,我們同樣有存取權限控制(public, private,
Time of Update: 2017-02-27
Java中有一些對象被稱為容器(container)。容器中可以包含多個對象,每個對象稱為容器中的一個元素。容器是用對象封裝的資料結構(data structure)。充滿夢想的容器不同的資料結構有不同的組織元素的方式,也可以有不同的操作。根據具體實施的不同,資料結構的操作效率也各有差別。Java中的容器也是這樣。我們要選擇適當的容器,以應對變化的需求。(關於資料結構更多的內容,可參考紙上談兵: