锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产AV无码专区亚洲AVJULIA,全亚洲最新黄色特级网站 ,久久香蕉国产线看观看亚洲片http://www.tkk7.com/jiangshachina/category/54943.html鍚屾槸Java鐖卞ソ鑰咃紝鐩擱綍蹇呮浘鐩歌瘑錛?lt;br>    a cup of Java, cheers!zh-cnSun, 08 Nov 2015 04:23:30 GMTSun, 08 Nov 2015 04:23:30 GMT60Play OpenJDK: 鍏佽浣犵殑鍖呭悕浠?java."寮澶?鍘?http://www.tkk7.com/jiangshachina/archive/2015/11/01/428010.htmlSha JiangSha JiangSun, 01 Nov 2015 12:06:00 GMThttp://www.tkk7.com/jiangshachina/archive/2015/11/01/428010.htmlhttp://www.tkk7.com/jiangshachina/comments/428010.htmlhttp://www.tkk7.com/jiangshachina/archive/2015/11/01/428010.html#Feedback0http://www.tkk7.com/jiangshachina/comments/commentRss/428010.htmlhttp://www.tkk7.com/jiangshachina/services/trackbacks/428010.html
Play OpenJDK: 鍏佽浣犵殑鍖呭悕浠?java."寮澶?/span>

鏈枃鏄疨lay OpenJDK鐨勭浜岀瘒錛屼粙緇嶄簡濡備綍紿佺牬JDK涓嶅厑璁歌嚜瀹氫箟鐨勫寘鍚嶄互"java."寮澶磋繖涓闄愬埗銆傝繖涓鎶宸у浜庡熀浜庡凡鏈夌殑JDK鍚慾ava.*涓坊鍔犳柊綾昏繕鏄湁鎵甯姪鐨勩?2015.11.02鏈鍚庢洿鏂?

鏃犺鏄粡楠屼赴瀵岀殑Java紼嬪簭鍛橈紝榪樻槸Java鐨勫垵瀛﹁咃紝鎬諱細(xì)鏈変竴浜涗漢鎴栨湁鎰忔垨鏃犳剰鍦板垱寤轟竴涓寘鍚嶄負(fù)"java"鐨勭被銆備絾鍑轟簬瀹夊叏鏂歸潰鐨勮冭檻錛孞DK涓嶅厑璁稿簲鐢ㄧ▼搴忕被鐨勫寘鍚嶄互"java"寮澶達(dá)紝鍗充笉鍏佽java錛宩ava.foo榪欐牱鐨勫寘鍚嶃備絾javax錛宩avaex榪欐牱鐨勫寘鍚嶆槸鍏佽鐨勩?br />
1. 渚嬪瓙
姣斿錛屼互OpenJDK 8涓哄熀紜錛岃噯閫犺繖鏍蜂竴涓緥瀛愩傜瑪鑰呮兂鍚慜penJDK璐$尞涓涓悓姝ョ殑HashMap錛屽嵆綾籗ynchronizedHashMap錛岃岃綾葷殑鍖呭悕灝變負(fù)java.util銆係ynchronizedHashMap鏄疕ashMap鐨勫悓姝ヤ唬鐞嗭紝鐢變簬榪欎袱涓被鏄湪鍚屼竴鍖呭唴錛孲ynchronizedHashMap涓嶄粎鍙互璁塊棶HashMap鐨刾ublic鏂規(guī)硶涓庡彉閲忥紝榪樺彲浠ヨ闂瓾ashMap鐨刾rotected鍜宒efault鏂規(guī)硶涓庡彉閲忋係ynchronizedHashMap鐪嬭搗鏉ュ彲鑳藉儚涓嬮潰榪欐牱錛?br />
package java.util;

public class SynchronizedHashMap<K, V> {

    
private HashMap<K, V> hashMap = null;

    
public SynchronizedHashMap(HashMap<K, V> hashMap) {
        
this.hashMap = hashMap;
    }

    
public SynchronizedHashMap() {
        
this(new HashMap<>());
    }

    
public synchronized V put(K key, V value) {
        
return hashMap.put(key, value);
    }

    
public synchronized V get(K key) {
        
return hashMap.get(key);
    }

    
public synchronized V remove(K key) {
        
return hashMap.remove(key);
    }

    
public synchronized int size() {
        
return hashMap.size; // 鐩存帴璋冪敤HashMap.size鍙橀噺錛岃岄潪HashMap.size()鏂規(guī)硶
    }
}

2. ClassLoader鐨勯檺鍒?/span>
浣跨敤javac鍘葷紪璇戞簮鏂囦歡SynchronizedHashMap.java騫舵病鏈夐棶棰橈紝浣嗗湪浣跨敤緙栬瘧鍚庣殑SynchronizedHashMap.class鏃訛紝JDK鐨凜lassLoader鍒欎細(xì)鎷掔粷鍔犺澆java.util.SynchronizedHashMap銆?br />璁炬兂鏈夊涓嬬殑搴旂敤紼嬪簭錛?br />
import java.util.SynchronizedHashMap;

public class SyncMapTest {

    
public static void main(String[] args) {
        SynchronizedHashMap
<String, String> syncMap = new SynchronizedHashMap<>();
        syncMap.put(
"Key""Value");
        System.out.println(syncMap.get(
"Key"));
    }
}
浣跨敤java鍛戒護(hù)鍘昏繍琛岃搴旂敤鏃訛紝浼?xì)鎶ュ涓嬮敊璇Q?br />
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.util
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:
659)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:
758)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:
467)
    at java.net.URLClassLoader.access$
100(URLClassLoader.java:73)
    at java.net.URLClassLoader$
1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$
1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:
361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:
424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:
357)
    at SyncMapTest.main(SyncMapTest.java:
6)
鏂規(guī)硶ClassLoader.preDefineClass()鐨勬簮浠g爜濡備笅錛?br />
private ProtectionDomain preDefineClass(String name,
        ProtectionDomain pd)
{
    
if (!checkName(name))
        
throw new NoClassDefFoundError("IllegalName: " + name);

    
if ((name != null&& name.startsWith("java.")) {
        
throw new SecurityException
            (
"Prohibited package name: " +
            name.substring(
0, name.lastIndexOf('.')));
    }
    
if (pd == null) {
        pd 
= defaultDomain;
        }

    
if (name != null) checkCerts(name, pd.getCodeSource());

    
return pd;
}
寰堟竻妤氬湴錛岃鏂規(guī)硶浼?xì)鍏垕個(gè)鏌ュ緟鍔犺澆鐨勭被鍏ㄥ悕(鍗沖寘鍚?綾誨悕)鏄惁浠?java."寮澶達(dá)紝濡傛槸錛屽垯鎶涘嚭SecurityException銆傞偅涔堝彲浠ュ皾璇曚慨鏀硅鏂規(guī)硶鐨勬簮浠g爜錛屼互紿佺牬榪欎竴闄愬埗銆?br />浠嶫DK涓殑src.zip涓嬁鍑簀ava/lang/ClassLoader.java鏂囦歡錛屼慨鏀瑰叾涓殑preDefineClass鏂規(guī)硶浠ュ幓闄ょ浉鍏抽檺鍒躲傞噸鏂扮紪璇慍lassLoader.java錛屽皢鐢熸垚鐨凜lassLoader.class錛孋lassLoader$1.class錛孋lassLoader$2.class錛孋lassLoader$3.class錛孋lassLoader$NativeLibrary.class錛孋lassLoader$ParallelLoaders.class鍜孲ystemClassLoaderAction.class鍘繪浛鎹DK/jre/lib/rt.jar涓搴旂殑綾匯?br />鍐嶆榪愯SyncMapTest錛屽嵈浠嶇劧浼?xì)鎶涘嚭鐩稿悓鐨凷ecurityException錛屽涓嬫墍紺猴細(xì)
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.util
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:
760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:
467)
    at java.net.URLClassLoader.access$
100(URLClassLoader.java:73)
    at java.net.URLClassLoader$
1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$
1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:
361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:
424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:
357)
    at SyncMapTest.main(SyncMapTest.java:
6)
姝ゆ椂鏄敱鏂規(guī)硶ClassLoader.defineClass1()鎶涘嚭鐨凷ecurityException銆備絾榪欐槸涓涓猲ative鏂規(guī)硶錛岄偅涔堜粎閫氳繃淇敼Java浠g爜鏄棤娉曡В鍐寵繖涓棶棰樼殑(JDK鐪熸槸灞傚眰璁鵑槻鍟?銆傚師鏉ュ湪Hotspot鐨凜++婧愭枃浠秇otspot/src/share/vm/classfile/systemDictionary.cpp涓湁濡備笅璇彞錛?br />
const char* pkg = "java/";
if (!HAS_PENDING_EXCEPTION &&
    !class_loader.is_null() &&
    parsed_name !
= NULL &&
    !strncmp((const char*)parsed_name->bytes()
, pkg, strlen(pkg))) {
  // It is illegal to define classes in the 
"java." package from
  // JVM_DefineClass or jni_DefineClass unless you're the bootclassloader
  ResourceMark rm(THREAD)
;
  char* name = parsed_name->as_C_string();
  char* index = strrchr(name, '/');
  *index = '\0'; // chop to just the package name
  while ((index = strchr(name, '/')) != NULL) {
    *index 
= '.'; // replace '/' with '.' in package name
  }
  const char* fmt 
= "Prohibited package name: %s";
  size_t len = strlen(fmt) + strlen(name);
  char* message = NEW_RESOURCE_ARRAY(char, len);
  jio_snprintf(message, len, fmt, name);
  Exceptions::_throw_msg(THREAD_AND_LOCATION,
    vmSymbols::java_lang_SecurityException()
, message);
}
淇敼璇ユ枃浠朵互鍘婚櫎鎺夌浉鍏抽檺鍒訛紝騫舵寜鐓ф湰緋誨垪鐨?a href="http://www.tkk7.com/jiangshachina/archive/2015/10/30/427994.html">絎竴綃囨枃绔?/a>涓粙緇嶇殑鏂規(guī)硶鍘婚噸鏂版瀯寤轟竴涓狾penJDK銆傞偅涔堬紝榪欎釜鏂扮殑JDK灝嗕笉浼?xì)鍐嶅鍖呭悕鏈変恢M綍闄愬埗浜嗐?br />
3. 瑕嗙洊Java鏍稿績API錛?/strong>
寮鍙戣呬滑鍦ㄤ嬌鐢ㄤ富嫻両DE鏃朵細(xì)鍙戠幇錛屽鏋滃伐紼嬫湁澶氫釜jar鏂囦歡鎴栨簮鏂囦歡鐩綍涓寘鍚浉鍚岀殑綾伙紝榪欎簺IDE浼?xì)鏍规嵁鐢ㄦ堜h寚瀹氱殑浼樺厛綰ч『搴忔潵鍔犺澆榪欎簺綾匯傛瘮濡傦紝鍦‥clipse涓紝鍙抽敭鐐瑰嚮鏌愪釜Java宸ョ▼-->灞炴?->Java Build Path-->Order and Export錛屽湪榪欓噷璋冩暣鍚勪釜綾誨簱鎴栨簮鏂囦歡鐩綍鐨勪綅緗紝鍗沖彲鎸囧畾鍔犺澆綾葷殑浼樺厛綰с?br />褰撳紑鍙戣呭湪浣跨敤鏌愪釜寮婧愮被搴?jar鏂囦歡)鏃訛紝鎯沖鍏朵腑鏌愪釜綾昏繘琛屼慨鏀癸紝閭d箞灝卞彲浠ュ皢璇ョ被鐨勬簮浠g爜澶嶅埗鍑烘潵錛屽茍鍦↗ava宸ョ▼涓垱寤轟竴涓悓鍚嶇被錛岀劧鍚庢寚瀹欵clipse浼樺厛鍔犳伅鑷繁鍒涘緩鐨勭被銆傚嵆錛屽湪緙栬瘧鏃朵笌榪愯鏃剁敤鑷繁鍒涘緩鐨勭被鍘昏鐩栫被搴撲腑鐨勫悓鍚嶇被銆傞偅涔堬紝鏄惁鍙互濡傛硶鐐埗鍘昏鐩朖ava鏍稿績API涓殑綾誨憿錛?br />鑰冭檻鍘昏鐩栫被java.util.HashMap錛屽彧鏄畝鍗曞湪瀹冪殑put()鏂規(guī)硶娣誨姞涓鏉℃墦鍗拌銆傞偅涔堝氨闇瑕佸皢src.zip涓殑java/util/HashMap.java澶嶅埗鍑烘潵錛屽茍鍦ㄥ綋鍓岼ava宸ョ▼涓垱寤轟竴涓悓鍚嶇被java.util.HashMap錛屽茍淇敼put()鏂規(guī)硶錛屽涓嬫墍紺猴細(xì)
package java.util;

public class HashMap<K,V> extends AbstractMap<K,V>
    
implements Map<K,V>, Cloneable, Serializable {
    .
    
public V put(K key, V value) {
        System.out.printf(
"put - key=%s, value=%s%n", key, value);
        
return putVal(hash(key), key, value, falsetrue);
    }
    
}
姝ゆ椂錛屽湪Eclipse鐜涓紝SynchronizedHashMap浣跨敤鐨刯ava.util.HashMap琚涓烘槸涓婅堪鏂板垱寤虹殑HashMap綾匯傞偅涔堣繍琛屽簲鐢ㄧ▼搴廠yncMapTest鍚庣殑鏈熸湜杈撳嚭搴旇濡備笅鎵紺猴細(xì)
put - key=Key, value=Value
Value
浣嗚繍琛孲yncMapTest鍚庣殑瀹為檯杈撳嚭鍗翠負(fù)濡備笅錛?br />
Value
鐪嬭搗鏉ワ紝鏂板垱寤虹殑java.util.HashMap騫舵病鏈夎浣跨敤涓娿傝繖鏄負(fù)浠涔堝憿錛熻兘澶?鎯沖儚"鍒扮殑鍘熷洜榪樻槸綾誨姞杞藉櫒銆傚叧浜嶫ava綾誨姞杞藉櫒鐨勮璁鴻秴鍑轟簡鏈枃鐨勮寖鍥達(dá)紝鑰屼笖鍏充簬璇ヤ富棰樼殑鏂囩珷宸叉槸姹楃墰鍏呮爧錛屼絾鏈枃浠嶄細(xì)綆榪板叾瑕佺偣銆?br />Java綾誨姞杞藉櫒鐢變笅鑷充笂鍒嗕負(fù)涓変釜灞傛錛氬紩瀵肩被鍔犺澆鍣?Bootstrap Class Loader)錛屾墿灞曠被鍔犺澆鍣?Extension Class Loader)鍜屽簲鐢ㄧ▼搴忕被鍔犺澆鍣?Application Class Loader)銆傚叾涓紩瀵肩被鍔犺澆鍣ㄧ敤浜庡姞杞絩t.jar榪欐牱鐨勬牳蹇冪被搴撱傚茍涓斿紩瀵肩被鍔犺澆鍣ㄤ負(fù)鎵╁睍綾誨姞杞藉櫒鐨勭埗鍔犺澆鍣紝鑰屾墿灞曠被鍔犺澆鍣ㄥ張涓哄簲鐢ㄧ▼搴忕被鍔犺澆鍣ㄧ殑鐖跺姞杞藉櫒銆傚悓鏃禞VM鍦ㄥ姞杞界被鏃跺疄琛屽鎵樻ā寮忋傚嵆錛屽綋鍓嶇被鍔犺澆鍣ㄥ湪鍔犺澆綾繪椂錛屼細(xì)棣栧厛濮旀墭鑷繁鐨勭埗鍔犺澆鍣ㄥ幓榪涜鍔犺澆銆傚鏋滅埗鍔犺澆鍣ㄥ凡緇忓姞杞戒簡鏌愪釜綾伙紝閭d箞瀛愬姞杞藉櫒灝嗕笉浼?xì)鍐崑啤鍔犺浇銆?br />鐢變笂鍙煡錛屽綋搴旂敤紼嬪簭璇曞浘鍔犺澆java.util.Map鏃訛紝瀹冧細(xì)棣栧厛閫愮駭鍚戜笂濮旀墭鐖跺姞杞藉櫒鍘誨姞杞借綾伙紝鐩村埌寮曞綾誨姞杞藉櫒鍔犺澆鍒皉t.jar涓殑java.util.HashMap銆傜敱浜庤綾誨凡緇忚鍔犺澆浜嗭紝鎴戜滑鑷繁鍒涘緩鐨刯ava.util.HashMap灝變笉浼?xì)琚噸澶嶅姞铦层?br />浣跨敤java鍛戒護(hù)榪愯SyncMapTest紼嬪簭鏃跺姞涓奦M鍙傛暟-verbose:class錛屼細(xì)鍦ㄧ獥鍙d腑鎵撳嵃鍑哄艦寮忓涓嬬殑璇彞錛?br />
[Opened /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]
[Loaded java.lang.Object from /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]

[Loaded java.util.HashMap from /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]
[Loaded java.util.HashMap$Node from /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]

[Loaded java.util.SynchronizedHashMap from file:/home/ubuntu/projects/test/classes/]
Value
[Loaded java.lang.Shutdown from /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]
[Loaded java.lang.Shutdown$Lock from /home/ubuntu/jdk1.8.0_custom/jre/lib/rt.jar]
浠庝腑鍙互鐪嬪嚭錛岀被java.util.HashMap紜疄鏄粠rt.jar涓姞杞藉埌鐨勩備絾鐞嗚涓婏紝鍙互閫氳繃鑷畾涔夌被鍔犺澆鍣ㄥ幓鎵撶牬濮旀墭妯″紡錛岀劧鑰岃繖灝辨槸鍙︿竴涓瘽棰樹簡銆?/div>


Sha Jiang 2015-11-01 20:06 鍙戣〃璇勮
]]>
Play OpenJDK: 鏋勫緩浣犺嚜宸辯殑JDK(鍘?http://www.tkk7.com/jiangshachina/archive/2015/10/30/427994.htmlSha JiangSha JiangFri, 30 Oct 2015 15:17:00 GMThttp://www.tkk7.com/jiangshachina/archive/2015/10/30/427994.htmlhttp://www.tkk7.com/jiangshachina/comments/427994.htmlhttp://www.tkk7.com/jiangshachina/archive/2015/10/30/427994.html#Feedback0http://www.tkk7.com/jiangshachina/comments/commentRss/427994.htmlhttp://www.tkk7.com/jiangshachina/services/trackbacks/427994.html
Play OpenJDK: 鏋勫緩浣犺嚜宸辯殑JDK

璁″垝浣縋lay OpenJDK鎴愪負(fù)涓緇勪粙緇嶅浣曚嬌鐢ㄥ茍鍙備笌OpenJDK欏圭洰鐨勭郴鍒楁枃绔犮傛湰鏂囨槸璇ョ郴鍒楃殑絎竴綃囨枃绔狅紝瀹冨熀浜嶰penJDK 8鐨勬簮浠g爜浠嬬粛浜嗘瀯寤轟竴涓睘浜庤嚜宸辯殑JDK鏂規(guī)硶銆?2015.10.30鏈鍚庢洿鏂?

1. OpenJDK
鏇劇粡鐨凷un Microsystems. Inc錛屼篃灝辨槸Java璇█鐨勫彂鏄庤咃紝灝嗗畠鐨凧DK浠g爜璐$尞鍑烘潵錛屾垚绔嬩簡涓涓紑婧愰」鐩紝鍗?a >OpenJDK銆?br />    鍚屾椂錛屽畠涔熸槸涓涓ぞ鍖恒傜浉鍏崇殑鍏徃錛岀粍緇囧拰涓漢鍦ㄨ繖涓ぞ鍖轟腑鍗忎綔寮鍙慜penJDK銆傜ぞ鍖烘牴鎹笉鍚岀殑棰嗗煙鎴栭」鐩彁渚涗簡涓緋誨垪鐨?a >閭歡鍒楄〃錛屽埄鐩婄浉鍏蟲柟鎴栧鍏舵劅鍏磋叮鐨勪釜浜洪兘鍙互璁㈤槄榪欎簺閭歡鍒楄〃鍘昏繘琛屽叧娉ㄥ拰璁ㄨ銆備緥濡傦紝Java鏍稿績API鐨勯偖浠跺垪琛ㄦ槸core-libs-dev@openjdk.java.net錛屽叧浜巎ava.lang錛宩ava.util絳夋牳蹇傾PI鐨勬柊鐗規(guī)ч兘浼?xì)鍦q欓噷榪涜璁ㄨ錛屽茍瀵瑰叾鏈緇堢殑瀹炵幇浠g爜榪涜瀹℃煡銆備換浣曞皢瑕佽繘鍏penJDK鐗堟湰搴撶殑婧愪唬鐮侊紝鏃犺鏄駭鍝佷唬鐮?鍗籌紝瑕侀殢JDK鍙戝竷鐨勭▼搴?錛岃繕鏄祴璇曚唬鐮侊紝閮介渶瑕佸湪紺懼尯涓繘琛屽叕寮鐨勪唬鐮佸鏌ャ?br />    閫夋嫨涓涓嚜宸辨劅鍏磋叮鐨勯鍩熸垨欏圭洰錛屽姞鍏ュ畠鐨勯偖浠跺垪琛紝闀挎湡璺熻釜瀹冪殑鍙戝睍錛岀湅鐫涓撳浠殑璁ㄨ銆佷簤璁烘帹鍔↗DK鐨勬紨榪涳紝瀛︿範(fàn)寮鍙戣呬滑鐨凙PI璁捐涓庝唬鐮佸疄鐜幫紝...錛岃繖浜涘鑷繁鐨勬垚闀塊兘鏄瀬鏈夊府鍔╃殑銆備篃璁革紝榪樿兘鐪嬪埌涓浜涙湁瓚g殑鍏崷;-)

2. 鍑嗗宸ヤ綔
鍦ㄥ嚑縐嶄富嫻佹搷浣滅郴緇燂紝Linux(濡俇buntu鍜孎edora)錛學(xué)indows(7鍜?)錛孧acOS(Lion鍜孧outain Lion)錛屼腑閮藉彲浠ユ瀯寤篛penJDK錛屽叿浣撶殑緇嗚妭鍙互鍙傝瀹樻柟鐨勪竴綃囨枃妗?/a>銆?br />    鏈枃閫夋嫨浣跨敤Ubuntu 14.04銆傚潶鐧藉湴璇達(dá)紝閫夋嫨浣跨敤Ubuntu錛屽疄鏄洜涓哄湪Linux鐜涓瀯寤篛penJDK闈炲父綆鍗曘傝嫢鍦╓indows涓繘琛屾瀯寤猴紝鍒欓渶瑕佸畨瑁匳isual Studio C++緙栬瘧鍣ㄣ侻acOS錛熷棷錛屾垜娌℃湁MBP銆傚彲鑳芥洿澶氫漢騫蟲椂鏄嬌鐢╓indows錛屼絾瀹夎涓涓狶inux涔熶笉楹葷儲銆傚厛瀹夎鍏嶈垂鐨刅M宸ュ叿VirtaulBox錛屽啀鍘諱笅杞経buntu鐨?a >ISO鏂囦歡錛岀劧鍚庝嬌鐢╒irtualBox鍘誨畨瑁匲buntu銆俈irtualBox綆鍗曟槗鐢紝緗戜笂鐨勭浉鍏寵祫鏂欎篃闈炲父鐨勫銆?br />    OpenJDK鐨勬簮鏂囦歡鐗堟湰搴撳熀浜?a >Mercurial(hg)錛屽畠鏄竴涓笌Git鐩鎬技鐨勫垎甯冨紡鐗堟湰鎺у埗宸ュ叿銆傚湪Ubuntu涓畨瑁匨ercurial鍙渶瑕佹墽琛屽懡浠?br />
$ sudo apt-get install mercurial
    OpenJDK涓悇欏圭洰鐨勬簮浠g爜鐗堟湰搴撶殑璺緞鍧囧湪http://hg.openjdk.java.net/涔嬩笅錛屽湪榪欓噷鍙互鎵懼埌6錛?錛?錛?鍜孞igsaw鐨勬簮浠g爜銆傚叾涓璊DK 8鐨勬渶鏂板紑鍙戠増鏈簱璺緞涓篽ttp://hg.openjdk.java.net/jdk8u/jdk8u-dev/銆?br />    鍙﹀錛屾瀯寤篛penJDK鏃墮渶瑕佷竴涓惎鍔↗DK錛屾湰鏂囬夋嫨鏋勫緩OpenJDK 8錛岄偅涔堝惎鍔↗DK鐨勭増鏈簲涓嶄綆浜?銆?br />
3. 涓嬭澆婧愪唬鐮?/span>
鍏嬮殕鐗堟湰搴擄紝
$ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/ jdk8-src
requesting all changes
adding changesets
adding manifests
adding file changes
added 
1570 changesets with 1958 changes to 141 files
updating to branch default
85 files updated, 0 files merged, 0 files removed, 0 files unresolved
榪涘叆婧愪唬鐮佺洰褰?br />
$ cd jdk8-src/
OpenJDK鐨勬簮浠g爜鐗堟湰搴撳疄闄呬笂鍖呭惈澶氫釜鐙珛鐨勫瓙鐗堟湰搴擄紝闇瑕佹墽琛屽涓嬭剼鏈幓鍒嗗埆涓嬭澆鍚勪釜瀛愮増鏈簱鐨勬簮浠g爜錛?br />
$ sh get_source.sh
# Repositories:  corba jaxp jaxws langtools jdk hotspot nashorn
                corba:   hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/corba corba
                 jaxp
:   hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jaxp jaxp
                corba
:   requesting all changes
                 jaxp
:   requesting all changes

4. 鏋勫緩
璋冪敤configure榪涜棰勬瀯寤猴紝鍏朵腑鐨勫弬鏁?-with-boot-jdk鐢ㄤ簬鎸囧畾鍚姩JDK鐨勮礬寰勩傚鏋滃惎鍔↗DK鐨刯ava鍛戒護(hù)宸插瓨鍦ㄤ簬PATH鐜鍙橀噺涓紝璇ュ弬鏁板彲浠ュ拷鐣ャ?br />
$ sh configure --with-boot-jdk=/path/to/boot/jdk
璇ヨ繃紼嬩細(xì)媯(gè)嫻嬫瀯寤虹幆澧冩槸鍚︾鍚堣姹傦紝濡傛湁闂錛屽畠浼?xì)缁欏嚭鎻惤C恒傛瘮濡傦紝
configure: error: Could not find X11 libraries. You might be able to fix this by running 'sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev'.
姝ゆ椂鏍規(guī)嵁鎻愮ず瀹夎鎵闇瑕佺殑搴撳嵆鍙傚啀閲嶆柊鎵ц涓婅堪configure鍛戒護(hù)錛屽彲鑳借繕浼?xì)鎻惤C虹己灝戝叾瀹冪殑搴擄紝閭d箞鍐嶆鏍規(guī)嵁鎻愮ず榪涜瀹夎銆傚姝ゅ弽澶嶏紝鍙埌棰勬瀯寤烘垚鍔熷畬鎴愩?br />鏈鍚庡氨鏄繘琛屾瀯寤猴紝鐩存帴鎵ц濡備笅鍛戒護(hù)錛?br />
$ make all
鍦ㄦ榪囩▼涓彲浠ヤ細(xì)閬囧埌涓浜涜鍛婏紝涓嶅繀鐞嗕細(xì)錛岃愬績絳夊緟...瀹屾垚鍚庯紝浼?xì)鍑虹幇濡備笅鐨勬眹鎬諱俊鎭紝
----- Build times -------
Start 2015-10-30 22:11:10
End   2015-10-30 22:52:54
00:01:01 corba
00:01:08 demos
00:06:49 docs
00:19:37 hotspot
00:01:47 images
00:00:35 jaxp
00:00:49 jaxws
00:08:23 jdk
00:01:09 langtools
00:00:25 nashorn
00:41:44 TOTAL
-------------------------
Finished building OpenJDK for target 'all'
鍦ㄥ綋鍓嶈礬寰勪笅浼?xì)鐢熸垚涓涓猙uild鐩綍錛屾瀯寤哄ソ鐨凧DK灝卞湪閭i噷闈€傛柊JDK鐨勫叿浣撹礬寰勭被浼間簬build/linux-x86_64-normal-server-release/images/jdk銆傚彲浠ユ墽琛屽涓嬪懡浠ゅ幓嫻嬭瘯榪欎釜JDK錛?br />
$ build/linux-x86_64-normal-server-release/images/jdk/bin/java -version
openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-ubuntu_2015_10_30_22_07-b00)
OpenJDK 64-Bit Server VM (build 25.66-b00, mixed mode)


Sha Jiang 2015-10-30 23:17 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 免费无码av片在线观看| 97无码免费人妻超级碰碰碰碰| 亚洲欧洲精品久久| 亚洲国产精品专区| 热久久精品免费视频| 国产免费一区二区三区不卡| 亚洲综合成人婷婷五月网址| 97青青草原国产免费观看| 亚洲av午夜成人片精品网站| 国产午夜无码精品免费看| 中国亚洲呦女专区| 亚洲五月综合缴情在线观看| 动漫黄网站免费永久在线观看| 亚洲国产精品久久人人爱| 免费一区二区三区四区五区| 88av免费观看| rh男男车车的车车免费网站| 亚洲国产成人无码av在线播放| 国产国拍亚洲精品福利| 最近中文字幕mv免费高清视频7| 亚洲精品又粗又大又爽A片| 夭天干天天做天天免费看| 国产免费网站看v片在线| 男人的天堂av亚洲一区2区| 国产免费爽爽视频免费可以看| 免费视频精品一区二区三区| 高潮内射免费看片| 亚洲熟女乱色一区二区三区| 国产一区二区三区在线免费观看| 色欲A∨无码蜜臀AV免费播 | 日本特黄特色免费大片| 午夜影院免费观看| 成人毛片100免费观看| 国产亚洲精品国产福利在线观看| 亚洲看片无码在线视频| 亚洲精品免费在线视频| 亚洲av无码一区二区乱子伦as | 97久久精品亚洲中文字幕无码| 国产美女亚洲精品久久久综合| 91精品国产免费久久国语麻豆| 韩国免费a级作爱片无码|