锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍦╦ava紼嬪簭涓瘡涓涓被閮芥湁涓涓狢lass瀵硅薄錛岃淇濆瓨鍦ㄥ悓鍚嶇殑.Class瀵硅薄褰撲腑錛孞VM浼氫嬌鐢ㄧ被鍔犺澆鍣ㄥ姞杞紺lass鏂囦歡鐢熸垚綾葷殑瀵硅薄淇℃伅錛?/p>
褰撴垜浠垱寤轟竴涓被鐨勫璞℃垨鑰呰皟鐢ㄨ繖涓璞$殑闈欐佹柟娉?jvm浼氳嚜鍔ㄥ姞杞界被鐨勫璞′俊鎭?/p>
鎴戜滑涓鑸父鐢ㄧ敤涓ょ鏂瑰紡鑾峰緱綾葷殑瀵硅薄淇℃伅錛?/p>
1. 鎴戜滑鍙互鐢–lass.forName()鏂規硶鍔ㄦ佺殑鏍規嵁綾誨悕鑾峰緱涓涓被鐨凜lass瀵硅薄錛?/p>
2. 鎴戜滑榪樺彲浠ョ敤Class class = ClassName.class 鏉ョ洿鎺ヨ幏鍙栦竴涓被鐨勭被鍨嬩俊鎭?浣嗙敤瀹冨拰Class.forName()鑾峰彇綾葷殑瀵硅薄 寮曠敤淇℃伅鍦ㄩ潤鎬佸潡鏃剁殑鎵ц鏃墮棿涓婁笉鍚岋紝鐪嬩笅闈㈢殑渚嬪瓙錛?/p>
涓涓櫘閫氱被淇℃伅 浣跨敤榪欑鏂規硶寮曠敤綾葷殑瀵硅薄涓嶄細濮嬪寲闈欐佸彉閲忓拰鎵ц闈欐佸潡淇℃伅錛岃繖浜涗唬鐮佹柟娉曚細鍦ㄩ嬈″紩鐢ㄦ椂鎵ц錛?/p>
濡備笅寮曠敤鐖剁被鐨勯潤鎬佸彉閲忥紝涓嶄細鎵ц瀛愮被鐨勯潤鎬佸潡錛?/p>
鎵撳嵃瀛愮被鐨勯潤鎬佸彉閲忥紝鎵鏈夌殑浠g爜閮戒細鎵ц 浣嗘槸浣跨敤Class.forName 綾誨姞杞芥椂灝變細瀹屾垚鍒濆鍖栧伐浣滐紟 榪欎釜鏄粈涔堬紝灝辨槸瑙e喅涓涓嚎紼嬪唴鍏變韓涓涓彉閲忥紝榪欎釜鍙橀噺鍙湪榪欎釜綰跨▼鍐呴儴鏈夋晥錛屽湪涓涓嚎紼嬪唴璁塊棶鐨勯兘涓涓悓涓涓璞★紝鑰屽涓嚎紼嬩箣闂寸殑榪欎釜瀵硅薄鍗存槸鐩鎬簰鐙珛鐨勩傝鏉ュ氨鏄瘡涓涓嚎紼嬮兘鏈変竴涓嫭绔嬬殑姝ょ嚎紼嬪壇鏈?br>浣跨敤ThreadLocal涓鑸兘澹版槑涓洪潤鎬佺殑鍙橀噺 鎴戜滑鍙互浣跨敤澶氫釜TheadLocal錛屾潵浣夸竴涓嚎紼嬮噷鏈夊涓叡浜殑鍙橀噺 1. 娣誨姞甯︽湁鏁版嵁鍊?(< 嬈℃暟縐?>) ReceiveTimeout DWORD 鍊?*錛?鍦ㄤ互涓嬫敞鍐岃〃欏逛腑 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings MICROSOFT PB(16Bit) PB(32Bit) Bool Boolean Boolean Char* Ref string Ref String Colorref Uint Ulong Dword Uint Ulong Handle Uint Ulong Hdc Uint Ulong Hfile Uint Ulong Hinstance Uint Ulong Hwnd Uint Ulong Int Int Int Lparam Uint Ulong Lpbyte Ref Int Ref Long Lpdword Ref Uint Ref Ulong Lpfiletime Ref Time Ref Time Lpint Ref Int Ref Long Lpstr,Lpststr Ref String Ref String Lpvoid Ref Structstruct_inst Ref Struct struct_inst Mcierror Long Long Lpstr,Lpststr Ref String Ref String Lpvoid Ref Structstruct_inst Ref Struct struct_inst Pbyte Ref Int[#] Ref Long[#] Short Int Int Structure Ref Struct struct_inst Ref Struct Struct_inst Uint Uint Uint Void** SUBROUTINE SUBROUTINE Word Int Ulong 鑾峰緱綾葷殑瀵硅薄淇℃伅
1: /**
2: * 浣跨敤姝ゆ柟娉曚負鑷姩鍒濆鍖栭潤鎬佸彉閲忓拰鎵цstatic鍧楃殑浠g爜
3: * 濡傛灉鎵句笉鍒板璞′細鎶涘嚭涓涓狢lassNotFoundException
4: */
5: Class second = Class.forName("classLoad.Second");
1: interface Interface{
2: public static String interFlag = "鎺ュ彛";
3:
4: }
5:
6: class Parent implements Interface{
7: public static String parntFLAG = "鐖剁被闈欐佸彉閲?/span>";
8: static{
9: final String flag2 = "flag2";//static 鍖轟腑鍙兘鐢╢inal淇グ
10: System.out.println("鎴戝湪鐖剁被闈欐佸尯閲岄潰錛?/span>"+parntFLAG);
11: }
12:
13: public Parent(){
14: System.out.println("鎴戝湪鐖剁被鏋勯犲嚱鏁伴噷闈紒");
15: }
16: }
17:
18:
19: class Son extends Parent{
20: public static String sonFLAG = "瀛愮被綾婚潤鎬佸彉閲?/span>";
21: static{
22: System.out.println("鎴戝湪瀛愮被闈欐佸尯閲岄潰錛?/span>"+sonFLAG);
23: }
24:
25: public Son(){
26: System.out.println("鎴戝湪瀛愮被鏋勯犲嚱鏁伴噷闈紒");
27: }
28: }
1: interface Interface{
2: public static String interFlag = "鎺ュ彛";
3:
4: }
5:
6: class Parent implements Interface{
7: public static String parntFLAG = "鐖剁被闈欐佸彉閲?/span>";
8: static{
9: final String flag2 = "flag2";//static 鍖轟腑鍙兘鐢╢inal淇グ
10: System.out.println("鎴戝湪鐖剁被闈欐佸尯閲岄潰錛?/span>"+parntFLAG);
11: }
12:
13: public Parent(){
14: System.out.println("鎴戝湪鐖剁被鏋勯犲嚱鏁伴噷闈紒");
15: }
16: }
17:
18:
19: class Son extends Parent{
20: public static String sonFLAG = "瀛愮被綾婚潤鎬佸彉閲?/span>";
21: static{
22: System.out.println("鎴戝湪瀛愮被闈欐佸尯閲岄潰錛?/span>"+sonFLAG);
23: }
24:
25: public Son(){
26: System.out.println("鎴戝湪瀛愮被鏋勯犲嚱鏁伴噷闈紒");
27: }
28: }
1: public class ClassLoad {
2: public static void main(String[] args) throws ClassNotFoundException {
3:
4: //Son son = new Son();
5: /**
6: * 鎴戜滑浣跨敤涓涓被鐨勬椂鍊欓渶瑕佽繘琛屼互涓嬶紦欏瑰伐浣滐紟
7: * 1.鍔犺澆錛?br />
8: * 2.閾炬帴
9: * 3.鍒濆鍖栵紝姝ゆ浼氬垵濮嬪寲闈欐佸彉閲忓拰鎵ц闈欐佸潡淇℃伅錛屼絾鏄繖縐嶆柟娉曚細鍦?br />
10: * 鐪熸璋冪敤鏂規硶鏃舵墽琛?br />
11: */
12: Class son = Son.class;
13: System.out.println("闈欐佸尯鐨勫垵濮嬪寲浼氬湪璋冪敤鏃舵墽琛岋紒");
14: // parntFLAG 鏄埗綾葷殑闈欐佸彉閲忋
15: // 姝ゅ鍙細鎵ц鐖剁被鐨勯潤鎬佸揩
16: System.out.println(Son.parntFLAG);
17:
18: /**
19: * 榪愯緇撴灉
20: *闈欐佸尯鐨勫垵濮嬪寲浼氬湪璋冪敤鏃舵墽琛岋紒
21: *鎴戝湪鐖剁被闈欐佸尯閲岄潰錛佺埗綾婚潤鎬佸彉閲?br />
22: *鐖剁被闈欐佸彉閲?br />
23: */
24: }
25: }
1:
2: public class ClassLoad {
3: public static void main(String[] args) throws ClassNotFoundException {
4:
5: //Son son = new Son();
6: /**
7: * 鎴戜滑浣跨敤涓涓被鐨勬椂鍊欓渶瑕佽繘琛屼互涓嬶紦欏瑰伐浣滐紟
8: * 1.鍔犺澆錛?br />
9: * 2.閾炬帴
10: * 3.鍒濆鍖栵紝姝ゆ浼氬垵濮嬪寲闈欐佸彉閲忓拰鎵ц闈欐佸潡淇℃伅錛屼絾鏄繖縐嶆柟娉曚細鍦?br />
11: * 鐪熸璋冪敤鏂規硶鏃舵墽琛?br />
12: */
13: Class son = Son.class;
14: System.out.println("闈欐佸尯鐨勫垵濮嬪寲浼氬湪璋冪敤鏃舵墽琛岋紒");
15: // parntFLAG 鏄埗綾葷殑闈欐佸彉閲忋
16: // 姝ゅ鍙細鎵ц鐖剁被鐨勯潤鎬佸揩
17: System.out.println(Son.sonFLAG);
18:
19: /**
20: * 榪愯緇撴灉
21: * 闈欐佸尯鐨勫垵濮嬪寲浼氬湪璋冪敤鏃舵墽琛岋紒
22: * 鎴戝湪鐖剁被闈欐佸尯閲岄潰錛佺埗綾婚潤鎬佸彉閲?br />
23: * 鎴戝湪瀛愮被闈欐佸尯閲岄潰錛佸瓙綾葷被闈欐佸彉閲?br />
24: * 瀛愮被綾婚潤鎬佸彉閲?br />
25: */
26: }
27: }
1: public class ClassLoad {
2: public static void main(String[] args) throws Exception {
3: /**
4: * 浣跨敤Class.forName浼氳嚜鍔ㄥ姞杞芥墍鏈夐潤鎬佸尯鐨勪俊鎭?br />
5: */
6: Class son = Class.forName("classLoad.Son");
7: Son instance = (Son)son.newInstance();
8: /*
9: * 鎵ц緇撴灉
10: * 鎴戝湪鐖剁被闈欐佸尯閲岄潰錛佺埗綾婚潤鎬佸彉閲?br />
11: * 鎴戝湪瀛愮被闈欐佸尯閲岄潰錛佸瓙綾葷被闈欐佸彉閲?br />
12: * 鎴戝湪鐖剁被鏋勯犲嚱鏁伴噷闈紒
13: * 鎴戝湪瀛愮被鏋勯犲嚱鏁伴噷闈紒
14: */
15:
16: }
17: }
]]>
鍦ㄦ垜浠殑綰跨▼涓湁涓涓猼hreadLocals鐨凥ash琛ㄦ潵瀛樻斁榪欎釜瀵硅薄錛屾垜浠敤ThreadLocal瀵硅薄浣滀負涓婚敭錛屽洜姝ゆ垜浠殑ThreadLocal瀵硅薄澹版槑涓洪潤鎬佺殑
榪欎釜灝辨槸瑕佸疄鐜頒竴涓嚎紼嬮噷闈㈠叡浜竴涓彉閲?pre>public void set(Object value) {
Thread t = Thread.currentThread();
ThreadLocalMap map = getMap(t);
if (map != null)
map.set(this, value);
else
createMap(t, value);
}
ThreadLocalMap getMap(Thread t) {
return t.threadLocals;
}
]]>
渚嬪, 濡傛灉甯屾湜瓚呮椂鏈熼棿灝?8 鍒嗛挓, ReceiveTimeout 鏁版嵁鍊艱緗負 480000 (< 480 > 1000錛?銆?
2. 閲嶆柊鍚姩璁$畻鏈恒?br>璇︽儏
]]>
pb鑳戒嬌鐢ㄧ殑蹇呴』鏄爣鍑唚inapi鍗硃asical 鍘嬫爤欏哄簭
eg錛?/p>
DLLIMPORT WINAPI int CI_MACForPb( long nFunction, unsigned char *pEntity, unsigned char *pInData, unsigned long nInLength, unsigned char *pMAC, unsigned long *pnMACLength )