版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中英文對照外文翻譯文獻(文檔含英文原文和中文翻譯)譯文:Java編程思想BruceEckelJava和因特網事實上Java不過另一種類型的程序設計語言,大家可能會問它為什么會如此重要,為什么還有這么多的人認為它是計算機程序設計的一個里程碑呢?。Java除了可解決傳統(tǒng)的程序設計問題以外,還能解決WorldWideWeb(萬維網)上的編程問題。什么是wbe?Web這個詞剛開始顯得有些神秘,“沖浪”、“網上存在”以及“主頁”等都是與之相關的說法。這些對于回顧和看清它的本質是有幫助的,但在這之前,必須理解客戶機/服務器系統(tǒng)的概念,這是充斥著許多令人迷惑的問題的另一方面。客戶機/服務器計算戶機/服務器系統(tǒng)的主要思想是,在一個中央信息存儲庫存放各種類型的數(shù)據(jù),一般情況下在這個數(shù)據(jù)庫中,你可以按照人或機器的需求進行分配。由于客戶機/服務器的關鍵概念是信息集中的存儲庫,以至于這些信息可以隨意更改并將其更改后的信息傳遞給客戶。綜上所述,信息存儲庫,軟件分發(fā)信息,信息和軟件所在的機器(s)被稱為服務器。軟件安裝在遠程機器上,與服務器通信,獲取信息,處理它,然后將其顯示在機器上被稱為客戶端。一個客戶機/服務器的關鍵概念是信息集中的存儲庫,可以改變等,這些變化將傳播出去的信息消費者。綜上所述,信息存儲庫,軟件分發(fā)信息,信息和軟件所在的機器(s)被稱為服務器。駐留在消費機的軟件,與服務器通信,獲取信息,處理它,然后將其顯示在消費機器上被稱為客戶端。其實客戶機/服務器的基本概念不那么復雜。所面臨的問題是一個服務器試圖同時向多個用戶提供服務。通常,數(shù)據(jù)庫管理系統(tǒng)包含在其中,因此,設計師能平衡數(shù)據(jù)表的布局優(yōu)化使用。此外,系統(tǒng)通常允許客戶將新信息插入到一個服務器。這意味著您必須確??蛻粜聰?shù)據(jù)不侵犯另一個客戶的新數(shù)據(jù),或者添加新數(shù)據(jù)到數(shù)據(jù)庫時數(shù)據(jù)不會丟失的過程(這就是所謂的交易過程).客戶端軟件發(fā)生改變后,必須經過創(chuàng)建,調試,并安裝在客戶端機器上,變得比你想象中的更加復雜和昂貴。存在一個特殊的問題是要支持多種類型的計算機和操作系統(tǒng)。最后,至關重要的是性能問題:在很多時候可能有數(shù)百個客戶同時向服務器發(fā)出請求,所以延遲請求是至關重要的。通常為了減少延遲,程序員將努力處理客戶端發(fā)出的任務,但有時可以分配給其他機器的網站,那就是所謂的中間件。(中間件也用于提高可維護性。)分發(fā)信息的簡單想法有很多層面上的復雜性,整個問題似乎無可救藥的神秘。然而它的關鍵之處在于:客戶機/服務器對處理結果做出粗略的解釋約占整個編程過程的一半。負責接受所有的訂單,信用卡交易數(shù)據(jù)分布stock市場,科學、政府,你的名字。我們想出了在過去是個體解決個人問題,發(fā)明了一種新的解決方案。這些都是很難創(chuàng)建和難以使用,和用戶必須為每一個學習一個新的接口。整個客戶端/服務器的問題需要一個強大的辦法去解決。Web是一個巨大的服務器網絡實際上是一個巨大的客戶機/服務器系統(tǒng)。有點復雜的是,因為所有的服務器和客戶端存在單一網絡上。但是你不需要全都了解,因為你該關心的是一次建立與一個服務器的連接(即使你可能要在全世界范圍內尋找正確的服務器)。最初它是一個簡單的單向過程。你向服務器發(fā)出請求,然后它給你一個文件,本機機器的軟件(即瀏覽器,客戶端)將解釋和格式化并顯示到本地機器上。但在開始不久后人們想要做的就不僅僅是從服務器傳遞網頁。他們想要獲得完整的客戶機/服務器功能,這樣客戶可以將信息反饋給服務器,例如,在數(shù)據(jù)庫服務器上檢索,添加新信息到服務器,或下訂單(需要特殊安全措施)。我們已經看到在網絡發(fā)展上的這些變化。Web瀏覽器的發(fā)展是一個巨大的進步:它的概念是一條信息可以在任何類型的計算機上顯示。然而,原始的瀏覽器仍然相當原始,在用戶要求迅速增多后陷入困境。他們的交互不是特別強,而且會阻塞服務器和因特網,因為每當你發(fā)出需要編程的請求是,必須將要處理的信息發(fā)送回服務器??赡苄枰獛酌腌娀驇追昼姇r間才能找出在發(fā)出請求時的許多拼寫錯誤的地方。因為瀏覽器只是一個查看程序所以無法執(zhí)行最簡單的計算任務。(另一方面,它是安全的,因為它無法在本地機器上執(zhí)行任何程序,包括細菌或病毒)。為了解決這個問題,人們采取了不同的方法。首先,對圖形標準進行改進,使得瀏覽器能顯示更好的動畫和視頻。為解決剩下的問題可以通過在瀏覽器中運行程序。這就是所謂的客戶端編程??蛻舳司幊蘔eb最初的服務器--瀏覽器的設計是為了提供交互式內容,但是,交互性是完全由服務器提供。服務器為客戶端瀏覽器生成靜態(tài)頁面,靜態(tài)網頁將簡單地解釋并顯示出來.基本超文本標記語言(HTML)包含簡單的數(shù)據(jù)收集機制:文字輸入框,復選框、單選框、列表和下拉列表,還有一個按鈕,只能用于重置表單上的數(shù)據(jù)以便回傳到服務器.提交的信息通過所有的Web服務器上通用網關接口(CGI)回傳。包含在提交中的文本會告訴CGI如何處理它。最常見的操作是位于服務器上運行的一個程序,通常稱為“目錄?!?如果按下在地址窗口頂部的瀏覽器網頁上看到的按鈕時,有時能看到“目錄”內所有官樣文章。)大多數(shù)語言都可以用來編寫程序。通常會選擇Perl,因為它是為文本處理和解釋而設計的,所以它可以安裝在任何服務器上,無論是什么處理器和操作系統(tǒng)。今天許多強大的網站都是嚴格地建立在CGI的基礎上,事實上,你可以用CGI做任何事情。然而,Web站點建立在CGI程序上維護就突然變得過于復雜,還有響應時間的問題。CGI程序的響應取決于需要發(fā)送多少數(shù)據(jù),以及服務器和互聯(lián)網上的負擔有多重。(而且開始一個CGI程序往往是緩慢的。)網絡的最初設計者沒有預見這帶寬將會多么迅速地被人們開發(fā)出的各種應用程序耗盡。例如,任何形式的動態(tài)圖形幾乎是不可能連貫地顯示,因為必須創(chuàng)建一個圖形交換格式(GIF)文件并從服務器轉移到客戶機,再將圖形的變化從服務器傳遞給客戶。此外,毫無疑問,大家已經經歷過數(shù)據(jù)驗證的過程,你按下頁面上的提交按鈕,數(shù)據(jù)被運送回服務器;服務器啟動一個CGI程序發(fā)現(xiàn)錯誤,格式化HTML網頁,反饋出現(xiàn)的錯誤,然后將頁面發(fā)送回去;大家必須備份頁面,再試一次。這不僅緩慢而且繁瑣。解決的辦法就是客戶端的程序設計。本節(jié)的其余部分,將對這個問題進行概述,介紹在客戶端編程的方法。插件朝客戶端編程邁進的時候,最重要的一個問題就是插件的設計。這是一個為方便程序員將新功能添加到瀏覽器的方法,用戶只要下載一段代碼,插入到瀏覽器中適當?shù)奈恢谩K嬖V瀏覽器,“從現(xiàn)在開始你可以執(zhí)行這個新活動?!?你只需要下載插件一次。)一些快速和強大的行為是通過插件添加到瀏覽器的,但是編寫一個插件并不是一件容易的事情,也不是我們建立一個特定網站的過程中想要做的事情。對與客戶端程序設計來說,插件的價值在于,它允許專業(yè)程序設計員開發(fā)擴展并將這些擴展添加到瀏覽器不必經過瀏覽器制造商的許可。因此,插件提供了一個“后門”,允許創(chuàng)建新的客戶端設計語言(盡管不是所有的語言都能做為插件實現(xiàn))腳本語言插件導致了瀏覽器腳本語言的發(fā)展。通過腳本語言,可將客戶端程序的源代碼直接嵌入到HTML頁面,而對那種語言進行解釋的插件會在HTML頁面顯示出來的時候被自動激活。腳本語言往往是相當容易理解的,因為他們只是文本,HTML頁面的一部分,只要向服務器發(fā)出對那個頁面的一次請求就可以非常快的載入.。代價是我們的代碼全都暴露出來被所有人都看到了。,然而,通常來說我們不會用腳本語言做非常復雜的事,所以這不是太大的阻礙。期待中可以支持沒有插件的Web瀏覽器一種腳本語言是JavaScript(這只有一個地方和java有相似之處,我們需要通過其他途徑學習使用它。被命名為Java只是一種營銷策略)不幸的是,大多數(shù)Web瀏覽器一開始從另一個Web瀏覽器以不同的方式實現(xiàn)JavaScript,甚至是來自他們自己的其他版本的。ECMAScript有助于推進JavaScript的標準化形式的形成,但已經與各種瀏覽器脫軌很長一段時間了(因為它已經沒有用了所以微軟推出自己的VBScript格式,也有與JavaScript的模糊相似之處)。一般來說,您必須在JavaScript的一種程序的最小公因子以便能夠在所有瀏覽器上運行。處理錯誤和調試JavaScript只能被描述為一片混亂。證明是困難的,最近才有人創(chuàng)建一塊真正復雜的JavaScript(谷歌GMail),需要強大的奉獻精神和專業(yè)知識。內部Web瀏覽器使用的腳本語言是真真正面向解決特定類型問題的,其中主要是創(chuàng)造更加豐富和更具交互式圖形的用戶界面(gui)。然而,腳本語言可以解決80%在客戶端編程中所遇到的問題。你所遇到的問題完全可能在這80%里,而且腳本語言可以更簡單和更快速地發(fā)展,所以在考慮其他更復雜的方案之前如Java編程,首先應想一下腳本語言是否可行。Java如果一種腳本語言可以解決80%的客戶端編程的問題,那其他的20的“高難度的問題”又該怎么辦呢?流行的一種解決方案是java。它不僅是一個功能強大而且安全,而且是跨平臺的、與國際通用的的編程語言,但是java還在不斷地擴展,提供的語言特性和庫能夠很好地處理在傳統(tǒng)的編程語言中不能處理的問題,如多線程操作、數(shù)據(jù)庫訪問、網絡編程和分布式計算。Java允許通過applet和JavaWebStar進行客戶端編程。applet是一種很小的程序,將只運行在一個Web瀏覽器上。applet自動下載網頁的一部分(例如,正如一個圖形自動下載)。當applet被激活時,它執(zhí)行一個程序。它的優(yōu)點是,用戶需要客戶端軟件的時候,它就會很快為你提供一種自動分發(fā)服務器的客戶端軟件。用戶能很方便獲得最新版本成功的重新安裝客戶端軟件。由于Java的設計原理,程序員只需要創(chuàng)建一個項目,那個程序能在所有計算機瀏覽器以及安裝Java解釋器的瀏覽器中運行。(這包括絕大多數(shù)機器的安全。)由于Java是一種成熟的編程語言,你可以盡可能多的在客戶端工作之前和服務器發(fā)出請求之后工作。例如,您不需要通過互聯(lián)網發(fā)送一個請求形式由服務器發(fā)現(xiàn)你一個日期或其他參數(shù)的錯誤。而且計算機的客戶端可以快速的做校驗工作替代你在計算機前等待服務器的響應。不僅直接提高了速度和響應能力,而且一般可以減少網絡流量和服務器負擔,防止整個互聯(lián)網運行速度變慢。注:本文摘自《JAVA編程思想》一書中的第一章原文:ThinkinginJavaJavaandtheInternetIfJavais,infact,yetanothercomputerprogramminglanguage,youmayquestionwhyitissoimportantandwhyitisbeingpromotedasarevolutionarystepincomputerprogramming.Theanswerisn’timmediatelyobviousifyou’recomingfromatraditionalprogrammingperspective.AlthoughJavaisveryusefulforsolvingtraditionalstandaloneprogrammingproblems,itisalsoimportantbecauseitsolvesprogrammingproblemsfortheWorldWideWeb.WhatistheWeb?TheWebcanseemabitofamysteryatfirst,withallthistalkof“surfing,”“presence,”and“homepages.”It’shelpfultostepbackandseewhatitreallyis,buttodothisyoumustunderstandclient/serversystems,anotheraspectofcomputingthat’sfullofconfusingissues.Client/servercomputingTheprimaryideaofaclient/serversystemisthatyouhaveacentralrepositoryofinformation—somekindofdata,usuallyinadatabase—thatyouwanttodistributeondemandtosomesetofpeopleormachines.Akeytotheclient/serverconceptisthattherepositoryofinformationiscentrallylocatedsothatitcanbechangedandsothatthosechangeswillpropagateouttotheinformationconsumers.Takentogether,theinformationrepository,thesoftwarethatdistributestheinformation,andthemachine(s)wheretheinformationandsoftwareresidearecalled“theserver.”Thesoftwarethatresidesontheconsumermachine,communicateswiththeserver,fetchestheinformation,processesit,andthendisplaysitontheconsumermachineiscalledtheclient.Thebasicconceptofclient/servercomputing,then,isnotsocomplicated.Theproblemsarisebecauseyouhaveasingleservertryingtoservemanyclientsatonce.Generally,adatabasemanagementsystemisinvolved,sothedesigner“balances”thelayoutofdataintotablesforoptimaluse.Inaddition,systemsoftenallowaclienttoinsertnewinformationintoaserver.Thismeansyoumustensurethatoneclient’snewdatadoesn’twalkoveranotherclient’snewdata,orthatdataisn’tlostintheprocessofaddingittothedatabase(thisiscalledtransactionprocessing).Asclientsoftwarechanges,itmustbebuilt,debugged,andinstalledontheclientmachines,whichturnsouttobemorecomplicatedandexpensivethanyoumightthink.It’sespeciallyproblematictosupportmultipletypesofcomputersandoperatingsystems.Finally,there’stheall-importantperformanceissue:Youmighthavehundredsofclientsmakingrequestsofyourserveratanymoment,soasmalldelaycanbecritical.Tominimizelatency,programmersworkhardtooffloadprocessingtasks,oftentotheclientmachine,butsometimestoothermachinesattheserversite,usingso-calledmiddleware.(Middlewareisalsousedtoimprovemaintainability.)Thesimpleideaofdistributinginformationhassomanylayersofcomplexitythatthewholeproblemcanseemhopelesslyenigmatic.Andyetit’scrucial:Client/servercomputingaccountsforroughlyhalfofallprogrammingactivities.It’sresponsibleforeverythingfromtakingordersandcredit-cardtransactionstothedistributionofanykindofdata—stockmarket,scientific,government,younameit.Whatwe’vecomeupwithinthepastisindividualsolutionstoindividualproblems,inventinganewsolutioneachtime.Thesewerehardtocreateandhardtouse,andtheuserhadtolearnanewinterfaceforeachone.Theentireclient/serverproblemneededtobesolvedinabigway.TheWebasagiantserverTheWebisactuallyonegiantclient/serversystem.It’sabitworsethanthat,sinceyouhavealltheserversandclientscoexistingonasinglenetworkatonce.Youdon’tneedtoknowthat,becauseallyoucareaboutisconnectingtoandinteractingwithoneserveratatime(eventhoughyoumightbehoppingaroundtheworldinyoursearchforthecorrectserver).Initiallyitwasasimpleone-wayprocess.Youmadearequestofaserverandithandedyouafile,whichyourmachine’sbrowsersoftware(i.e.,theclient)wouldinterpretbyformattingontoyourlocalmachine.Butinshortorderpeoplebeganwantingtodomorethanjustdeliverpagesfromaserver.Theywantedfullclient/servercapabilitysothattheclientcouldfeedinformationbacktotheserver,forexample,tododatabaselookupsontheserver,toaddnewinformationtotheserver,ortoplaceanorder(whichrequiresspecialsecuritymeasures).Thesearethechangeswe’vebeenseeinginthedevelopmentoftheWeb.TheWebbrowserwasabigstepforward:theconceptthatonepieceofinformationcanbedisplayedonanytypeofcomputerwithoutchange.However,theoriginalbrowserswerestillratherprimitiveandrapidlyboggeddownbythedemandsplacedonthem.Theyweren’tparticularlyinteractive,andtendedtoclogupboththeserverandtheInternetbecausewheneveryouneededtodosomethingthatrequiredprogrammingyouhadtosendinformationbacktotheservertobeprocessed.Itcouldtakemanysecondsorminutestofindoutyouhadmisspelledsomethinginyourrequest.Sincethebrowserwasjustavieweritcouldn’tperformeventhesimplestcomputingtasks.(Ontheotherhand,itwassafe,becauseitcouldn’texecuteanyprogramsonyourlocalmachinethatmightcontainbugsorviruses.)Tosolvethisproblem,differentapproacheshavebeentaken.Tobeginwith,graphicsstandardshavebeenenhancedtoallowbetteranimationandvideowithinbrowsers.Theremainderoftheproblemcanbesolvedonlybyincorporatingtheabilitytorunprogramsontheclientend,underthebrowser.Thisiscalledclient-sideprogramming.Client-sideprogrammingTheWeb’sinitialserver-browserdesignprovidedforinteractivecontent,buttheinteractivitywascompletelyprovidedbytheserver.Theserverproducedstaticpagesfortheclientbrowser,whichwouldsimplyinterpretanddisplaythem.BasicHyperTextMarkupLanguage(HTML)containssimplemechanismsfordatagathering:text-entryboxes,checkboxes,radioboxes,listsanddropdownlists,aswellasabuttonthatcouldonlybeprogrammedtoresetthedataontheformor“submit”thedataontheformbacktotheserver.ThissubmissionpassesthroughtheCommonGatewayInterface(CGI)providedonallWebservers.ThetextwithinthesubmissiontellsCGIwhattodowithit.Themostcommonactionistorunaprogramlocatedontheserverinadirectorythat’stypicallycalled“cgi-bin.”(IfyouwatchtheaddresswindowatthetopofyourbrowserwhenyoupushabuttononaWebpage,youcansometimessee“cgi-bin”withinallthegobbledygookthere.)Theseprogramscanbewritteninmostlanguages.Perlhasbeenacommonchoicebecauseitisdesignedfortextmanipulationandisinterpreted,soitcanbeinstalledonanyserverregardlessofprocessororoperatingsystem.However,Python(www.P)hasbeenmakinginroadsbecauseofitsgreaterpowerandsimplicity.ManypowerfulWebsitestodayarebuiltstrictlyonCGI,andyoucaninfactdonearlyanythingwithCGI.However,WebsitesbuiltonCGIprogramscanrapidlybecomeoverlycomplicatedtomaintain,andthereisalsotheproblemofresponsetime.TheresponseofaCGIprogramdependsonhowmuchdatamustbesent,aswellastheloadonboththeserverandtheInternet.(Ontopofthis,startingaCGIprogramtendstobeslow.)TheinitialdesignersoftheWebdidnotforeseehowrapidlythisbandwidthwouldbeexhaustedforthekindsofapplicationspeopledeveloped.Forexample,anysortofdynamicgraphingisnearlyimpossibletoperformwithconsistencybecauseaGraphicsInterchangeFormat(GIF)filemustbecreatedandmovedfromtheservertotheclientforeachversionofthegraph.Inaddition,you’venodoubtexperiencedtheprocessofdatavalidationforaWebinputform.Youpressthesubmitbuttononapage;thedataisshippedbacktotheserver;theserverstartsaCGIprogramthatdiscoversanerror,formatsanHTMLpageinformingyouoftheerror,andthensendsthepagebacktoyou;youmustthenbackupapageandtryagain.Notonlyisthisslow,it’sinelegant.Thesolutionisclient-sideprogramming.MostdesktopcomputersthatrunWebbrowsersarepowerfulenginescapableofdoingvastwork,andwiththeoriginalstaticHTMLapproachtheyaresittingthere,justidlywaitingfortheservertodishupthenextpage.Client-sideprogrammingmeansthattheWebbrowserisharnessedtodowhateverworkitcan,andtheresultfortheuserisamuchspeedierandmoreinteractiveexperienceatyourWebsite.Theproblemwithdiscussionsofclient-sideprogrammingisthattheyaren’tverydifferentfromdiscussionsofprogrammingingeneral.Theparametersarealmostthesame,buttheplatformisdifferent;aWebbrowserislikealimitedoperatingsystem.Intheend,youmuststillprogram,andthisaccountsforthedizzyingarrayofproblemsandsolutionsproducedbyclient-sideprogramming.Therestofthissectionprovidesanoverviewoftheissuesandapproachesinclient-sideprogramming.Plug-insOneofthemostsignificantstepsforwardinclient-sideprogrammingisthedevelopmentoftheplug-in.Thisisawayforaprogrammertoaddnewfunctionalitytothebrowserbydownloadingapieceofcodethatplugsitselfintotheappropriatespotinthebrowser.Ittellsthebrowser,“Fromnowonyoucanperformthisnewactivity.”(Youneedtodownloadtheplug-inonlyonce.)Somefastandpowerfulbehaviorisaddedtobrowsersviaplug-ins,butwritingaplug-inisnotatrivialtask,andisn’tsomethingyou’dwanttodoaspartoftheprocessofbuildingaparticularsite.Thevalueoftheplug-inforclient-sideprogrammingisthatitallowsanexpertprogrammertodevelopextensionsandaddthoseextensionstoabrowserwithoutthepermissionofthebrowsermanufacturer.Thus,plug-insprovidea“backdoor”thatallowsthecreationofnewclient-sideprogramminglanguages(althoughnotalllanguagesareimplementedasplug-ins).ScriptinglanguagesPlug-insresultedinthedevelopmentofbrowserscriptinglanguages.Withascriptinglanguage,youembedthesourcecodeforyourclient-sideprogramdirectlyintotheHTMLpage,andtheplug-inthatinterpretsthatlanguageisautomaticallyactivatedwhiletheHTMLpageisbeingdisplayed.Scriptinglanguagestendtobereasonablyeasytounderstandand,becausetheyaresimplytextthatispartofanHTMLpage,theyloadveryquicklyaspartofthesingleserverhitrequiredtoprocurethatpage.Thetrade-offisthatyourcodeisexposedforeveryonetosee(andsteal).Generally,however,youaren’tdoingamazinglysophisticatedthingswithscriptinglanguages,sothisisnottoomuchofahardship.OnescriptinglanguagethatyoucanexpectaWebbrowsertosupportwithoutaplug-inisJavaScript(thishasonlyapassingresemblancetoJavaandyou’llhavetoclimbanadditionallearningcurvetouseit.ItwasnamedthatwayjusttograbsomeofJava’smarketingmomentum).Unfortunately,mostWebbrowsersoriginallyimplementedJavaScriptinadifferentwayfromtheotherWebbrowsers,andevenfromotherversionsofthemselves.ThestandardizationofJavaScriptintheformofECMAScripthashelped,butithastakenalongtimeforthevariousbrowserstocatchup(anditdidn’thelpthatMicrosoftwaspushingitsownagendaintheformofVBScript,whichalsohadvaguesimilaritiestoJavaScript).Ingeneral,youmustprograminakindofleast-common-denominatorformofJavaScriptinordertobeabletorunonallbrowsers.DealingwitherrorsanddebuggingJavaScriptcanonlybedescribedasamess.Asproofofitsdifficulty,onlyrecentlyhasanyonecreatedatrulycomplexpieceofJavaScript(Google,inGMail),andthatrequiredexcessivededicationandexpertise.ThispointsoutthatthescriptinglanguagesusedinsideWebbrowsersarereallyintendedtosolvespecifictypesofproblems,primarilythecreationofricherandmoreinteractivegraphicaluserinterfaces(GUIs).However,ascriptinglanguagemightsolve80percentoftheproblemsencounteredinclient-sideprogramming.Yourproblemsmightverywellfitcompletelywithinthat80percent,andsincescriptinglanguagescanalloweasierandfasterdevelopment,youshouldprobablyconsiderascriptinglanguagebeforelookingatamoreinvolvedsolutionsuchasJavaprogramming.JavaIfascriptinglanguagecansolve80percentoftheclient-sideprogrammingproblems,whatabouttheother20percent—the“reallyhardstuff”?Java
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濰坊理工學院《中學英語解題教學》2023-2024學年第一學期期末試卷
- 抵押車回購合同范例
- 居委會遺失物業(yè)合同范例
- 租房協(xié)議拆遷合同范例
- 汽車出賣合同范例
- 制定合同范例通知范例
- 工地收購樹苗合同范例
- 委托布展合同范例
- 清砂合同范例
- 職場白領兼職合同范例
- 2024-2025學年高二上學期期末數(shù)學試卷(基礎篇)(含答案)
- 直系親屬股權無償轉讓合同(2篇)
- 2023-2024學年廣東省廣州市白云區(qū)九年級(上)期末語文試卷
- 汽車吊籃使用專項施工方案
- 2024年典型事故案例警示教育手冊15例
- 中秋國慶慰問品采購投標方案
- 110kV變電站及110kV輸電線路運維投標技術方案(第二部分)
- 新高處安裝維護拆除作業(yè)專題培訓課件
- 大學基礎寫作--表達方式課件
- 日標法蘭尺寸表
- MSD(濕敏器件防護)控制技術規(guī)范
評論
0/150
提交評論