Time of Update: 2018-12-03
package com.jadyer.classloader;/** * 深入JVM之號稱世界上所有Java程式員都會犯的一個錯誤 * @author 宏宇 * @editor Jan 24, 2012 7:49:18 PM * @see 這是一個很無恥的面試題,多麼卑鄙的人才能寫出這種自己給自己找麻煩的代碼啊~~ */public class ClassLoadTest {public static void main(String[] args) {SingletonFront
Time of Update: 2018-12-03
數組初始化在C中初始化數組極易出錯,而且相當麻煩。C++通過“集合初始化”使其更安全(注釋⑥)。Java則沒有象C++那樣的“集合”概念,因為Java中的所有東西都是對象。但它確實有自己的數組,通過數組初始化來提供支援。數組代表一系列對象或者基礎資料型別 (Elementary Data Type),所有相同的類型都封裝到一起——採用一個統一的標識符名稱。數組的定義和使用是通過方括弧索引運算子進行的([])。為定義一個數組,只需在類型名後簡單地跟隨一對空方括弧即可:int[]
Time of Update: 2018-12-03
這是自JDK5.0開始提供的Java並發包裡面的類下面是關於Java並發鎖的測試代碼package com.jadyer.thread.lock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * LockTest * @author 宏宇 * @create Mar 1, 2012 7:12:04 PM */public class LockTest
Time of Update: 2018-12-03
這裡通過三個測試類別闡述了synchronized應用的不同情境首先是最基本的synchronized Method的使用package com.jadyer.thread.sync;/** * Synchronized Method Test * @see =================================================================================================== * @see
Time of Update: 2018-12-03
下面是ThreadLocal的測試代碼,更多資訊請參考注釋package com.jadyer.thread.local;import java.util.Random;/** * ThreadLocal Test * @see ============================================================================================================= * @see ThreadLocal的作用和目的
Time of Update: 2018-12-03
這裡示範了普通線程池以及帶有傳回值的線程池的使用方式package com.jadyer.thread.pool;import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import
Time of Update: 2018-12-03
二者共用一個Person類,請看代碼。。首先是通過Java反射方式調用構造方法的demopackage com.jadyer.reflection;import java.lang.reflect.Constructor;/** * 反射方式調用構造方法 */public class InvokeConstructor {public static void main(String[] args)throws Exception {Class<?> clazz =
Time of Update: 2018-12-03
package com.jadyer.util.codec;import java.security.Key;import java.security.NoSuchAlgorithmException;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import
Time of Update: 2018-12-03
package com.jadyer.util.codec;import java.security.Key;import java.security.NoSuchAlgorithmException;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import
Time of Update: 2018-12-03
依舊用代碼說話。。這是一個Java Projectpackage com.jadyer.reflection;import java.io.FileReader;import java.lang.reflect.Method;import java.util.Enumeration;import java.util.Hashtable;import java.util.Properties;import com.jadyer.model.Student;/** *
Time of Update: 2018-12-03
還是用代碼說話吧package com.jadyer.reflection;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import java.util.Scanner;/** * 解析目標類的成員資訊 */public class
Time of Update: 2018-12-03
老習慣,代碼說話。。package com.jadyer.reflection;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import com.jadyer.model.Person;/** * 操作目標類中的成員 */public class ProcessTargetClassMember {public
Time of Update: 2018-12-03
package com.jadyer.util.codec;import java.security.Key;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import org.apache.commons.codec.binary.Base64;/** * AES對稱式加密演算法 *
Time of Update: 2018-12-03
目錄【可點擊瀏覽】1...Junit3.82...Junit4.x3...使用Cactus進行容器內測試4...使用EasyMock進行類比測試5...使用JMock進行類比測試6...使用JUnitPerf進行效能測試7...使用Cobertura統計測試覆蓋率8...整合Ant與Junit產生測試報告9...使用TestNG進行測試10..使用Java操作Office產生效能測試報告11..使用Java操作PDF產生效能測試報告12..使用JsUnit進行JavaScript測試13..使用
Time of Update: 2018-12-03
這裡說的就是Java裡的鉤子用法,Apache Mina2.x就是這麼用的首先是抽象類別package com.jadyer.hook;public abstract class IoSession {public void write(Object message){System.out.println(message);messageSend(this);}public abstract void messageSend(IoSession session);}最後是實作類別package
Time of Update: 2018-12-03
請先看兩段代碼package com.jadyer.base;public class User implements java.io.Serializable{private static final long serialVersionUID = 2035637204889097968L;private Integer age;public Integer getAge() {return age;}public void setAge(Integer age) {this.age =
Time of Update: 2018-12-03
package com.jadyer.util;import java.awt.Desktop;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;/** * Java調用系統預設程式開啟本地檔案 * @see 這裡提供了三種開啟檔案,大家可自行選取 * @create Apr 23, 2013 1:00:37 AM * @author
Time of Update: 2018-12-03
//使用MD5演算法對密碼加密之後,會得到一個唯一的並且是無法復原轉的字串編碼//將加密後所得到的字串編碼作為密碼標識符儲存在資料庫中,可以防止密碼在資料庫中被盜竊//並且加密後的字串編碼是不能再轉換到原有密碼,這就保證了儲存在資料庫中的密碼的安全性//所以在使用者校正時,不能直接把登入密碼和資料庫中儲存的密碼標識符進行比較//而是需要將使用者的登入密碼也進行MD5轉換,然後才可以進行比較//下面的代碼就實現了MD5演算法對字串進行加密的功能/** * 實現了MD5演算法對字串進行加密的功能 *
Time of Update: 2018-12-03
package com.jadyer.util;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import
Time of Update: 2018-12-03
import java.sql.*;import com.sun.rowset.CachedRowSetImpl;public class DB { Statement stmt; String mc; Connection conn = null; CachedRowSetImpl crs; String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=資料庫名稱";