package com.jiaocaigen; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest { public static void
備份一個有用的工具類.TypeUtil它的typeToString(String scope, Object
在Java運行時刻,能否知道一個類的屬性方法並調用改動之。對於任意一個對象,能否知道他的所屬類,並調用他的方法。答案是肯定的。這種動態擷取資訊及動態調用方法的機制在Java中稱為“反射”(reflection)。 Java反射機制主要提供以下功能: 在運行時判斷任意一個對象所屬的類; 在運行時構造任意一個類的對象; 在運行時判斷任意一個類所具有的成員變數和方法; 在運行時調用任意一個對象的方法。 Reflection
步驟簡介 開啟連結:URL類初始化給定網頁連結,並調用openConnection()返回一個HttpURLConnection類的父類URLConnection執行個體。
在使用java線程的時候,特別是初學者總會有幾點很常見的誤區,下面以以下代碼為例: 線程類:package threadtest1;public class ReturnThreadInfo extends Thread { private String str; public ReturnThreadInfo() {
Java中使用LinkedBlockingQueue實現生產者,消費者模式 LinkedBlockingQueue實現是安全執行緒的,實現了FIFO(先進先出)等特性. 是作為生產者消費者的首選,LinkedBlockingQueue 可以指定容量,也可以不指定,不指定的話,預設最大是Integer.MAX_VALUE,其中主要用到put和take方法,put方法在隊列滿的時候會阻塞直到有隊列成員被消費,take方法在隊列空的時候會阻塞,直到有隊列成員被放進來。
方法一: 使用date類:Date.UTC(int year,int month, int date,int hrs, int min,int sec); long ms = Date.UTC(2009, 0,1, 0,0, 0);//時間:得到從1970年一月一日0時0分0秒,到 2009年1月1日,0時0分0秒 的毫秒數。 註:Date.UTC()函數已經廢棄,不提倡使用. 方法二:
在使用String.split方法分隔字串時,分隔字元如果用到一些特殊字元,可能會得不到我們預期的結果。 我們經常使用public String[] split(String regex)方法來拆分一個有分隔字元的字串,但是由於參數regex是一個 regular-expression的匹配模式而不是一個簡單的String,所以他對一些特殊的字元可能會出現你預想不到的結果,比如測試下面的代碼:用豎線 | 分隔字串,你將得不到預期的結果 view
java中cpu分給每個線程的時間片是隨機的並且在java中好多都是多個線程共用一個資源,比如火車賣票,火車票是一定的,但賣火車票的視窗到處都有,每個視窗就相當於一個線程,這麼多的線程共用所有的火車票這個資源。如果在一個時間點上,兩個線程同時使用這個資源,那他們取出的火車票是一樣的(座位號一樣),這樣就會給乘客造成麻煩。比如下面程式: package com.pakage.ThreadAndRunnable;public class Runnable_demo implements
在一個必須通過代理才能訪問外部網路的環境下,用Java寫的進行外部存取的程式將無法正常串連,通過在代碼中設定代理實現訪問。代理的設定通過幾個系統參數設定:System.getProperties().put("proxySet", "true");System.getProperties().put("proxyHost",
相關文章連結 設計模式與J2EE技術http://dev.csdn.net/develop/article/18/18796.shtm 設計模式在EJB種的應用http://www.chinabyte.com/20030423/1665171.shtml J2EE中幾種業務代理模式的實現和比較http://www.jdon.com/artichect/businessproxy.htm
《對Java的分析總結》-Java虛擬機器的記憶體模型 1 程式計算機 程式計數器是一塊較小的記憶體空間 每一個線程都有一個獨立的程式計數器,用於記錄下一條要啟動並執行指令,各個線程間的程式計算機互不影響,是一塊線程私人的記憶體空間 2 Java虛擬機器棧
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public class Fetch { public static void
public static void main(String[] args) {// TODO Auto-generated method stub try { URL url = new URL("http://www.baidu.com"); // 建立Proxy 伺服器 InetSocketAddress addr = new
package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.Authenticator;import java.net.HttpURLConnection;import java.net.PasswordAuthentication;import
Java中的資源可以是一個圖片,xml檔案,音頻等等形式的檔案,在開發的過程中尤其是對xml檔案的使用相當頻繁。在Java中,類Class和ClassLoader中提供了相應的方法去定位這些資源,如getResource()等方法。 資源名
java.lang.reflect.Proxy Proxy是用來代理一個類的(Proxy.getProxyClass(ClassLoadr,Class[],) 當你調用這個代理類的所代理的借口中的一個方法時這個代理執行個體就找到代理執行個體初始化的時候指定的一個InvocationHander實現(proxy。getProxyInstanc(class咯ader,class[],Invocationhande)
由於工作需要讀取區域網路中一台機器的 共用目錄中的檔案,需要 jcifs-1.1.11.jar的支援,使用 SMB協議,以下是實現了遠程讀取並複製到本地,然後刪除本地檔案的功能: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File;
JAVA反射機制(java reflect): 在JAVA運行時環境中,對於任意一個類,能否知道這個類有哪些屬性和方法。對於任意一個對象,能否調用他的方法。這些答案是肯定的,這種動態擷取類的資訊,以及動態調用類的方法的功能來源於JAVA的反射。從而使JAVA具有動態語言的特性。 JAVA發射機制主要提供以下功能: 1、在運行時判斷任意一個對象所屬的類
java5中新增加了java.util.Queue介面,用以支援隊列的常見操作。該介面擴充了java.util.Collection介面。 Queue使用時要盡量避免Collection的add()和remove()方法,而是要使用offer()來加入元素,使用poll()來擷取並移出元素。它們的優 點是通過傳回值可以判斷成功與否,add()和remove()方法在失敗的時候會拋出異常。 如果要使用前端而不移出該元素,使用 element()或者peek()方法。