锘??xml version="1.0" encoding="utf-8" standalone="yes"?> Most of the puzzles in this chapter were based on name reuse. This section summarizes the various forms of name reuse. An instance method overrides all accessible instance methods with the same signature in superclasses [JLS 8.4.8.1], enabling dynamic dispatch; in other words, the VM chooses which overriding to invoke based on an instance's run-time type [JLS 15.12.4.4]. Overriding is fundamental to object-oriented programming and is the only form of name reuse that is not generally discouraged: A field, static method, or member type hides all accessible fields, static methods, or member types, respectively, with the same name (or, for methods, signature) in supertypes. Hiding a member prevents it from being inherited [JLS 8.3, 8.4.8.2, 8.5]: Methods in a class overload one another if they have the same name and different signatures. The overloaded method designated by an invocation is selected at compile time [JLS 8.4.9, 15.12.2]: A variable, method, or type shadows all variables, methods, or types, respectively, with the same name in a textually enclosing scope. If an entity is shadowed, you cannot refer to it by its simple name; depending on the entity, you cannot refer to it at all [JLS 6.3.1]: Although shadowing is generally discouraged, one common idiom does involve shadowing. Constructors often reuse a field name from their class as a parameter name to pass the value of the named field. This idiom is not without risk, but most Java programmers have decided that the stylistic benefits outweigh the risks: A variable obscures a type with the same name if both are in scope: If the name is used where variables and types are permitted, it refers to the variable. Similarly, a variable or a type can obscure a package. Obscuring is the only kind of name reuse where the two names are in different namespaces: variables, packages, methods, or types. If a type or a package is obscured, you cannot refer to it by its simple name except in a context where the syntax allows only a name from its namespace. Adhering to the naming conventions largely eliminates obscuring [JLS 6.3.2, 6.5]:
A Glossary of Name Reuse
Overriding
class Base {
public void f() { }
}
class Derived extends Base {
public void f() { } // overrrides Base.f()
}
Hiding
class Base {
public static void f() { }
}
class Derived extends Base {
public static void f() { } // hides Base.f()
}
Overloading
class CircuitBreaker {
public void f(int i) { } // int overloading
public void f(String s) { } // String overloading
}
Shadowing
class WhoKnows {
static String sentence = "I don't know.";
public static void main(String[] args) {
String sentence = "I know!"; // shadows static field
System.out.println(sentence); // prints local variable
}
}
class Belt {
private final int size;
public Belt(int size) { // Parameter shadows Belt.size
this.size = size;
}
}
Obscuring
public class Obscure {
static String System; // Obscures type java.lang.System
public static void main(String[] args) {
// Next line won't compile: System refers to static field
System.out.println("hello, obscure world!");
}
}
鐩墠錛屽氨鍥犵鎶ょ収(姣斿浣犲嚭鍥芥梾娓革紝鐣欏錛屾帰浜茬瓑絳?錛屽叏涓栫晫鍙湁20涓乏鍙崇殑鍥藉瀵逛腑鍥芥姢鐓у厤絳撅紝鍜屽反鍩烘柉鍧﹀拰瀛熷姞鎷夋姢鐓х殑寰呴亣宸笉澶氥傛姢鐓ф槸涓涓浗瀹跺叕姘戝湪鍥藉鐨勮韓浠借瘉浠訛紝鍏嶇鎴栬呰惤鍦扮浠庝竴瀹氱▼搴︿笂浣撶幇浜嗗浗瀹剁殑鍦頒綅錛屽浗姘戠礌璐ㄥ拰鍦ㄥ埆鍥界兢浼楃溂閲屼綘鐨勫艦璞°傜幇鍦ㄨ櫧鐒舵弧鎶ョ焊錛岀數瑙嗙殑"涓浗宕涜搗"璁猴紝浣嗗湪鏅氭皯浼楀浗闄呬簨鍔′笂榪樻槸鍦伴亾鐨勪笁嫻佸緟閬囷紝榪欏拰涓浗鐜板湪鐨勫浗闄呭湴浣嶅疄鍦ㄦ槸鏈夌偣涓嶇錛屽按灝嚦鏋?..鍊煎緱娉ㄦ剰鐨勬槸錛岄娓姢鐓ц嚜浠庡洖褰掑悗鍗翠竴鐩存病鍙楀獎鍝嶏紝鐜板湪鍏ㄧ悆120+鍥藉瀵歸娓姢鐓у厤絳炬垨钀藉湴絳俱備竴涓?琛屾斂鍖?鐨勬姢鐓у眳鐒舵瘮鍏舵墍鍦ㄥ浗瀹剁殑鎶ょ収濂戒嬌錛岃繖涔熺畻鏄璁╁浗鍐呮睏棰滅殑浜?..
鍏ㄧ悆鏈濂界敤鐨勫嚑涓浗瀹?鍦板尯)鎶ょ収錛屽浗鍚嶅悗澶存槸瀵硅鍥芥姢鐓у厤絳炬垨钀藉湴絳懼浗瀹舵暟鐩?..
1 Finland 130
1 Denmark 130
1 United States 130
2 Ireland 129
2 Sweden 129
2 Germany 129
3 United Kingdom 128
3 Italy 128
3 France 128
3 Japan 128
4 Spain 127
4 Norway 127
4 Switzerland 127
4 Belgium 127
5 Netherlands 126
HK鏈?24鐨?...
瀵逛腑鍥藉ぇ闄嗘姢鐓у厤絳劇殑鍥藉:
瀹夐亾灝?(鍥藉澶皬錛岃浠庢硶鍥芥垨瑗跨彮鐗欏叆澧?
闃塊瞾宸?(瀵瑰叏涓栫晫鍏嶇...闄や簡瀛熷姞鎷夊拰闃垮瘜姹楃殑鍏皯鎴栬呴毦姘?
璐濆畞 搴撳厠緹ゅ矝 (鍜屼腑鍥芥棤鐩磋埅) 澶氱背灝煎姞 (鍜屼腑鍥芥棤鐩磋埅)
婢抽棬 椹皵浠eか 姣涢噷姹傛柉 綾沖厠緗楀凹瑗夸簹
灝兼硦灝?钀ㄦ懇浜?濉炶垖灝?鎵緗楅棬緹ゅ矝 鏂噷鍏板崱
鍙欏埄浜?鐗圭鏂拰寮縐戞柉 鍥劇摝鍗?鐡︾航鍥?br>鍩冨強 (浠庤タ濂堝崐宀涘叆澧冩墠琛?
淇勭綏鏂?(鍥㈤槦)
灝變笉璇勮涓婂ご榪欎簺鍥藉浜嗭紝鏈変簺榪樺緱鍏堟嬁鏀懼ぇ闀滃幓鍦板浘涓婃壘鎵懼湪鍝噷銆傝繕鍑犱釜钀藉湴絳懼浗瀹訛紝涔熷熀鏈泦涓湪澶鉤媧嬪拰闈炴床...鏈変簺鍥藉鐢氳嚦浣犺惤鍦扮浜ょ殑閽辮秺澶氱粰鐨勫眳鐣欐椂闂磋秺闀?..ft~~~...璧氬姹囦篃涓嶉渶瑕佽繖鏍峰晩...
Some of the highlights:
* New default color scheme and syntax coloring
* Ruby Debugger enhancements (global vars, watch view, locals view)
* Redesigned Find / Replace dialog
* Plugin Manager allows you to distribute groups of IDE components (for example Ruby, SOA)
* Integrated Visual Design for Web Applications
* New, Integrated UI for CLDC/MIDP and CDC development
* Limited refactoring of GUI forms
* New keyboard shortcuts (they're supposed to be more logical now)
* New refactorings - 16 refactorings now available out of the box
* New directory chooser - easier to use for new NetBeans users
Of course there's much more available:
http://wiki.netbeans.org/wiki/view/NewAndNoteWorthyMilestone10
M10 was the last milestone, we will now be slowly approaching the betas (two betas are planned), rcs and ultimately the final release of NetBeans 6.0. If you want to see what all will be available in 6.0, here's full list of the features in previous milestones.
I'm so sorry to hear about your decision, but thank you very much for letting us know!
With best wishes,
Kirsi
鐟炲吀鐨勬敹鍒板悗錛岃繕璺熸垜鑱婁簡璧鋒潵錛屾垜榪樺緱鎯蟲兂鎬庝箞"瀵逛粯"榪欏皬瀛?_-#(涓涓猻enior lecturer錛岀湅鐓х墖鎸哄勾杞葷殑)錛?br>
Citerar Sike Huang <xx@xx.com>:
> Hi, Ivan,
>
> I've chosen the Software Engineering of Distributed Systems program in
> Royal Institute of Technology, I prefer software engineering (project
> management and design) than computer science (theoretical/mathematical studies).
:) ... thanks! Word of advice: the title of an education really does not mean so much (ie you can tailor a profile with us which will have more SE than the one you have chosen at KTH). In any case - good luck with your studies!!
>
> By the way, is there any academic cooperation between UU and KTH?
Yes, there is. In fact you can take any relevant course at Uppsala and count it towards your degree at KTH (and vice versa). Also you can chose to do your MSc thesis at UU (or at any other swedish school for that matter).
Note: You are awarded your degree from the school where you take you LAST course...
all the best,
ivan
PS You should come visit us once you get to Sweden (just to see what you are missing ... just kidding ;)
>
> Best wishes,
> Sike Huang
>
> -----Original Message-----
> From: Ivan Christoff [mailto:xx@xx.uu.se]
> Sent: 2007å¹´5月26æ鈥?#165; 23:35
> To: Sike Huang
> Subject: RE: MSc in CS at Uppsala
>
> Citerar Sike Huang <xx@xx.com>:
>
> > Hi, Ivan,
> >
> > I've sent an email on May 4th to Elin Carlsson
> > [mailto:xx@xx.uu.se], explaining that I'm not going to
> Uppsala.
> >
> > Anyway, thanks for your offer and sincere help again.
>
> Ok, thanks for letting me know.
>
> Good luck with your studies!
>
> ivan
>
> PS Which school did you chose? (just curious :)
>
> >
> > Best wishes,
> >
> > Sike Huang
> >
> >
> ----------------------------------------------------------------------
> ------
> > Hi, Elin Carlsson,
> >
> > It¡¯s a great honor that I¡¯ve been accepted to Uppsala University.
> However
> > due to some personal preferences, I decide to go to another
> > university instead.
> >
> > Thanks for your offer and sincere help, and wish to have a chance to
> > visit Uppsala someday.
> >
> > Best Regards,
> >
> > Sike Huang
> >
> ----------------------------------------------------------------------
> ------
> >
> >
> >
> > -----Original Message-----
> > From: Ivan Christoff [mailto:xx@xx.uu.se]
> > Sent: 2007Äê5ÔÂ25ÈÕ 12:52
> > To: xx@xx.com
> > Subject: MSc in CS at Uppsala
> >
> >
> >
> > Dear Mr. Huang,
> >
> > Are you still interested in joining the MSc Program in Computer
> > Science at Uppsala University?
> >
> > Our records show that you have not answered an address confirmation
> > mail which was sent a while ago.
> >
> > If you are still interested, please send me your correct mailing
> > address so that the admission letter can be sent.
> >
> > Best regards,
> >
> > Ivan Christoff
> >
> >
>
>
>
>
Borland JBuilder銆両BM Rational浠ュ強Sun NetBeans榪欎笁嬈捐憲鍚嶇殑Java寮鍙戝伐鍏鋒浘緇忓垎鍒幏寰楃編鍥姐奍nfoWorld銆?005銆?006銆?007騫村害鐨凧ava IDE浜у搧綾誨埆“騫村害鎶鏈?#8221;濂栵紝鏄洰鍓嶅競闈笂搴旂敤鏈澶氥佹ц兘鏈寮哄ぇ鐨勫紑鍙戝伐鍏蜂箣涓銆傚湪榪囧幓鐨勫嚑騫撮噷錛岃繖浜涘伐鍏烽兘鎴愮啛浜嗗緢澶氾紝鐗瑰埆鏄湪闈欐佷唬鐮佸垎鏋愩佸崟鍏冩祴璇曞拰鐗堟湰綆$悊絳夋柟闈㈠彇寰椾簡宸ㄥぇ榪涙銆傛湰鏂囧榪欎笁嬈懼紑鍙戝伐鍏瘋繘琛屼簡璇︾粏璇勬祴錛屼互鏈熶負寮鍙戜漢鍛樻彁渚涗竴浜涢夊瀷鐨勪緷鎹?
IBM RAD 7錛?涓嶆敮鎸丣ava EE 5銆丣ava SE 6
IBM Rational Application Developer for WebSphere Software 7.0錛堢畝縐癛AD 7錛夊熀浜嶦clipse鈥斺擝orland/CodeGear鐨凧Builder浜у搧緋誨垪涔熷熀浜庤繖涓紑婧愯蔣浠舵鏋躲侲clipse鍘熷厛灝辨槸涓縐岼ava IDE錛屼笉榪囪繎鍑犲勾瀹冮噸鏂板畾浣嶏紝浣滀負鍙互寰涓婇潰娣誨姞澶氱鎻掍歡鐨勬鏋訛紝鍥犺屽彲浠ユ瀯寤哄悇縐嶅悇鏍風殑宸ュ叿錛堣澶氬伐鍏蜂笌Java寮鍙戞病鏈夊叧緋伙級銆侲clipse鏂扮殑妗嗘灦瀹氫綅寮曡搗浜嗕竴浜涗漢鐨勬媴蹇э紝鐢熸曞師鍏堢殑Java IDE姒傚康宸茶娣″寲銆傝繖縐嶆媴蹇冧篃璁鎬笉鏃犻亾鐞嗭紝涓嶈繃濂藉氨濂藉湪Eclipse鐩墠鎷ユ湁鏈澶х殑Java鎻掍歡紺懼尯銆?
RAD 7涓烘敼鍔ㄥ悗鐨凟clipse搴撴坊鍔犱簡鍑犱釜緇勪歡錛屽叾涓笉灝戠粍浠墮潰鍚戜紒涓氬簲鐢ㄥ紑鍙戯紝瀹冧滑鍖呮嫭闂ㄦ埛緇勪歡鍜岄棬鎴峰紑鍙戝伐鍏鳳紝榪樻湁騫挎硾鐨勬暟鎹簱鏀寔銆傛暟鎹簱鏀寔錛堝挨鍏舵敮鎸両BM鐨凞B2錛夊寘鎷簡緙栧啓鐢ㄦ埛鑷畾涔夊嚱鏁幫紙UDF錛夈佸瓨鍌ㄨ繃紼嬪拰SQLJ浠g爜鐨勫姛鑳斤紝鑰岃繖浜涢兘鏄湰嬈℃祴璇勭殑涓夋浜у搧涓壒鏈夌殑鍔熻兘銆?
涓嶈繃錛孯AD 7鐨勫浘瑙e拰寤烘ā鍔熻兘姣旇緝鏈夐檺錛屽畠鍙敮鎸佷袱縐峌ML鍥撅紙NetBeans鍜孞Builder鍒嗗埆鏀寔鍏鍜屼節縐嶏級銆傝浠嶪BM鑾峰緱鏇村叏闈㈢殑鍥捐〃鏀寔鍔熻兘錛屽氨寰楄喘涔頒環鏍兼洿鏄傝吹鐨処BM Rational Software Architect銆?
鏈変簡RAD 7錛屽氨鍙互寮鍙慦eb鏈嶅姟鍜學eb鏈嶅姟瀹㈡埛紼嬪簭錛岀敓鎴怶eb鏈嶅姟鎻忚堪璇█錛圵SDL錛夛紝鐢氳嚦瀵逛笓鏈夌殑閫氱敤鎻忚堪鍙戠幇闆嗘垚錛圲DDI錛夋湇鍔¤繘琛屽崟鍏冩祴璇曘傚彟澶栵紝瀹冭繕鏀寔IBM鐨凞ADX錛岃繖鏄疻eb鏈嶅姟浣跨敤鐨凞B2 XML鎵╁睍銆傞仐鎲劇殑鏄紝璇ヤ駭鍝佷互IBM涓轟腑蹇冪殑鐗規ц繕褰卞搷鍒頒簡UDDI嫻嬭瘯錛氬畠鍙敮鎸佷嬌鐢ㄥ熀浜嶪BM鎶鏈殑涓撴湁娉ㄥ唽搴撱?
鍦ㄧ紪鐮佹柟闈紝RAD 7鎻愪緵浜嗛潤鎬佸垎鏋愬伐鍏鳳紝闆嗘垚浜咺BM寮鍙戠殑200澶氶」瑙勫垯錛岄傜敤浜庡鐞嗗彲鑳藉瓨鍦ㄧ殑Java緙洪櫡鍜岀紪鐮侀敊璇傚敖綆℃湰嬈℃祴璇勭殑鍏朵粬IDE鎻愪緵浜嗘洿澶氳鍒欙紝浣咺BM鐨勮В鍐蟲柟妗堝彲浠ユ妸榪欎簺浜у搧鏃犳硶鍙戠幇鐨勯敊璇爣璁板嚭鏉ワ紝騫惰緇嗚鏄庝嬌鐢ㄨ鍒欑殑鍘熷洜浠ュ強瑙e喅闂鐨勭ず渚嬩唬鐮併傝繖縐嶅叏闈㈢殑甯姪浣撶幇浜咺BM涓璐互鏉ョ殑浼犵粺錛氳鏄庢枃妗g繑瀹炪佸畬澶囥俁AD鍙摼鎺ュ埌騫挎硾鐨勬暀紼嬨備互涓板瘜鐨勬枃绔犳暟閲忚屽湪寮鍙戠ぞ鍖轟腑浜湁鐩涘悕鐨処BM緗戠珯涔熸彁渚涗簡鍙﹀涓浜涜祫婧愩?
濡傛灉搴旂敤紼嬪簭闇瑕佽剼鏈璦鏉ユ妸鍚勯儴鍒?#8220;綺樺悎”璧鋒潵錛孯AD 7榪樻彁渚涗簡鍐呴儴鏀寔鍩轟簬Java鐨凱ython錛圝ython錛夌殑鍔熻兘銆傞仐鎲劇殑鏄紝璇DE鏃犳硶鑷姩鍖哄埆浠涔堟槸Jython銆佷粈涔堟槸Java錛屽敖綆¤繖涓ら棬璇█鐨勮娉曞叏鐒朵笉鍚屻傝繖浼氬鑷存湁浜涙搷浣滀嬌寰桰DE鏃犳硶姝e父宸ヤ綔銆?
灝界榪欎釜緙虹偣寰堝皬錛屼絾琛ㄦ槑浜嗘垜鍦ㄤ嬌鐢≧AD 7鏃剁粡甯擱亣鍒扮殑闂錛氳澶氱壒鎬ф病鏈夊疄鏂藉ソ銆傝濡傝錛岃蔣浠跺畨瑁呰搗鏉ラ潪甯稿洶闅俱傚緱鍒癐BM鏈夊叧浜哄憳鐨勬敮鎸佸悗錛岀瑪鑰呮墠姝g‘瀹夎涓婁簡璇ヤ駭鍝侊紝涓嶈繃鍘熷厛鐨勪竴浜涢棶棰樼殑鍘熷洜鏍規湰灝辨病鏈夋壘鍑烘潵銆?
闂榪樹笉姝㈣繖浜涖傛鏌ユ敞閲婂拰鏂囧瓧鎷煎啓鐨勯夐」錛堜竴欏規湁鐢ㄥ姛鑳斤級娌℃硶浣跨敤錛屽洜涓篒BM娌℃湁鍙戝竷璇嶅吀銆傝鏄繖欏圭壒鎬ц鍚敤錛屽畠浼氭妸鎵鏈夊崟璇嶆爣璁頒負鎷煎啓鏈夎銆備唬鐮佹鏌ュ伐鍏鋒寚瀹氱殑綰犳鎿嶄綔鍋跺皵浼氭棤鏁堛傚璇濇閲岄潰鐨勫姩鎬佸府鍔╃粡甯告妸鐢ㄦ埛甯﹀埌閿欒鐨勫湴鏂癸紝鎵浠ュ彧濂介噸鏂板洖鍒扮壒瀹氱殑涓婁笅鏂囥?
涓孌墊椂闂村悗錛岃繖浜涢棶棰樺爢縐搗鏉ヤ嬌寰楄繖涓師鏈笉閿欑殑浜у搧鐢ㄨ搗鏉ヨ浜烘伯涓с傚彟澶栵紝榪樻湁涓涓湴鏂硅鎶辨細IBM鍦ㄦ敮鎸佺幇鏈夌殑Java鏍囧噯鏂歸潰钀藉悗浜庡叾浠栧巶鍟嗐傚畠鏄繖嬈℃祴璇勪腑鎯熶竴涓嶆敮鎸丣ava EE 5鍜孞ava SE 6鐨勪竴縐岻DE銆?
鍥犳錛屾湰鏂囨帹鑽愬凡緇忓湪澶ч噺浣跨敤IBM浜у搧鐨勭珯鐐逛嬌鐢≧AD 7錛屽洜涓鴻浜у搧鐗瑰埆鏀寔榪欎簺浜у搧錛屽挨鍏舵槸DB2鍜學ebSphere銆傚彟澶栵紝瑕佹槸绔欑偣甯屾湜璁稿鍥藉鐨勫紑鍙戜漢鍛樹嬌鐢ㄥ悓涓縐岻DE錛屽簲褰撲細鍠滄RAD 7錛屽洜涓哄畠鐨勫鏂囩増鏈瘮鍏朵粬浠諱綍涓縐岻DE閮借澶氬緱澶氥備笉榪囷紝浠鋒牸姣旇緝楂橈紝鍔犱笂鍏朵粬鏂歸潰鐨勪竴浜涗笉瓚沖彲鑳戒細淇冧嬌绔欑偣鍦ㄦ枼璧勮喘涔頒箣鍓嶄細鑰冨療鎵鏈夋柟妗堛?
JBuilder 2007錛氱浉褰撳嚭鑹茬殑IDE
Borland/CodeGear JBuilder 2007 Enterprise Edition鍦ㄨ繖嬈℃祴璇勪腑鑽g櫥姒滈銆傝繖涓増鏈槸鑷浜у搧縐繪鍒癊clipse騫沖彴浠ユ潵鐨勭涓涓増鏈傚畠鐢變笓闂ㄥ紑鍙慖DE宸ュ叿鐨凚orland鏃椾笅鐨凜odeGear鍙戝竷銆傜敱浜嶣orland鐨勪駭鍝佺敤璧鋒潵鍘嗘潵鏈夐毦搴︼紝鍔犱笂榪欐槸鏂板鉤鍙頒笂鐨勭涓涓増鏈紝鎵浠ユ垜浠ヤ負榪欎釜浼樼浜у搧浼氭湁浜涗笉灝藉浜烘剰鐨勫湴鏂廣傜粨鏋滃嚭涔庢墍鏂欙紝榪欎釜闈炲父欏虹晠鑰岀ǔ瀹氱殑IDE鏈夎澶氬垱鏂扮殑鐗規с傚彲浠ヨ繖涔堣錛孋odeGear鑲畾涓鴻繖涓増鏈楀敖浜嗗績琛錛屼簨瀹炰笂紜疄涔熷彇寰椾簡杈夌厡鎴愬姛銆?
鑷充簬Java緙栫爜錛孞Builder鏈変笁涓笉鍚岀郴鍒楃殑浠g爜瀹℃煡鍣ㄥ拰鍒嗘瀽鍣細寮婧怭MD銆丗indbugs鍜孊orland鑷繁鐨勪唬鐮佹鏌ュ伐鍏楓傝繖浜涘伐鍏峰彲浠ュ緢濂藉湴鍗忓悓宸ヤ綔錛堝疄闄呬笂錛屽畠浠甫鏉ョ殑浼楀鏍囪欏瑰彲鑳借寮鍙戜漢鍛樻嫑鏋朵笉浣忥級錛屼笉榪囧畠浠鍑虹幇鐨勯棶棰樻病鏈夎В閲婂簲閲囧彇浠涔堟帾鏂斤紝涔熸病鏈塈BM鐨凴AD 7浜у搧閭f牱鍏ㄩ潰鐨勯棶棰樿В鍐沖緩璁姙娉曘?
JBuilder鎹嗙粦浜嗕竴涓害閲忓寘錛坢etrics package錛夛紝瀹冩瘮浠諱綍IDE鐨勫害閲忓寘閮芥潵寰楀叏闈€傚畠鍙互鐢熸垚80澶氱涓嶅悓鐨勫害閲忥紝騫朵笖浠ュ浘瑙f垨鑰呯數瀛愯〃鏍肩殑鏂瑰紡鏄劇ず銆傜敤鎴峰彲浠ュ叧闂病鏈夊叴瓚g殑搴﹂噺錛屼負紜疄鎯寵璺熻釜鐨勯偅浜涘害閲忚瀹氶槇鍊箋侸Builder榪樿兘淇濆瓨搴﹂噺蹇収錛岄偅鏍峰氨鍙互灝嗕唬鐮佸簱鐨勫綋鍓嶇姸鎬佸拰鍓嶅嚑嬈℃墽琛岀殑鐘舵佽繘琛屾瘮杈冿紝紜繚鏁板瓧寰姝g‘鐨勬柟鍚戝彂灞曘?
CodeGear闆嗘垚浜咼Builder鐨凮ptimizeIt宸ュ叿濂椾歡錛屽騫存潵Borland鎶婂畠浣滀負鐙珛浜у搧鏉ユ彁渚涖侽ptimizeIt鎻愪緵浜嗕紬澶氱殑楂樻竻鏅拌鍥撅紝鍙互浜嗚В杞歡鐨勬ц兘鍜屽唴瀛樹嬌鐢ㄦ儏鍐點傚畠鍖呮嫭浠g爜瑕嗙洊鍒嗘瀽錛堜絾鍙兘鍒嗘瀽綾昏鐩栫櫨鍒嗘瘮錛岃屼笉鏄愯鍒嗘瀽錛夊強鍏朵粬鍙鎬э紝浠庤屽彲浠ヤ簡瑙e簳灞傚彂鐢熺殑鎯呭喌錛屽寘鎷瘡涓嚎紼嬬殑鏁版嵁銆?
JBuilder榪樻彁渚涘嚭浼楃殑鍗忎綔鐗規с傚畠鎷ユ湁闈㈠悜寮鍙戜漢鍛樼殑娑堟伅浼犻佺郴緇燂紝榪欐湁鍔╀簬浠g爜媯鏌ヤ互鍙婂紑鍙戜漢鍛樼殑閫氫俊銆傚畠浣跨敤瀵圭瓑璁捐妯″紡錛岄仐鎲劇殑鏄紝鍙兘涓庡悓涓涓綉孌典笂鐨勪紮浼村崗鍚屽伐浣溿侸Builder涓哄洟闃熷崗浣滄柟闈㈡彁渚涗簡TeamInsight錛岃繖涓槗浜庨厤緗殑闂ㄦ埛鏈嶅姟鍣ㄥ寘鎷互涓嬪嚑涓噸瑕佺殑寮婧愬伐鍏鳳細Subversion銆丅ugzilla銆丆ontinuum鍜孹Planner銆傝闂ㄦ埛鍙互閫氳繃Web鎺ュ彛鎴栬呴氳繃JBuilder璁塊棶錛屽寘鍚紬澶氱殑欏圭洰鎶ュ憡鍜屽害閲忋傚叾浠栦袱縐岻DE閮芥病娉曚笌榪欑鍥㈤槦鍚堜綔鐨勭揣瀵嗘х浉鎻愬茍璁恒?
JBuilder鏁翠綋涓婅浜鴻寰楀彲闈犮佺ǔ瀹氾細鑰冭檻鍒板畠鍙槸Eclipse騫沖彴涓婄殑絎竴涓増鏈紝鍙栧緱榪欐牱鐨勬垚緇╁疄灞炰笉鏄撱傞亣鍒扮殑鎯熶竴閿欒灝辨槸緇忓父鍑虹幇涓嶇鐢ㄧ殑甯姪鍥炬爣銆傞渶瑕佹姳鎬ㄧ殑鍦版柟闆嗕腑鍦ㄦ病鏈夊疄鏂界殑鐗規т笂錛岃濡傜己灝戦潰鍚慗SP鎴栬匤SF鐨勫彲瑙嗗寲璁捐鍣紙涓嶈繃榪欎簺璁捐鍣ㄥ緢蹇氨浼氬嚭鐜幫級銆傝浜у搧榪樻棤娉曚負浣跨敤DB2鐨勫簲鐢ㄧ▼搴忕敓鎴愰儴緗叉枃浠躲傛渶鍚庯紝瀹冪洰鍓嶅彧鏈塛indows鐗堟湰銆侺inux鍜孧ac鐗堟湰瀹氫簬5鏈堟帹鍑恒?
鎴嚦嫻嬭瘎鏃剁殑鐗堟湰浠鋒牸涓?999緹庡厓錛屾墍浠Builder騫朵笉渚垮疁錛屼絾瀹屽叏鐗╂湁鎵鍊箋傚涓嶉渶瑕佹墍鏈夐珮绔壒鎬х殑寮鍙戜漢鍛樻潵璇達紝榪樺彲浠ヤ嬌鐢ㄤ笓涓氱増鍜屽紑鍙戜漢鍛樼増鐨凧Builder錛屼環鏍煎垎鍒負799緹庡厓鍜?99緹庡厓銆?
NetBeans 5.5錛氬彲鍏嶈垂涓嬭澆
Sun鐨凬etBeans浜у搧鏄繖嬈℃祴璇勪駭鍝佷腑鎯熶竴瀹屽叏寮鏀炬簮鐮佺殑浜у搧錛屽彲浠巒etbeans.org鍏嶈垂鑾峰緱銆備笉鍍忓叾浠栬蔣浠跺寘錛孨etBeans闇瑕佷竴浜涚粍鍚堛傚彲浠ヤ粠鏍稿績NetBeans騫沖彴鐫鎵嬶紝娣誨姞鍑犱釜“鍖?#8221;錛坧ack錛夛紝鍏蜂綋鍙栧喅浜庡紑鍙戣呯殑闇姹傘?
鐩墠錛孲un鎻愪緵浼佷笟鍖呭拰Visual Web鍖咃紙涓や釜閮界敤浜庤繖嬈℃祴璇勶級銆佺敤浜嶫2ME緙栫▼鐨勭Щ鍔ㄥ寘浠ュ強C/C++鍖呫傛ц兘鍒嗘瀽鍖咃紙涔熺敤浜庤繖嬈℃祴璇勶級鏄竴涓嫭绔嬬殑鍖呫傝繖浜涘寘鍖呭惈甯哥敤鐨処DE鎻掍歡錛岄氬父鎻愪緵浜嗗ぇ閲忔柊鍔熻兘銆備竴鏃︿笅杞戒簡榪欎簺鍖咃紝瀹夎璧鋒潵灝辮交鑰屾槗涓俱?
鍑犲勾鍓嶏紝NetBeans鏇村儚鏄湁涓浜涗紭縐鐗規э紝浣嗗湪鍚庨潰璺熼殢鐨処DE錛岄毦浠ヤ笌鍏朵粬Java IDE浜у搧鐪熸騫沖垎縐嬭壊銆備絾鐜板湪涓嶅啀鏄繖鏍鳳紝NetBeans涓轟紒涓氳綆楃幆澧冩彁渚涗簡鍑犻」瀹炵敤鐗規э紝鍖呮嫭閫氳繃Sun鐨凣lassFish欏圭洰榪欎竴褰㈠紡鏀寔Java EE 5銆傝IDE鎷ユ湁闈㈠悜鍩轟簬鏈嶅姟鐨勪紒涓氬紑鍙戠殑浼樼宸ュ叿錛屾棤璁烘槸闈㈠悜鏈嶅姟鐨勬灦鏋勶紙SOA錛夛紝榪樻槸鏅氱殑Web鏈嶅姟銆傝濡傝錛孨etBeans鏄湰嬈℃祴璇勪腑鎯熶竴鎷ユ湁涓氬姟嫻佺▼鎵ц璇█錛圔PEL錛夋墍闇鐨勫叏閮ㄥ浘瑙e拰寤烘ā鍔熻兘鐨勪駭鍝併?
涓嶈繃錛岃浼佷笟鏈嶅姟浜у搧鐨勪笉瓚蟲槸緙哄皯鏀寔甯哥敤浜у搧鐨勫姛鑳姐侼etBeans涓嶆敮鎸両BM鐨刉ebSphere搴旂敤鏈嶅姟鍣紝騫朵笖緙哄皯鏀寔JavaDB涔嬪鐨勫叾浠栦換浣曟暟鎹簱鐨勯泦鎴愬姛鑳姐備笉榪囷紝鍚庝竴鐐歸渶瑕佹緞娓呬竴涓嬶細NetBeans鑳藉璇嗗埆鍙氳繃Java鏁版嵁搴撹繛鎺ユэ紙JDBC錛夎闂殑浠諱綍鏁版嵁搴擄紝浣嗗畠鍙兘涓篔avaDB鐢熸垚閰嶇疆鏂囦歡銆佸厖鍒嗗埄鐢ㄦ暟鎹簱綆$悊緋葷粺錛圖BMS錛夌壒瀹氱殑鐗規с?
NetBeans鐨勫崗浣滅壒鎬ч潪甯稿ソ錛屾嫢鏈夊唴緗伐鍏鳳紝鍙敤浜庡紑鍙戜漢鍛樹箣闂寸殑瀹炴椂鍗忎綔錛屽寘鎷亰澶╁拰浠g爜鍏變韓鍔熻兘銆備笉鍍廕Builder涓殑榪欎簺鐗規э紝NetBeans鐨勮璁″熀浜庢湇鍔″櫒銆傚彲浠ユ瀯寤鴻嚜宸辯殑鏈嶅姟鍣ㄧ敤浜庤繖縐嶉氫俊錛屼篃鍙互鍏嶈垂浣跨敤Sun鎻愪緵鐨勬湇鍔″櫒銆傚彧瑕佺櫥褰曞埌Sun鐨勬湇鍔″櫒錛屾墍鍦ㄥ皬緇勭殑浠諱綍寮鍙戜漢鍛橀兘浼氳繛鍚屼粬浠殑鐧誨綍鐘舵佷俊鎭樉紺哄嚭鏉ワ紝榪欑璁捐綾諱技IM浜у搧涓殑鍦ㄧ嚎鎰熺煡錛坧resence awareness錛夈傦紱
鑷充簬GUI璁捐錛孨etBeans鎹嗙粦浜哅atisse錛岃繖鏄悓綾諱腑鏈鍑鴻壊鐨凣UI甯冨眬宸ュ叿銆傛妸紿楀彛緇勪歡鎷栨斁鍒扮獥鏍煎拰瀵硅瘽妗嗕笂鏃訛紝瀹冧滑浼氭紜湴鑷姩鎺掑垪銆傛渶浣沖拰鍙変綅緗帓鍒楁柟闈㈢殑鍑嗗垯浼氬湪鎷栨斁鎿嶄綔榪囩▼涓脊鍑烘潵銆侻atisse鐒跺悗鍒╃敤榪欑璁捐鏉ョ敓鎴愪唬鐮併?
濡傛灉绔欑偣澶ч噺寮鍙戝熀浜嶴wing鐨勬帴鍙o紝鍗曞崟榪欎釜宸ュ叿灝辮NetBeans鎴愪負瀹冧滑鐨勯閫塈DE錛屽洜涓篗atisse鍙笌Swing鍗忓悓宸ヤ綔銆傚垢濂斤紝鐢變簬Swing鐨勬ц兘鍜屽瑙傛劅瑙夊緱鍒頒簡紼沖畾鍙戝睍錛岃繖涓眬闄愪笉鍍忎互鍓嶉偅鏍鋒潵寰椾弗閲嶃?
铏界劧鏈嫻嬭瘎鐨勫叾浠朖ava IDE閮戒嬌鐢ㄨ嚜宸辯殑涓撴湁鏍煎紡鏉ュ瓨鏀鵑」鐩厓鏁版嵁錛屼絾NetBeans宸у鍦頒緷璧朅nt鏂囦歡鏉ュ瓨鏀鵑」鐩殑閰嶇疆鏁版嵁錛堝叾瀹烇紝瀹冧嬌鐢ㄧ浉褰撲簬make鐨勫紑婧怞ava宸ュ叿Ant甯姪鏋勫緩浠g爜錛夈傝繖鍏鋒湁涓澶т紭鍔匡細鍦ㄤ嬌鐢ㄥ縐岼ava IDE鐨勫紑鍙戝皬緇勪腑錛屽叾浠栦換浣旾DE閮藉彲浠ヨ鍏ュ強榪愯NetBeans欏圭洰錛屼笉蹇呮墜宸ヨ漿鎹㈡垨鑰呭垎鎵瑰鍏ャ?
浣嗕嬌鐢ˋnt鏂囦歡涔熸湁涓涓己鐐癸細NetBeans鍙敮鎸佸崟涓榪愯鏃墮厤緗傚叾浠朓DE澶у鏁板彲浠ユ兂緙栧啓澶氬皯榪愯鏃墮厤緗紝灝辮兘緙栧啓澶氬皯錛孨etBeans鍗翠笉鏄繖鏍楓傝鏄瘡嬈℃兂鏀瑰彉浼犻掔粰搴旂敤紼嬪簭鐨勫弬鏁幫紝灝卞緱鎵嬪姩鏀瑰彉涓涓厤緗紙鍗沖皢鎺ㄥ嚭鐨?.0鐗堟湰IDE瑙e喅浜嗚繖涓棶棰橈級銆?
鏄劇劧錛孨etBeans鎷ユ湁涓嶅悓瀵誨父鐨勭壒鎬х粍鍚堚斺旀湁浜涚壒鎬у疄鏂藉緱寰堝ソ錛屼絾鍙︿竴浜涘畬鍏ㄦ病鏈夈傚畠涓嶄絾鍏嶈垂錛岃屼笖姣斿熀浜嶦clipse鐨勪駭鍝佸搷搴旀洿榪呭嵆銆佹搷浣滄洿瀹規槗錛屽洜涓哄畠涓㈠純浜咵clipse閲囩敤鐨?#8220;瑙嗗浘”璁捐錛岃屾槸鍗曞崟浣跨敤紿楀彛銆傚彟澶栵紝NetBeans緇忓父寰楀埌鏀硅繘錛屾嫢鏈夐潪甯告椿璺冪殑寮鍙戠ぞ鍖猴紝寰楃泭浜庝粎嬈′簬Eclipse鐨勫簽澶ф彃浠跺簱銆?
浜嬪疄涓婏紝NetBeans鐨勬柊鐗堟湰鍙互瑙e喅涓婅堪璁稿鎶辨ㄣ傚鏋滀綘鍦ㄨ冭檻NetBeans錛屼笉濡ㄥ湪鍋氬嚭鍐沖畾涔嬪墠錛岀湅涓涓嬬洰鍓嶅彲浠ヨ幏寰楃殑鐗堟湰6嫻嬭瘯鐗堛?
閾炬帴:鍏朵粬鐨凧ava IDE宸ュ叿
鎸戦塈DE鐨勫叧閿槸閫夋嫨鏃㈢‘淇濆伐浣滄晥鐜囥佸張渚夸簬浣跨敤鐨勪竴縐岻DE銆備笅闈㈢畝瑕佷粙緇嶄竴涓嬫湰鏂囨墍璁ㄨ鐨勪駭鍝佷箣澶栫殑涓変釜閫夋嫨銆?
Eclipse錛氬鏋滀笉闇瑕丷AD 7鎴栬匤Builder鐨勯珮綰х壒鎬э紝涓嶅Θ鑰冭檻鏅氱増鏈殑Eclipse錛屽彲浠ヤ粠eclipse.org鍏嶈垂涓嬭澆銆傚鏋滈渶瑕佸嚑欏歸珮綰х壒鎬э紝涓嶅Θ鑰冭檻Genuitec鐨凪yEclipse錛屽畠鎶婅澶氬紑婧愬伐鍏鳳紙鍖呮嫭NetBeans鐨凪atisse錛夐泦鎴愬埌Eclipse閲岄潰錛岃垂鐢ㄦ槸姣忎釜鐢ㄦ埛姣忓勾54緹庡厓銆?
JetBrains IntelliJ: 璁稿寮鍙戜漢鍛樿涓鴻繖嬈綣ava IDE鏄渶鏈夋晥鐜囥佹渶璁╀漢鍠滄鐨勭函緙栫爜鐜銆侷ntelliJ鐨勭晫闈㈡瘮IBM銆丅orland鎴栬匰un IDE鏉ュ緱鐩磋錛屽洜鑰屽崥寰椾簡緹庤獕銆傚畠榪樻湁涓浜涚嫭鐗圭殑鐗規э紝璀璇達紝浠g爜瑙勫垯鍦ㄥ悗鍙拌繍琛岋紝鎵浠ュ湪緙栫爜榪囩▼涓嚭鐜扮殑閿欒鎴栬呴敊璇牱寮忎細瀹炴椂鏄劇ず錛涢棶棰樿綰犳鍚庯紝灝變細浠庡睆騫曚笂绔嬮┈娑堝け銆傝繖浜涜鍒欐瘮鏈嫻嬭瘎鐨勪笁嬈句駭鍝侀兘瑕佹潵寰楀錛屽緙栧啓澶ч噺Java浠g爜銆佸張涓嶉渶瑕佸緩妯″伐鍏風殑绔欑偣鑰岃█錛孖ntelliJ鏄潪甯稿彲闈犮侀潪甯鎬綆寤夌殑閫夋嫨銆?
Oracle JDeveloper: JDeveloper鏄竴縐嶇壒鎬т赴瀵屻佸厤璐癸紙浣嗕笉鏄紑婧愶級鐨凧ava IDE錛屽彲浠嶰racle緗戠珯鑾峰緱銆備笌NetBeans涓鏍鳳紝瀹冧篃涓嶆槸鍩轟簬Eclipse銆傚畠鏀寔涓浜涗紒涓氱壒鎬э紝鍖呮嫭SOA鍜學eb鏈嶅姟錛屽綋鐒朵篃鏀寔涓嶰racle鏁版嵁搴撴妧鏈拰OC4J Java搴旂敤鏈嶅姟鍣ㄤ箣闂寸殑鐗規畩闆嗘垚銆?
紼嬪簭榪愯緇撴灉錛?br />2
B
B
B
1
B
A
A
紼嬪簭鍒嗘瀽錛氬湪璇ョず渚嬬▼搴忎腑錛屽彉閲廼浜х敓鏁版嵁鎴愬憳鍙橀噺闅愯棌錛涘疄渚嬫柟娉昮()鏄柟娉曢噸鍐欙紝瀵瑰疄渚嬫柟娉曠殑閲嶅啓浼氫駭鐢熻繍琛屾椂澶氭佹с俿tatic鏂規硶g()涔熸槸鏂規硶閲嶅啓錛屼絾榪欑鏂規硶閲嶅啓涓嶅叿鏈夎繍琛屾椂澶氭佺殑鐗瑰緛錛屽鎬佺壒寰佹槸閽堝瀹炰緥鏂規硶鑰岃█銆傚洜姝ゅ綋瀛愮被瀵硅薄浣滀負鐖剁被瀵硅薄浣跨敤鏃訛紝鍦ㄨ緭鍑虹粨鏋滀腑鐪嬪埌錛屽彧鏈塮()鍙戠敓浜嗚繍琛屾椂澶氭併?/p>