jcp模板
⑴ jcp asp bsp什麼意思
這些是編程語言,做網站的
⑵ 求出口單證樣本
提單:
BILL OF EXCHANGE
NO.SHHXFP98167 FOR US$46980 SHANGHAI 27-APR-98 At ************************ sight of this FIRST Bill of exchange(SECOND being unpaid) pay to SHANGHAI A J FINANCE CORPORATION or order the sum of SAY U.S.DOLLARS FORTY SIX THOUSAND NINE HUNDRED AND EIGHTY ONLY (amount in words) Value received for 1639 CTNS of 4 ITEMS OF CHINESE CERAMIC DINNERWARE (quantity) (name of commodity) Drawn under THE ROYAL BANK OF CANADA,BRITISH COLUMBIA INTERNATIONAL CENTRE L/C No 98/0501-FTC dated 8-Apr-98
To:THE ROYAL BANK OF CANADA,BRITISH COLUMBLA INTERNATIONAL CENTRE 1055 WEST GEORGIA STREET,VANCOUVER, B.C.V6E 3P3 CANADA
For and on behalf of HUAXIN TRANDING CO.,LTD.
(Signature)
商業發票:
SPEEDWELL & CO., LTD.
6F-3 266 Jiangbin Rd,
Wenzhou, Zhejiang, China
COMMERCIAL INVOICE
------------------------
INVOICE NO.: 241900 DATE : NOV. 09, 2006
TO : J.C. PENNEY PURCHASING CORPORATION, SHIPPED PER S.S.: SOFIE MAERSK V.409
6501 LEGACY DRIVE. PLANO, TX,
USA 75024-3698 SAILING ON OR ABOUT : NOV. 14, 2004
FOB NYK LOGISTICS (HONG KONG) LTD. FROM : YANTIAN
YANTIAN, CHINA
L/C NO. 779619 DATED SEP. 29, 2006 TO : HASLET RAMP VIA LOS ANGELES
DRAWN UNDER J.C. PENNEY PURCHASING CORP.
- - - - - - - -
MARKS & NOS. CONTENTS QUANTITY UNIT PRICE AMOUNT
- - - - - - - -
CONTRACT NO. LOT NO. LINE# PAIRS UNIT PRICE AMOUNT
- - - - - - - -
0408762 7044 4363 3,600 USD 10.80 USD 38,880.00
-----------------
USD 38,880.00
LESS PLI THROUGH PENNEY: 0.45% USD 174.96
-
USD 38,705.04
-
SAY TOTAL U.S. DOLLARS THIRTY EIGHT THOUSAND SEVEN HUNDRED AND FIVE CENTS FOUR ONLY.
TOTAL: SIX HUNDRED (600) CARTONS ONLY.
TOTAL: THREE THOUSAND SIX HUNDRED (3,600) PAIRS ONLY.
SUB/CONTRACT NO./SUFFIX: 063/0408762/RT
HTS NUMBER : 6403.91.6075 (SIZE# 7 ~ 13)
DUTY RATE : 8.50%
DIVISION : S
DESCRIPTION : ABOUT 3600 UNITS OF MENS LEATHER SHOES AS PER CONTRACT 0408762
LOT NO. LINE# COLOR# QUANTITY# NET WEIGHT GROSS WEIGHT
7044 4363 PEANUT 3,600 6762.00 8694.00
THE COUNTRY OF ORIGIN OF MERCHANDISE IS CHINA (MAINLAND).
INVOICE TO STATE 7 PERCENT BUYING COMMISSION (NOT INCLUDED IN INVOICE
PRICE) PAYABLE TO HARBOR IMPORTS BY JCPENNEY PURCHASING CORP.
*THIS SHIPMENT DOES NOT CONTAIN ANY SOLID WOOD PACKING MATERIAL.*
DI NUMBER: 10051716
受益聲明單據
ZHEJIANG YIDA SHOES CO., LTD
NO.12, LUHE ROAD, NANJIAO IND. DISTRICT,
WEN ZHOU CITY, ZHE JIANG PROVINCE, CHINA
BENEFICIARY STATEMENT
TO WHOM IT MAY CONCERN : DATE: JAN. 10, 2005
RE : COMMODITY : 6000 UNITS OF MENS LEATHER SHOES
AS PER CONTRACT 0414903
SHIPMENT : PER S.S.: SOFIE MAERSK V.409
SAILING ON OR ABOUT : NOV. 14, 2004
L/C # : 1413589
LOT# : 6083 / 6082
AMOUNT : USD5,9400.00
DESTINATION : HASLET VIA LOS ANGELES
WE HEREBY CERTIFY THAT :
3 COPIES OF JCPPC PURCHASE CONTRACT
1 ORIGINAL AND 4 COPIES OF COMMERCIAL INVOICE FROM THE SELLER AS LISTED
ON THE JCPPC CONTRACT,
1 ORIGINAL AND 4 COPIES OF PACKING LIST
5 COPIES OF SIGNED MANUFACTURER'S CERTIFICATE COUNTRY OF ORIGIN/ PRISON
LABOR / ILLEGAL CHILD LABOR CERTIFYING THAT THE MERCHANDISE WAS
MANUFACTURED AT THE DESIGNATED FACTORY, ITS LOCATION AND COUNTRY OF
ORIGIN, AND THAT NEITHER CONVICT LABOR AND/OR FORCED LABOR AND/OR
INDENTURED LABOR UNDER PENAL SANCTIONS, NOR, TO OUR KNOWLEDGE,
ILLEGAL CHILD LABOR, WAS EMPLOYED IN THE PRODUCTION OR MANUFACTURE OF
THE MERCHANDISE; AND THAT THE MERCHANDISE WAS MANUFACTURED IN
COMPLIANCE WITH ALL OTHER APPLICABLE LABOR AND WORKPLACE SAFETY LAWS
AND REGULATIONS.
1 COPY OF THE JCPPC LETTER OF CREDIT OR DOCUMENT INSTRUCTINS.
1 ORIGINAL AND 5 COPIES OF INTERIM FOOTWEAR INVOICE
WERE SENT TO APL LOGISTICS - SHANGHAI, CHINA
------------------------------
NAME OF MANUFACTURER
JAN. 10, 2005
------------------------------
DATE
自己上去找清楚的! http://zs.wzvtc.cn/itradeblog/main/index.asp
⑶ 我的IP是動態的,怎麼建立個人網站伺服器!
原來象我一樣的朋友不少啊,我原來就這樣做了,但是後來因為帶寬的問題放棄了,自己做伺服器當然是方便多,也好管理。
上面的說的很對,動態解析用花生殼軟體就很好,這個軟體我現在的網站上也有,你可以去看一下,有時間也可以和我QQ交流啊。
花生殼是完全免費的桌面式域名管理和動態域名解析(DDNS)等功能為一體的客戶端軟體。
花生殼客戶端向用戶提供全方位的桌面式域名管理以及動態域名解析服務。用戶無需通過IE瀏覽器,直接通過客戶端使用www.oray.net所提供的各項服務,包括花生護照注冊、域名查詢、域名管理、IP工具以及自診斷等各種服務;且通過樹狀結構方式可使用戶對多達上百個域名進行方便管理,亦可自主添加二級域名,自由設置A記錄(IP指向)、MX記錄、CName(別名)、URL重定向等,用戶操作界面清晰簡單。
http://www.wishdown.com/Software/catalog23/1228.html
⑷ 現在有關計算機的幾種專業方向里例如網頁製作,編程等的發展前景怎麼樣
Bjarne Stroustrup: C++語言的設計者
Tim Lindholm: Sun公司著名工程師
把寶押在Java上?或是堅持C++不動搖?還是考慮考慮C#?你是否猶豫不決?那麼不妨先聽聽下面這些專家的說法,對於面向對象程序設計語言的現狀和未來作一番了解。
關鍵詞:C++,Java,C#,OOP
科技進展一日千里,產品生產周期則越來越短,不少程序員已經完全沒有時間掌握第二種語言。不論一個程序員的技術能力是否被考慮,對於他來說,將來能夠參與什麼類型的項目,加盟什麼樣的公司,在很大程度上,將取決於今天選擇哪種程序設計語言。為了幫助大家清晰地了解C++和Java這兩個最流行的OOP語言現在和將來的有關情況,我們采訪了C++語言的設計者Bjarne Stroustrup,以及Sun公司著名工程師Tim Lindholm。下面是他們的觀點,內容涉及程序設計的未來、語言之間的比較、OOP語言的發展與革新之取捨以及程序
設計標准。
未來
在未來三年,程序員編寫代碼的方式會發生那些變化?
Stroustrup: 在C++中,假如沒有合適的庫在背後支撐,完成任何重要的工作都可能是很復雜的。而一旦有了合適的庫,任何東西都可以被我們操控於股掌之間。因此,構造和使用程序庫的重要性與日俱增。這也暗示我們,泛型程序設計(generic programming)將會越來越多地被運用。只有通過GP,我們才能確保庫的通用性和高效率。我還預期在分布式計算和「組件(components)」應用領域會出現喜人的增長。就大部分程序員而言,通過使用方便適用的程序庫,這些開發工作會變得簡單明了。現在有一個趨勢,編譯器廠商試圖把其特有的「對象模型」和圖形界面(GUI)細節推銷給用戶。比如微軟的COM和Inprise的類屬性「properties」。對於用戶來說,這既不必要,也不情願。我所希望看到的程序庫,應該是用標准C++打造,界面靈活,值得信賴的程序庫。通常,這些界面應該是平台無關的。C++的表達能力極強,即使不使用大量的宏,也應該足以達成這一要求。就算有些地方無法百分之百的遵守這一原則,也應該將對於平台和廠家的依賴性限制起來。這個目標的完成情況,可以反映軟體工具產業對於應用程序開發行業的關注程度。我懷疑目前對於那些獨立的、跨平台廠商來說,並不存在相應的市場。如果能夠建立這樣的市場,也許能夠促進廠商們為客戶做出「真正有用的」產品。
Lindholm: 對於編寫代碼的開發者來說,主要的驅動力量仍將是兩個:網路和分布式——也就是設計和開發非單機軟體的需求。大部分的應用程序將不會是孤零零地運行在單一設備上,而是運用了類似EJB和JSP之類技術的,平台無關的分布式程序。程序員們將不得不面對分布式計算的重重險阻。這將對許多程序員所依賴的設計模式、技術和直覺構成嚴峻的挑戰。這是選擇編程語言之前必須認識到的,盡管不同語言的設計特性可能促進或者阻礙這一轉化。在網路應用的增長中,一個很重要的部分是小型移動設備和特殊Internet設備的爆炸性增長。這些設備各有各的操作系統,或者只在某種特定的設備領域內有共同的操作系統。我們現在還可以一一列舉出這些設備——家庭接入設備、蜂窩電話、電子報紙、PDA、自動網路設備等等。但是這些設備領域的數量和深入程度將會很快變得難以估量。我們都知道這個市場大得驚人,PC的興起與之相比不過小菜一碟。因此在這些設備的應用程序市場上,競爭將會相當殘酷。獲勝的重要手段之一,就是盡快進入市場。開發人員需要優秀的工具,迅速高效地撰寫和調試他們的軟體。平台無關性也是制勝秘訣之一,它使得程序員能夠開發出支持多種設備平台的軟體。我預期的另一個變化是,我們對於代碼(Java)和數據(XML)協同型應用程序的開發能力將會不斷提高。這種協同是開發強大應用程序的核心目標之一。我們從XML的迅速流行和ebXML規范的進展中,已經看到了這個趨勢。ebXML是一個針對電子商務和國際貿易的,基於XML的開放式基礎構架,由聯合國貿易促進和電子商務中心(UN/CEFACT)與結構性信息標准推進組織(OASIS)共同開發。
我們能否期望出現一個真正的面向組件(component-oriented)的語言?它的創造者會是誰呢?
Stroustrup: 我懷疑,這個領域中之所以缺乏成果,正是因為人們——主要是那些非程序員們——對「組件」這個意義含糊的字眼寄予了太多的期望。這些人士夢想,有朝一日,組件會以某種方式把程序員趕出歷史舞台。以後那些稱職的「設計員」只需利用預先調整好的組件,把滑鼠拖一拖放一放,就把系統組合出來。對於軟體工具廠商來說,這種想法還有另一層意義,他們認為,到時候只有他們才保留有必要的技術,有能力編寫這樣的組
件。 這種想法有一個最基本的謬誤:這種組件很難獲得廣泛歡迎。一個單獨的組件或框架(framework),如果能夠滿足一個應用程序或者一個產業領域對所提出的大部分要求的話,對於其製造者來說就是劃算的產品,而且技術上也不是很困難。可是該產業內的幾個競爭者很快就會發現,如果所有人都採用這些組件,那麼彼此之間的產品就會變得天下大同,沒什麼區別,他們將淪為簡單的辦事員,主要利潤都將鑽進那些組件/框架供應商的腰包里!
小「組件」很有用,不過產生不了預期的杠桿效應。中型的、更通用的組件非常有用,但是構造時需要非同尋常的彈性。在C++中,我們綜合運用不同共享形式的類體系(class hierarchies),以及使用templates精心打造的介面,在這方面取得了一定的進展。我期待在這個領域取得一些有趣和有用的成果,不過我認為這種成果很可能是一種新的C++程序設計風格,而不是一種新的語言。
Lindholm: 編寫面向組件的應用程序,好像更多的是個投資、設計和程序員管理方面的問題,而不是一個編程語言問題。當然某些語言在這方面具有先天優勢,不過如果說有什麼魔術般的新語言能夠大大簡化組件的編寫難度,那純粹是一種誤導。
微軟已經將全部賭注押在C#上,其他語言何去何從?
Stroustrup: C++在下一個十年裡仍然將是一種主流語言。面對新的挑戰,它會奮起應對。一個創造了那麼多出色系統的語言,絕不會「坐視落花流水春去也」。
我希望微軟認識到,它在C++(我指的是ISO標准C++)上有著巨大的利益,C++是它與IT世界內其他人之間的一座橋梁,是構造大型系統和嵌入式系統的有效工具,也是滿足高性能需求的利器。其他語言,似乎更注重那些四平八穩的商用程序。
競爭
C#會不會獲得廣泛的接受,並且擠掉其他的語言?
Lindholm: 通常,一種語言既不會從別的語言那裡獲利,也不會被擠掉。那些堅定的Fortran程序員不還用著Fortran嗎?對於個人來說,語言的選擇當然因時而異,但就整體而言,語言的種類只會遞增,也就是說,它們之間的關系是「有你有我」而不是「有你沒我」。 對於一個新語言的接受程度,往往取決於其能力所及。Java技術被迅速接受,原因是多方面的,Internet和World Wide Web介面,在其他技術面前的挫折感,對於Java技術發展方向的全面影響能力,都是原因。另一個重要的原因是Java獨立於廠商,這意味著在兼容產品面前可以從容選擇。
C#是否會獲得廣泛接受?視情況而定。總的來說,那些對於平台無關性和廠商無關性漠不關心的程序員,可能會喜歡C#。那些跟微軟平台捆在一起人當然可能想要尋找VB 和VC的一個出色的替代品。但是對於程序跨平台執行能力特別關注的程序員,將會堅守Java之類的語言。這種能力對於多重訪問設備(multiple access devices)和分布式計算模型至關重要,而Java語言提供了一個標準的、獨立於廠商運行時環境。
Stroustrup: C#的流行程度幾乎完全取決於微軟投入的資金多少。看上去C#的興起肯定會犧牲掉其他一些語言的利益,但是事實上未必如此。Java的蓬勃發展並沒有給C++帶來衰敗。C++的應用仍然在穩定增長(當然,已經不是爆炸性的增長了)。也許其他的語言也還能獲得自己的一席之地。 不過,我實在看不出有什麼必要再發明一種新的專有語言。特別是微軟,既生VB,何需C#
不同OOP語言各有什麼優勢和劣勢?
Stroustrup: C++的優點自始至終都是這么幾條:靈活、高效,而且並非專有語言。現在ISO C++標準的出現,鞏固了最後一點。我認為C++的高效是它最基本的優點。這種高效來自於其特有的數據和計算模型,較之Java和C#,這種模型更加貼近機器。不過,哪些程序才真正地渴望這么高的效率?這是個問題。我認為這類程序非常多。人們對於計算機的期望,永遠都超越硬體科技的發展速度。很顯然,Java和C#的設計者的想法不同,他們認為,在很多地方效率問題無關緊要。 C++主要的缺點,歸罪於糟糕的教育(是那些始終認為C++是個純粹面向對象語言的人,和那些把C++當成C語言變體的人導致了這種情況),歸罪於不同平台上的不一致性,歸罪於不完整、不標準的編譯器實現,歸罪於平台無關的系統級程序庫的缺少。 這些問題歸於一點,就是缺乏一個卓越的廠商,能夠滿足整個C++社區的需求,勇於投入大量的資金開發必要的程序庫。
Lindholm: Java技術的成功,是因為它在合適的時間,出現在合適的地點,而且合理地選擇了語言和計算平台的支持目標。Java並不是在所有場合都優於其他OOP語言,但是對於出現的新問題能夠解決得很出色。它面向Internet計算環境,避免了C++中晦澀的結構,成功翻越了繼承機制的惱人問題。垃圾收集機制顯著地提高了生產率,降低了復雜度。在網路背景下使用虛擬機,以及有關安全性和動態載入的一系列設計選擇,迎合了正在出現的需求和願望。這些特性使Java不僅成為現有程序員的新武器,而且也為新的程序員創造了繁榮的市場空間。
此外,Java擁有一個標准化的、二進制形式的類庫,提供了必要的(當然並非充分的)平台與廠商無關性。平台與廠商無關性要求一項技術必須有清晰的規范,摒棄那些阻礙二進制標准實施的特性。C++雖然有一個ISO標准,但其實甚至對於相同系統與相同指令體系的各個平台,也提不出一個實用的、各版本兼容的二進制標准。 歷史上很多使用虛擬機的語言飽受責難,是因為其不夠出色的性能問題,而這要歸過於緩慢的解釋器和糟糕的垃圾收集器。Java的早期實現也因為同樣的問題受到嚴厲的批評。但是自那時起,業界向新的虛擬機實現技術投入了大量資金,取得了顯著的效果,如今在大部分場合,Java的性能跟常規的靜態編譯語言相比毫不遜色。這使得程序員在獲得平台和
廠商無關性的同時,也不必付出性能上的代價。 C++並沒有強制使用面向對象方法,因此為了編寫出色的面向對象代碼,就要求程序員們有相當強的紀律性。很多公司就是因為這個原因放棄了C++。作為語言,Java的一個突出的優點就是強制面向對象方法,不允許非面向對象的結構。 C#介於C++和Java之間,腳踏兩只船,因此既不夠安全,又失之復雜。對於公司來說,採用新的語言要付出巨大代價。雇不到好的程序員(沒人熟悉這種新語言),培訓費用高得驚人,學習過程中生產率和產品質量下降,多年的經驗隨風消逝,等等。
一種語言如何克服這些障礙?
Lindholm: 說得很對,採用新東西確實常常開銷巨大。不過問題是:這個新東西是否能夠節省更多的開支,或者提供巨大的改進,獲取合理的回報?很多公司發現,轉向Java技術不論在開發的後端(盡快進入市場、快速迭代開發、維護簡單性)還是前端(跨平台發布,適用范圍從低端設備到高端伺服器的技術,安全性),都能節省大筆的開銷。 對於新事物的接納,常常是在痛楚的壓力之下。很大程度上,這正是Java所經歷的。Java的產生,是對當時很多系統的缺陷所做出的反應。Java技術通過下面的手段減輕了開發者的痛楚:1) 顧及了網路計算方面的需求,是應運而生。2) 在技術能力的抉擇上,保持良好的品位,顧及了大眾的心理。3) 採用適度強制性策略推行設計決定。此外,Java技術已經成為大學教學中的主流,這同樣保證了Java開發者隊伍的不斷壯大。 但是最重要的一點是,再沒有另一種程序設計技術,能夠像Java那樣允許程序員開發基於Internet的不同平台之上的應用程序。Java平台在這方面的傑出表現,已經被大量的實例證明。Java已經成為Internet上的預設應用程序平台,Java APIs也成為Internet應用程序開發的天然平台。
Stroustrup: 微軟和Sun把大筆的金錢扔在Java、VB和C#中,並不是因為他良心發現,也不是因為他們真的相信這些語言能夠帶給程序員更美好的生活,而是利益使然。
有一個說法,認為軟體工具廠商如果能夠把應用程序開發者的專業技術任務負擔起來,將獲取巨大的經濟利益。我對其背後的經濟分析頗為懷疑,我認為這很難成為現實,特別是當應用程序開發者使用開放的、標准化的工具時,他們可以有多種選擇,從而使上面的想法更加不可能。
多年以前,C++就已經具有泛型能力(也就是templates和STL),有運算符重載,有枚舉類型?我們會不會在Java的未來版本中看到這些特性?Java是不是應該納入這些特性呢? Strousturp:從1988-89年起,C++就已經有了templates。但是我們花了不少時間來了解如何最好地運用這個工具,早期各廠家對於template的支持在品質上也有很大的差異。有些編譯器廠商動作遲緩,至少有一個主要的編譯器廠商(好像是指微軟,微軟在Visual C++4.0才開始支持template,在此之前一直聲稱template是過於復雜而又沒什麼用的技術,時至今日,Visual C++對於template的支持在主流編譯器中都屬於最差的一檔——譯者注)暗中鼓勵聲名狼藉的反template宣傳,直到他們自己終於學會了這項技術為止。直到今天,對於template的支持在品質上仍然有待改進。
你上面提到的那些特性,我認為Java(還有C#)應該,也肯定會逐漸引入。那些對於程序員來說最有用的語言特性和概念,將會逐漸集中,成為各家主流語言的必然之選。也就是說,我認為類似析構函數和模板特殊化之類的機制,遠遠比枚舉等機制重要得多。
Lindholm:Java技術成功的原因之一,就是很清楚哪些不該做。我們得多問幾個為什麼:這項特性是不是必不可少?增加它會帶來哪些開銷?運算符重載是C++中一項極其強大的特性,但是它也大大增加了C++語言的復雜度,很多人都難以招架。Java在各種可能的權衡之中,做出了明智的抉擇,找到了能力與需求之間的完美平衡點。當然,Java也會發展,而且最重要的是,現在是開發者們在推動發展。Java增加泛型能力這件事,很好地展示了Java是如何通過整個開發者社群的參與,在權衡中決定正確的平衡點。關於增加泛型類型(generic types)的「Java規格申請」(Java Specification Request, JSR)已經進入JCP(Java Community Process)程序,而且已經開發了很長一段時間(參見 http://java.sun.com/aboutJava/communityprocess/之JSR-014)。現在,在JCP中,有超過80個JSRs正在討論中,這充分體現了整個體系對開發者的積極反饋和高度合作,這正是驅動Java平台不斷進化的動力。
發展 vs. 革新(Evolution vs. Revolution)
C++是一種發展型的語言,Java和C#似乎更像是革新型語言(它們是從頭設計的)?什麼時候,革新型的語言才是必需的呢?
Lindholm: Java技術並非憑空出世,反而更像是發展型的。Java所有的特性,在Java平台推出之前,都至少已經存在於另一種環境之中。Java的貢獻在於,在眾多的特性和權衡中,做出了合理的選擇,使得產品既實用,又優雅。Java技術對於程序員的態度是:撫養,但不溺愛。
Stroustrup:從技術上講,我並不認為Java和C#是什麼「從頭設計的」革新型語言。倘若Java是從技術原則出發,從頭設計,大概就不會模仿C/C++那種醜陋和病態的語法了(不必驚訝,Stroustrup在很多場合表示過,C++採用C的語法形式,實在是迫於兼容性。他本人更偏愛Simula的語法——譯者)。 我認為,只有當程序員們面對的問題發生了根本的變化的時候,或者當我們發現了全新的、極其優越的程序設計技術,又完全不能為現存語言所支持的時候,我們才需要全新的語言。問題是,我們恐怕永遠也碰不到那些「根本」、「全新」的情況。 我以為,自從OOP問世以來,可稱為「根本」的新型程序設計技術,唯有泛型程序設計(generic programming)和生成式程序設計(generative programming)技術,這兩項技術主要是源於C++ templates技術的運用,也有一部分曾經被視為面向對象和函數式語言(functional languages)的次要成分,現在都變成正式、可用和可承受的技術了。我對於目前C++模板(template)程序設計的成果非常興奮。例如,像POOMA, Blitz++和MTL等程序庫,在很多地方改變了數值計算的方式。
Java和C#的一個「賣點」,就是它們的簡單性。現在Java是不是快失去這個賣點了?
Stroustrup:新語言總是宣稱自己如何如何簡單,對老語言的復雜性頗多非議。其實這種所謂的「簡單性」,簡單地說,就是不成熟性。語言的復雜性,是在解決現實世界中極為煩瑣和特殊的復雜問題的過程中逐漸增加的。一個語言只要活的時間夠長,總會有某些地方逐漸復雜起來,或者是語言本身,或者是程序庫和工具。C++和Java顯然都不例外,我看C#也一樣。如果一種語言能夠度過自己的幼年時代,它會發現,自己無論是體積還是復雜性都大大增加了。
Lindholm:Java技術的的功能在增加,需要學習的東西也在增加。不過功能的增加並不一定帶來復雜性的增加。Java技術的發展,並沒有使學習曲線更加陡峭,只是讓它繼續向右方延展了。
標准
標准化語言和開放型語言各自的優點和缺點何在?
Lindholm:對於一個開放、不允許專有擴展、具有權威的強制性標准語言或者運行環境來說,不存在什麼缺點。允許專有擴展就意味著允許廠商下套子綁架客戶。特別重要的是,必須讓整個平台,而不只是其中一部分完全標准化,才能杜絕廠商們利用高層次的專有API下套子。客戶要求有選擇廠商的自由,他們既要有創造性,又需要兼容性。
Stroustrup:對於一個語言,如C/C++來說,建立正式標准(如ISO標准)最大的好處,在於可以防止某一個廠商操縱這種語言,把它當成自己的搖錢樹。多個廠商的競爭給用戶帶來的是較低的價位和較好的穩定性。 專有語言的好處,一是流行,二是便宜(不過等你被套牢了之後,情況就會起變化),三是對於商業性需求可以做出快速的反應。 標准化語言的特點之一是,它不能忽略特殊用戶的需求。比如我在AT&T中所考慮的東西,其規模、可靠性和效率要求,跟那些普通廠商關注的大眾軟體相比,根本不可同日而語。那些公司很自然只關注主要的需求。 然而,多數大機構和身處前沿的公司,都有著特殊的需求。C++的設計是開放、靈活和高效的,能夠滿足我所能想像的任何需求。跟其他的現代語言相比,C++的家長式作風可謂少之又少,原因就在這。當然,不能贊賞這一點的人會詬病C++的「危險」。 擁有正式和開放標準的語言主要是為編程工具的使用者和客戶服務的,而擁有專屬「標准」的語言,主要是為廠商服務的。
⑸ 如何從github獲取源代碼
Java是一種廣泛使用的計算機編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。
任職於太陽微系統的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通信。由於這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著1990年代互聯網的發展,Sun公司看見Oak在互聯網上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式發布。Java伴隨著互聯網的迅猛發展而發展,逐漸成為重要的網路編程語言。
Java編程語言的風格十分接近C++語言。繼承了C++語言面向對象技術的核心,Java舍棄了C++語言中容易引起錯誤的指針,改以引用取代,同時移除原C++與原來運算符重載,也移除多重繼承特性,改用介面取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型編程、類型安全的枚舉、不定長參數和自動裝/拆箱特性。太陽微系統對Java語言的解釋是:「Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言」
Java不同於一般的編譯語言或直譯語言。它首先將源代碼編譯成位元組碼,然後依賴各種不同平台上的虛擬機來解釋執行位元組碼,從而實現了「一次編寫,到處運行」的跨平台特性。在早期JVM中,這在一定程度上降低了Java程序的運行效率。但在J2SE1.4.2發布後,Java的運行速度有了大幅提升。
與傳統類型不同,Sun公司在推出Java時就將其作為開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互兼容。「Java語言靠群體的力量而非公司的力量」是 Sun公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同,此外,微軟公司後來推出了與之競爭的.NET平台以及模仿Java的C#語言。後來Sun公司被甲骨文公司並購,Java也隨之成為甲骨文公司的產品。
現時,移動操作系統Android大部分的代碼採用Java 編程語言編程。
早期的Java
Java的發明人詹姆斯·高斯林
Duke,Java語言的吉祥物
語言最開始只是Sun計算機(Sun MicroSystems)公司在1990年12月開始研究的一個內部項目。Sun計算機公司的一個叫做帕特里克·諾頓的工程師被公司自己開發的C++和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。帕特里克決定改用NeXT,同時他也獲得了研究公司的一個叫做「Stealth計劃」的項目的機會。
「Stealth計劃」後來改名為「Green計劃」,詹姆斯·高斯林和麥克·舍林丹也加入了帕特里克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裡面研究開發新技術,瞄準下一代智能家電(如微波爐)的程序設計,Sun公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C++語言,但是很多成員包括Sun的首席科學家比爾·喬伊,發現C++和可用的API在某些方面存在很大問題。
工作小組使用的是嵌入式系統,可以用的資源極其有限。很多成員發現C++太復雜以至很多開發者經常錯誤使用。他們發現C++缺少垃圾回收系統,還有可移植的安全性、分布程序設計、和多線程功能。最後,他們想要一種易於移植到各種設備上的平台。
根據可用的資金,喬伊決定開發一種集C語言和Mesa語言大成的新語言,在一份報告上,喬伊把它叫做「未來」,他提議Sun公司的工程師應該在C++的基礎上,開發一種面向對象的環境。最初,高斯林試圖修改和擴展C++的功能,他自己稱這種新語言為C++ ++ --,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為「Oak」(橡樹),以他的辦公室外的橡樹命名。
就像很多開發新技術的秘密工程一樣,工作小組沒日沒夜地工作到了1993年的夏天,他們能夠演示新平台的一部分了,包括Green操作系統,Oak的程序設計語言,類庫及其硬體。最初的嘗試是面向一種類PDA設備,被命名為Star7,這種設備有鮮艷的圖形界面和被稱為「Duke」的智能代理來幫助用戶。1992年12月3日,這台設備進行了展示。
同年11月,Green計劃被轉化成了「FirstPerson有限公司」,一個Sun公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度交互的設備感興趣,當時代華納發布了一個關於電視機頂盒的徵求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對徵求意見書的響應,提出了一個機頂盒平台的提議。但是有線電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI。與3DO公司的另外一筆關於機頂盒的交易也沒有成功,由於他們的平台不能在電視工業產生任何效益,公司被並回Sun公司。
Java和互聯網
1994年6月,在經歷了一場歷時三天的腦力激盪的討論後,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯庫米,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器,WebRunner,後來改名為HotJava[12]。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java
1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。升陽公司的科學指導約翰·蓋吉宣告Java技術。這個發布是與網景公司的執行副總裁馬克·安德森的驚人發布一起進行的,宣布網景將在其瀏覽器中包含對Java的支持。1996年1月,升陽公司成立了Java業務集團,專門開發Java技術。
Java和「Java」
由於商標搜索顯示,Oak已被一家顯示卡製造商注冊。於是同年,Oak被改名為Java。當使用十六進制編輯器打開由Java源代碼編譯出的二進制文件(.class文件)的話,最前面的32位將顯示為CA FE BA BE,即片語「CAFE BABE」(咖啡屋寶貝)。
Java近況
一套Java編輯器軟體
J2SE環境與CDC的關連
JVM的所在角色
JSPX網頁的概念
在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單交互性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎游戲那樣的更為復雜的應用程序。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反。在萬維網的伺服器端和手持設備上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。
在桌面系統上,獨立的Java程序還是相對少見,這是因為Java平台的運行開銷較大,而許多人的電腦上沒有安裝Java,由於網路帶寬在以前較小,下載Java曾經是個耗時的事情。但是隨著計算機計算能力、網路帶寬在10年中獲取了很大的進步,同時虛擬機和編譯器的質量得到了提高,許多應用程序得到了廣泛的使用,包括:
開源軟體:
NetBeans和Eclipse等軟體開發工具
Android操作系統
JEdit
Azureus BitTorrent客戶端。
JNode操作系統
Apache軟體基金會的Ant、Derby、Hadoop、Jakarta、POI和Tomcat
JBoss和GlassFish應用伺服器
商業軟體:
EIOffice(永中Office)
Minecraft
純Java 3D游戲合金戰士Chrome
IBM Websphere、ColdFusion和WebLogic
IntelliJ IDEA
還有許多用Java寫的軟體,可以在http://www.java.com 找到。在以下網頁可以看到非常多用Java寫的程序:http://java.sun.com/procts/ 下面有大量用Java Swing開發的桌面Java程序 http://java.sun.com/procts/jfc/tsc/sightings/ 目前Java提供以下三個版本:
Java Platform, Enterprise Edition(Java EE:Java平台企業版)
Java Platform, Standard Edition(Java SE:Java平台標准版)
Java Platform, Micro Edition(Java ME:Java平台微型版)
Java Platform, Card Edition
Java開放源代碼項目
2006年SUN在JavaOne公布Java 開放源代碼項目,並推出OpenJDK項目。[13]Java虛擬機、Java編譯器和Java類庫以GNU通用公共許可證公開。
版本歷史
主條目:Java版本歷史
1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發布
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平台J2EE發布
1999年6月,SUN公司發布Java的三個版本:標准版(J2SE)、企業版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3發布
2000年5月29日,JDK1.4發布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發布
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發布,成為Java語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0
2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名,以取消其中的數字「2」:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME
2006年12月,SUN公司發布JRE6.0
2009年12月,SUN公司發布Java EE 6
2010年11月,由於Oracle公司對於Java社區的不友善,因此Apache揚言將退出JCP[14]
2011年7月28日,Oracle公司發布Java SE 7
2014年3月18日,Oracle公司發表Java SE 8
語言特性
Java之所以被開發,是要達到以下五個目的:
應當使用面向對象程序設計方法學
應當允許同一程序在不同的計算機平台執行
應當包括內建的對計算機網路的支持
應當被設計成安全地執行遠端代碼
應當易於使用,並借鑒以前那些面向對象語言(如C++)的長處。
Java技術主要分成幾個部分:Java語言、Java運行環境、類庫。一般情況下說Java時並不區分指的是哪個部分。
Java在1.5版本時,做了重大改變,Sun公司並1.5版本重命名為Java 5.0。
面向對象
Java的特點之一就是面向對象,是程序設計方法的一種。「面向對象程序設計語言」的核心之一就是開發者在設計軟體的時候可以使用自定義的類型和關聯操作。代碼和數據的實際集合體叫做「對象」。一個對象可以想像成綁定了很多「行為(代碼)」和「狀態(數據)」的物體。對於數據結構的改變需要和代碼進行通信然後操作,反之亦然。面向對象設計讓大型軟體工程的計劃和設計變得更容易管理,能增強工程的健康度,減少失敗工程的數量。
跨平台性
Java語言的第二個特性就是跨平台性,也就是說使用Java語言編寫的程序可以在編譯後不用經過任何更改,就能在任何硬體設備條件下運行。這個特性經常被稱為「一次編譯,到處運行」。
執行Java應用程序必須安裝爪哇運行環境(Java Runtime Environment,JRE),JRE內部有一個Java虛擬機(Java Virtual Machine,JVM)以及一些標準的類庫(Class Library)。通過JVM才能在電腦系統執行Java應用程序(Java Application),這與.Net Framework的情況一樣,所以電腦上沒有安裝JVM,那麼這些程序將不能夠執行。
實現跨平台性的方法是大多數編譯器在進行Java語言程序的編碼時候會生成一個用位元組碼寫成的「半成品」,這個「半成品」會在Java虛擬機(解釋層)的幫助下運行,虛擬機會把它轉換成當前所處硬體平台的原始代碼。之後,Java虛擬機會打開標准庫,進行數據(圖片、線程和網路)的訪問工作。主要注意的是,盡管已經存在一個進行代碼翻譯的解釋層,有些時候Java的位元組碼代碼還是會被JIT編譯器進行二次編譯。
有些編譯器,比如GCJ,可以自動生成原始代碼而不需要解釋層。但是這些編譯器所生成的代碼只能應用於特定平台。並且GCJ目前只支持部分的Java API。
甲骨文公司對於Java的許可是「全兼容的」,這也導致了微軟和升陽關於微軟的程序不支持RMI和JNI介面、並且增加特性為己所用的法律爭端。升陽最終贏得了官司,獲得了大約兩千萬美元的賠償,法院強制要求微軟執行升陽公司關於Java的許可要求。作為回應,微軟不再在Windows系統中捆綁Java,最新的Windows版本,Windows Vista和Internet Explorer 7.0版本也不再提供對於Java應用程序和控制項的支持。但是升陽公司和其他使用Java運行時系統的公司在Windows操作系統下對用戶提供無償的第三方插件和程序支持。
Java語言使用解釋層最初是為了輕巧性。所以這些程序的運行效率比C語言和C++要低很多,用戶也對此頗有微詞。很多最近的調查顯示Java的程序運行速度比幾年前要高出許多,有些同樣功能的程序的效率甚至超過了C++和C語言編寫的程序[來源請求]。
Java語言在最開始應用的時候是沒有解釋層的,所有需要編譯的代碼都直接轉換成機器的原始代碼。這樣做的後果就是獲得了最佳的性能,但是程序臃腫異常。從JIT技術開始,Java的程序都經過一次轉換之後才變成機器碼。很多老牌的第三方虛擬機都使用一種叫做「動態編譯」的技術,也就是說虛擬機實時監測和分析程序的運行行為,同時選擇性地對程序所需要的部分進行編譯和優化。所有這些技術都改善了代碼的運行速度,但是又不會讓程序的體積變得失常。
程序的輕便性事實上是軟體編寫很難達到的一個目標,Java雖然成功地實現了「一次編譯,到處運行」,但是由於平台和平台之間的差異,所編寫的程序在轉換代碼的時候難免會出現微小的、不可察覺的錯誤和意外。有些程序員對此非常頭疼,他們嘲笑Java的程序不是「一次編譯,到處運行」,而是「一次編譯,到處調試」。以Java
AWT為例,早期Java
AWT內提供的按鈕、文字區等均是以計算機系統所默認的樣式而顯示。這令Java程序在有些沒有提供圖案的計算機系統產生錯誤(在Microsoft
Windows設有窗口管理器,在一些Linux distribution則沒有)。後來SUN公司針對Java AWT一些問題而推出Java
Swing。
平台無關性讓Java在伺服器端軟體領域非常成功。很多伺服器端軟體都使用Java或相關技術建立。
自動垃圾回收(Garbage Collection)
C++語言被用戶詬病的原因之一是大多數C++編譯器不支持垃圾收集機制。通常使用C++編程的時候,程序員於程序中初始化對象時,會在主機內存堆棧上分配一塊內存與地址,當不需要此對象時,進行析構或者刪除的時候再釋放分配的內存地址。如果對象是在堆棧上分配的,而程序員又忘記進行刪除,那麼就會造成內存泄漏(Memory
Leak)。長此以往,程序運行的時候可能會生成很多不清除的垃圾,浪費了不必要的內存空間。而且如果同一內存地址被刪除兩次的話,程序會變得不穩定,甚至崩潰。因此有經驗的C++程序員都會在刪除之後將指針重置為NULL,然後在刪除之前先判斷指針是否為NULL。
C++中也可以使用「智能指針」(Smart Pointer)或者使用C++託管擴展編譯器的方法來實現自動化內存釋放,智能指針可以在標准類庫中找到,而C++
(題主你怎麼可以問這么沙比的問題!)
託管擴展被微軟的Visual
C++
7.0及以上版本所支持。智能指針的優點是不需引入緩慢的垃圾收集機制,而且可以不考慮線程安全的問題,但是缺點是如果不善使用智能指針的話,性能有可能不如垃圾收集機制,而且不斷地分配和釋放內存可能造成內存碎片,需要手動對堆進行壓縮。除此之外,由於智能指針是一個基於模板的功能,所以沒有經驗的程序員在需要使用多態特性進行自動清理時也可能束手無策。
Java語言則不同,上述的情況被自動垃圾收集功能自動處理。對象的創建和放置都是在內存堆棧上面進行的。當一個對象沒有任何引用的時候,Java的自動垃圾收集機制就發揮作用,自動刪除這個對象所佔用的空間,釋放內存以避免內存泄漏。
注意程序員不需要修改finalize方法,自動垃圾收集也會發生作用。但是內存泄漏並不是就此避免了,當程序員疏忽大意地忘記解除一個對象不應該有的引用時,內存泄漏仍然不可避免。
不同廠商、不同版本的JVM中的內存垃圾回收機制並不完全一樣,通常越新版本的內存回收機制越快,IBM、BEA、SUN等等開發JVM的公司都曾宣稱過自己製造出了世界上最快的JVM[來源請求],JVM性能的世界紀錄也在不斷的被打破並提高。
IBM有一篇有關Java內存回收機制比不激活垃圾收集機制的C++內存處理快數倍的技術文章[15],而著名的Java技術書籍《Java編程思想》(Thinking in Java)也有一段論述Java內存及性能達到甚至超過C++的章節[16]。
基本語法
編寫Java程序前應注意以下幾點:
大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。
類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單片語成,那麼每個單詞的首字母應該大寫,例如MyFirstJavaClass。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫,例如myFirstJavaMethod。
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的後綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。
主方法入口:所有的Java程序由public static void main(String[] args)方法開始執行。
Java關鍵字
關鍵字 下面列出了Java關鍵字。這些關鍵字不能用於常量、變數、和任何標識符的名稱。
關鍵字
描述
abstract
抽象方法,抽象類的修飾符
assert
斷言條件是否滿足
continue
不執行循環體剩餘部分
default
switch語句中的默認分支
do-while
循環語句,循環體至少會執行一次
double
64-bit雙精度浮點數
else
if條件不成立時執行的分支
enum
枚舉類型
extends
表示一個類是另一個類的子類
final
表示定義常量
finally
無論有沒有異常發生都執行代碼
float
32-bit單精度浮點數
for
for循環語句
goto
用於流程跳轉(不可用,意即不可隨意跳轉)
if
條件語句
implements
表示一個類實現了介面
import
導入類
instanceof
測試一個對象是否是某個類的實例
int
32位整型數
interface
介面,一種抽象的類型,僅有方法和常量的定義
long
64位整型數
native
表示方法用非java代碼實現
new
分配新的類實例
package
一系列相關類組成一個包
private
表示私有欄位,或者方法等,只能從類內部訪問
protected
表示保護類型欄位
public
表示共有屬性或者方法
return
方法返回值
short
16位數字
static
表示在類級別定義,所有實例共享的
strictfp
浮點數比較使用嚴格的規則
super
表示基類
switch
選擇語句
synchronized
表示同一時間只能由一個線程訪問的代碼塊
this
調用當前實例或者調用另一個構造函數
throw
拋出異常
throws
定義方法可能拋出的異常
transient
修飾不要序列化的欄位
try
表示代碼塊要做異常處理
void
標記方法不返回任何值
volatile
標記欄位可能會被多個線程同時訪問,而不做同步
while
while循環
注釋
注釋作用:標識程序是干什麼的,以及它是如何構建的。注釋幫助程序員進行相互溝通以及理解程序。注釋不是程序設計語言,所以編譯器編譯程序時忽略它們。
介面和類別
Java自帶了創建介面的類別,可以這樣使用:
public interface Deleteable {
void delete();
}
這段代碼的意思是任何實現(implement)Deleteable介面的類別都必須實現delete()方法。每個類別對這個方法的實現可以自行定製。由此概念可以引出很多種使用方法,下面是一個類別的例子:
⑹ 求大學生職業生涯規劃PPT!!
大學生要做好職業生涯規劃,應從以下幾方面入手:
一、認識自我,了解版社會。在制定職業權生涯規劃之前復,每個大學生應明確「我是一個什麼樣的人、我將來想做制什麼、我能幹什麼、環境能支持我干什麼」等問題。
二、確立目標,規劃未來。在認識自我、了解社會的前提下,大學生應從自身實際和社會需要出發,確定職業發展的方向,明確達到職業目標百需要具備的素質和實現目標的優劣勢。
三、構建合理的知識結構。大學生不僅要具有相當數量的知識,還必須形成合理的知識結構。
四、培養職業需要的實踐能力。大學生的綜合能力和知識面是用人單位選擇的依據。用人單位不僅考核度其知專業知識和技能,而且還考核其綜合運用知識的能力、對環境的適應能力、對文化的整合能力和實際動手操作能力等。
五、積極參加有益的社會實踐和職業訓練,增強適應工作的能力。職業訓練包括職業技能的培訓,對自我職業適應性考核,職業意向的科學測定等。
六、加強自我修養與鍛煉,道培養良好的心理素質。
下載精美的職業規劃PPT模板,就到怪人網