色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

Java C++ 安全性 網(wǎng)絡(luò)

發(fā)布時間:2010-9-20 10:05    發(fā)布者:conniede
關(guān)鍵詞: java , 網(wǎng)絡(luò)
越是高級的語言,其編譯和運行的系統(tǒng)開銷就越大,應(yīng)用程序也越大,運行越慢。因此一般來說,編程人員都會首選匯編語言和C語言,然后才會考慮C++語言或Java語言。

但是隨著不斷增長的市場需求,很多嵌入式設(shè)備必須適應(yīng)網(wǎng)上交流的需要,為了迎合此要求,考慮到開發(fā)Internet應(yīng)用程序的便利,眾多開發(fā)者都發(fā)現(xiàn)使用Java語言是有意義的。另外隨著內(nèi)存及32位處理器價格的下降,最初在嵌入系統(tǒng)使用Java太昂貴的問題不再有了,使用Java的成本開始減少。于是,Java在嵌入式領(lǐng)域迎來了新的機會。

Java語言的優(yōu)點在于:它最初是由理解和信奉網(wǎng)絡(luò)計算夢想的一個小巧而專注的開發(fā)組設(shè)計的,雖然該語言最初的實施方案有點缺陷,但為了這個夢想,設(shè)計者們很少在技術(shù)上妥協(xié),結(jié)果誕生了一種專為以相互通信為主要目的的設(shè)備而設(shè)計的語言。有許多技術(shù)上的優(yōu)點都可能會引導(dǎo)嵌入系統(tǒng)開發(fā)者選擇Java。

優(yōu)點1:與處理器無關(guān)

Java的第一個優(yōu)點就是與處理器無關(guān)。傳統(tǒng)上,嵌入程序就是針對特定的微處理器設(shè)計并在其上運行的,而C語言程序的可移植性則可通過編譯或交叉編譯來保障。但是利用Java,一個程序可以存 儲在一個系統(tǒng)上,而被下載并運行在完全不同的另一個系統(tǒng)上;設(shè)備可能從不同地方下載一些程序在一個處理器上運行,或者不同的處理器運行同一個程序,并通過網(wǎng)絡(luò)在相互間傳遞數(shù)據(jù)。使用Java,一個嵌入式系統(tǒng)就可能成為一個通用的通信設(shè)備,能下載并運行能完成特定任務(wù)的程序。

對嵌入式系統(tǒng)而言,這是一個新的模型,已經(jīng)有一些開發(fā)者正在向它靠攏。例如,電視機頂盒的供應(yīng)商已宣布要在機頂盒內(nèi)植入JVM,以使用戶能通過Java applets在他們觀看電視的同時接收到該電視節(jié)目的一些內(nèi)容。例如在觀看足球比賽時,看到的支持內(nèi)容就可以是對球員的技術(shù)統(tǒng)計,在看電影時,看到的支持內(nèi)容就可以是演員的背景資料。

這是一個恰當(dāng)?shù)脑O(shè)計和實施模型,首先它可以使開發(fā)平臺的選擇更加靈活,無需在與目標(biāo)相同的平臺上開發(fā),也不用關(guān)心交叉編譯的問題,因為Java字節(jié)碼能在任何有JVM的操作系統(tǒng)中運行。其次,這種模型帶來的另一個優(yōu)點是幾乎所有的檢測和調(diào)試可以獨立于目標(biāo)設(shè)備來進行。雖然由于個別JVM有時有兼容性的問題,應(yīng)該在所有將用到該程序的平臺上測試它。但一般來說,并不要高級而昂貴的、配備有邏輯探針、ICE以及其他調(diào)試工具的、針對目標(biāo)平臺的開發(fā)環(huán)境。

優(yōu)點2:提高開發(fā)速度和可維護性

Java是一種純粹面向?qū)ο蟮恼Z言。Java類被組織成一個等級層次,在層次結(jié)構(gòu)中,一個子類能夠繼承其超類的行為,并可用子類所具備的一些特有功能來擴展其超類的功能。對象模型是能定義對應(yīng)真實事物的數(shù)據(jù)結(jié)構(gòu),使得程序的任務(wù)和任務(wù)如何實現(xiàn)二者之間的轉(zhuǎn)換變得基本上透明。

面向?qū)ο蟮脑O(shè)計和編程的優(yōu)點在于其開發(fā)速度和代碼的可維護性,許多面向?qū)ο蟮拈_發(fā)都能通過利用和更改現(xiàn)存類庫來完成,而不是創(chuàng)造一個新的結(jié)構(gòu)。這就使開發(fā)加快了,Sun‘s Java Workshop(一個完全用Java寫的IDE)的開發(fā)者能在幾個月內(nèi)建立一個功能齊備的圖形IDE就是一個很好的證據(jù)。面向?qū)ο蟮姆椒ㄟ盡量使用自然的結(jié)構(gòu),使其有很高的可讀性,并且可輕易更改和加強。

優(yōu)點3:安全性高

由于有了JVM,一個Java應(yīng)用程序與操作系統(tǒng)或硬件完全隔絕,因此計算機病毒或其他作祟的代碼就很難獲得對設(shè)備的控制。虛擬機是主機設(shè)備和那些可能難以確定其質(zhì)量和可靠性的軟件之間的一個保護層。

另外,Java設(shè)計者從該語言中去掉了指針變量的概念。Java不能任意訪問內(nèi)存,只能讀寫有Java內(nèi)存分配管理系統(tǒng)創(chuàng)建的對象。由于Java編譯器所強制的嚴格的分類機制,從理論上來說,訪問那些未分配給程序的內(nèi)存區(qū)域是不可能的。這個限制使得寫惡意代碼變得非常困難了。當(dāng)然,這個保護并不完善,有人已經(jīng)在Java安全模型中找到漏洞,但是,JVM確實提供了一定的保護,使得幾乎不可能直接在硬件上運行代碼。

對Java applet施加的限制就更加嚴格了。由于Java applet被設(shè)計成從Internet上下載,因而被視為不可信任的代碼,除非它包括用戶已認定為可信任的主機的數(shù)字指紋。
JVM在內(nèi)存的一個稱之為sandbox的區(qū)域運行諸如applet這種不可信任的代碼。它給每個applet分配資源和特權(quán),并將其限定在這些分配區(qū)域范圍中。除了這些限制,sandbox模型還施加如下限制: 禁止讀寫當(dāng)?shù)赜嬎銠C文件系統(tǒng); 網(wǎng)絡(luò)操作被限止,禁止不被信任的代碼建立與任何計算機的網(wǎng)絡(luò)連接,它也不能在任何小于1024的端口號上監(jiān)聽和接受連接; 在運行不被信任代碼的線程組以外,禁止訪問或創(chuàng)建線程。

優(yōu)點4:內(nèi)存管理簡單

Java的內(nèi)存管理遠比其他語言簡單,因為它不使用指針。當(dāng)對象被實例化時,內(nèi)存被動態(tài)分配。正如我們前面分析的,對個別內(nèi)存地址的訪問被Java的設(shè)計者視為一個對安全的潛在危險,因此,訪問也被禁止。去掉指針的結(jié)果不僅提高了安全性,還簡化了編程,錯誤也減少了。

為了理解Java怎樣分配內(nèi)存,我們拿Java與C語言比較一下。在C語言中,可以用值或引用的方式來訪問數(shù)據(jù)。事實上,出于靈活性和控制考慮,非原始數(shù)據(jù)類型都由引用方式來存取,即通過指針訪問。因此,值和引用的不同變得非常清楚,特別是開發(fā)者不得不使用不同的符號(*和&)來存取數(shù)據(jù)。要用這兩種不同的訪問方式,必須清楚理解它們是什么以及為什么應(yīng)該使用這一個,而不使用那一個。

在Java中,由值和引用來存儲是無縫的,尤其因為其符號都一樣。兩者間惟一不同在于數(shù)據(jù)類型本身:所有原始數(shù)據(jù)類型始終由值的方式存取; 所有對象,包括字串、數(shù)組以及文件流,始終由引用方式訪問。聲明為原始數(shù)據(jù)變量類型包含該變量的值,聲明為對象的變量則包含對該對象(即該對象的地址)的一個引用,而非對象自身的引用。僅僅聲明一個對象變量并不給對象分配內(nèi)存,必須用“new”關(guān)鍵字來分配內(nèi)存和創(chuàng)建對象。

這兩種方法最根本的不 同在于:不可能像在C中那樣就Java內(nèi)存地址做指針?biāo)阈g(shù)或其他操作。Java中對象的地址是相對的(或虛擬的),它由虛擬機任意分配,因此你沒有理由還想要指針地址。

優(yōu)點5:具有垃圾收集功能

垃圾收集功能自動收集內(nèi)存中未引用的內(nèi)存,并將其歸回空閑內(nèi)存鏈表中。JVM使用此功能將不在使用的內(nèi)存還給系統(tǒng)。當(dāng)Java程序說明并實例化一個對象或數(shù)組時,它僅僅做一個JVM請求,訪問其下面的系統(tǒng)內(nèi)存(通常是通過主機操作系統(tǒng))并分配內(nèi)存,Java的垃圾收集系統(tǒng)通過內(nèi)存收集對象,然后檢查它們的引用鏈。Java的垃圾收集系統(tǒng)的工作方式一般是搜索內(nèi)存中的對象,然后檢查它們的引用表。它計算程序中有多少變量當(dāng)前正在引用每個對象。若對象的引用數(shù)目為零,它知道此對象不再在使用了,它的內(nèi)存可以收回。其結(jié)果就是,不必像C語言那樣,要人工來釋放分配的內(nèi)存。在C語言中,釋放內(nèi)存是一個必要、耗時且易出錯的細節(jié)。Java自動而精確的處理此過程,去除了C/C++程序中那種常見的錯誤致因。

優(yōu)點6:網(wǎng)絡(luò)實現(xiàn)方便

由于今天的嵌入式系統(tǒng)通常都是面向網(wǎng)絡(luò)的,采用內(nèi)置網(wǎng)絡(luò)支持的語言節(jié)約了在實現(xiàn)網(wǎng)絡(luò)協(xié)議和通信程序方面耗費的大量時間和努力。在Java中,網(wǎng)絡(luò)類包括TCP/IP流和使用TCP及UDP的數(shù)據(jù)報程序,用于HTTP和URL服務(wù)的操作方法,以及錯誤檢查代碼和恢復(fù)功能。雖然實現(xiàn)網(wǎng)絡(luò)也可能用其他語言,比如C語言,但那些語言要求特別的附件軟件包、DLL,或其他必須由操作系統(tǒng)或者第三方銷售提供的程序模塊。特別附件通常要求有操作系統(tǒng)或第三方工具的知識,不像Java,有標(biāo)準(zhǔn)的、內(nèi)置的網(wǎng)絡(luò)支持。Java包括網(wǎng)絡(luò)包是必要的,因為設(shè)計者不能對一個作為基礎(chǔ)的操作系統(tǒng)的網(wǎng)絡(luò)設(shè)施做任何假定,它們必須包括集成網(wǎng)絡(luò)程序庫,以確保Java程序能在所有平臺上工作。

優(yōu)點7:可以實現(xiàn)動態(tài)配置

動態(tài)配置是指系統(tǒng)啟動時的用戶制定配置或重新配置。需載入特殊的硬件配置、網(wǎng)絡(luò)參數(shù)或在引導(dǎo)期間支持特定用途的一些實用程序的系統(tǒng),常常使用動態(tài)配置。Java以動態(tài)捆綁來支持動態(tài)配置。當(dāng)組成一個程序的各個類文件編譯成字節(jié)碼時,在類文件之間,或者對JVM包的類(如圖形、網(wǎng)絡(luò)以及核心語言支持)引用,還沒有被解決。當(dāng)JVM載入程序啟動時,它動態(tài)的載入并捆綁(即鏈接)程序引用的所有的類。因此,要改變系統(tǒng)配置,需要做的就是修正相應(yīng)的類文件。下一次啟動時,JVM自動捆綁新文件到你的程序中,而新的配置將生效執(zhí)行。

優(yōu)點8:可以輕松誘捕和處理錯誤

與許多操作系統(tǒng)和程序不同,對嵌入系統(tǒng)而言,重新啟動通常是無法接受的。這意味著嵌入式系統(tǒng)都必須足夠堅實,能夠以截取錯誤來防止程序或整個設(shè)備崩潰。

程序錯誤的致因很多。相對來說,很少是因為繼承邏輯錯誤,而大多數(shù)程序的崩潰是因為意外輸入,或者是因為程序不能調(diào)用系統(tǒng)資源來完成某個特定操作造成的。所以,必須能夠預(yù)料這些問題,并要能夠誘捕它們,以免引起更大的問題。雖然,能用幾乎任何程序設(shè)計語言來誘捕和處理錯誤,不過如果有內(nèi)置的設(shè)施來做這類工作,比如像Java那樣,會有極大的幫助。

在Java中,由拋出(產(chǎn)生)一個異常來提示錯誤。使用專門為異常處理而設(shè)計的語句(關(guān)鍵字try、catch、和finally),程序能將其錯誤處理代碼安排到幾個集中區(qū)域中。try程序塊是程序執(zhí)行的正常流程,當(dāng)一個異常發(fā)生在try塊(包括該嵌套塊中的各層子程序)中,控制就交給了catch塊。不管是否有異常發(fā)生,finally塊中的代碼始終要被執(zhí)行。未被處理的異常會由調(diào)用堆棧自下而上傳播JVM并終止程序。不再需要動手編程來將錯誤狀態(tài)通過幾層函數(shù)調(diào)用返回。而是,在錯誤發(fā)生由檢測錯誤的代碼直接拋出一個異常。這極大地簡化了應(yīng)用程序中的錯誤處理代碼,進而獲得更好地錯誤處理效果和更堅實可靠的代碼。

優(yōu)點9:提供對線程管理的直線支持

大多數(shù)操作系統(tǒng)都給一個進程產(chǎn)生和管理多個線程的能力,這些線程彼此獨立地完成不同的任務(wù)。但是,很少由程序語言提供對線程管理的直線支持,通常都需要直接調(diào)用操作系統(tǒng)功能。Java卻相反,直接在語言中提供了產(chǎn)生、管理和協(xié)調(diào)同步線程的功能。與Java的其他特點一樣,該功能是必要的,因為設(shè)計者不敢確定底層的操作系統(tǒng)是否支持多線程。

開發(fā)者越來越多地在程序中使用線程,將其作為滿足一個程序不能完成的,通常相互無關(guān)的一些任務(wù)的一種手段。由于Java對線程有內(nèi)置語言支持,以Java創(chuàng)建多線程較之與其他語言更簡單、更自然。

優(yōu)點10:圖形功能強大

JVM包括一個龐大的圖形及窗口支持程序包,稱為Abstract Windowing Toolkit(AWT)。用AWT,能在應(yīng)用程序中快速而輕易地創(chuàng)建精致而強大的圖形用戶界面。對于需要精細的用戶界面的嵌入系統(tǒng)來說,AWT能 節(jié)省大量開發(fā)時間,從而使產(chǎn)品更快地走向市場。

Java語言的諸多優(yōu)點在某些情況下恰恰可能成為其不利于在嵌入式系統(tǒng)中得以廣泛應(yīng)用的絆腳石。因此,還需要不斷完善。在這里,筆者結(jié)合自己的研究,對某些局限提出一點改進的建議。

局限1:性能較低

由于解釋Java字節(jié)碼比相當(dāng)?shù)腃或C++寫的程序運行起來要慢5到10倍,對一些并非受制于CPU的嵌入系統(tǒng)來說,這一性能缺點不是問題,但是更經(jīng)常的較慢的速度會導(dǎo)致無法接受的應(yīng)答時間。

解決方案

有幾種可能的解決方案可緩解速度慢的問題。

使用更快、更強大的處理器,使系統(tǒng)響應(yīng)時間縮小到可以接受的范圍。不過這個方法將增加每個系統(tǒng)的成本。

使用母語Java編譯器來獲得比較好的性能。但這樣做,就放棄了與Java平臺無關(guān)的優(yōu)點,好在大多數(shù)嵌入系統(tǒng)都只在一種平臺上運行。

在系統(tǒng)上并入一個JIT編譯器,這樣Java類裝入時就被編譯。不過,如果為接納JIT編譯器而不得不增加額外的內(nèi)存,這個方法也會增加系統(tǒng)成本。另外,若系統(tǒng)各部分是按需求逐漸添加,則應(yīng)該控制程序裝入的時機,以使在裝入類進行編譯時產(chǎn)生的暫停不會影響系統(tǒng)的響應(yīng)時間。

局限2:垃圾收集的系統(tǒng)開銷過大

Java中的自動內(nèi)存分配和垃圾收集性能是很實惠的,但是,從實時系統(tǒng)的角度來看,它的問題恰好就在于它是自動的。當(dāng)垃圾收集進行時,開發(fā)者對系統(tǒng)的控制就受限了。因為,垃圾收集運行時,它凍結(jié)了系統(tǒng)其余部分的處理。這是因為它必須要在內(nèi)存中移動對象,并必須在程序再次運行前,更新所有引用(指向)那些對象的程序變量。垃圾收集需要凍結(jié)處理的時間,具體取決于內(nèi)存量和處理器的速度。很顯然,這對硬實時系統(tǒng)是無法接受的,甚至極端時對軟實時系統(tǒng)也是成問題的。

解決方案

垃圾收集以三種方式開啟。首先JVM有一個后臺垃圾收集線程,此線程傾向于在它一看見系統(tǒng)有空閑就開始垃圾收集,若有事件想要喚醒另一個線程,后臺垃圾收集就會被該線程占先,但它不會立刻被占先,它得更新那些已被移動的對象的所有引用后,才能讓一個線程運行。其次,若JVM沒找到足夠內(nèi)存來滿足某個內(nèi)存分配請求,它將啟動一個不會被占先的垃圾收集,在該操作完成之前,系統(tǒng)的其余部分被禁止。最后,一個應(yīng)用程序能通過調(diào)用Systev.gc()方法來啟動垃圾收集。所以,如果知道系統(tǒng)暫時不會執(zhí)行任何時序上關(guān)鍵的任務(wù),就可以啟動垃圾收集,避免稍后在更關(guān)鍵時段進行收集。

局限3:JVM的內(nèi)存開銷過大

前面我們也論述了許多JVM的內(nèi)置特點,比如圖形和網(wǎng)絡(luò),它們使得Java程序更快上市。所有這些特點的負面是JVM的內(nèi)存開銷。因為JVM是一個整塊(要達到Java的可移植的目的,必須完整的采納),JVM的內(nèi)存占用量不能減少,F(xiàn)在的JVM最少需要2MB以上的內(nèi)存。

解決方案

如果Java程序也在使用一些消耗內(nèi)存的功能,由于一個JVM中有那么多的功能,各個Java應(yīng)用程序就能寫得小一點。如果建立的是一個從網(wǎng)絡(luò)上動態(tài)下載并運行多個程序的系統(tǒng),那么這將是個很大的優(yōu)點。但Java仍然不具備可配置性和可伸縮性。

局限4:缺乏直接硬件接口能力

Java缺乏直接同硬件接口的能力。JVM僅僅是一個虛擬的機器,一個對硬件的軟件抽象,虛擬機控制與實際硬件的接口,而我們只能和虛擬機打交道。

解決方案

但這并非是無法逾越的限制,很多C程序使用內(nèi)嵌匯編來規(guī)避性能上的瓶頸,所以Java程序也能使用C來獲得對硬件的直接訪問。

讓Java和C一起工作有兩種方式。首先,可以使用本地方式,它們是用C/C++或另一種語言寫的,但當(dāng)調(diào)用時,則裝入與JVM同樣的內(nèi)存空間,運行于同樣的環(huán)境。因為它們被編譯成機器碼,本地方式運行更快并能直接訪問硬件。本地過程與Java代碼之間通過套接來彼此交流,就像網(wǎng)絡(luò)中通信端點使用的套接一樣。不過在選擇了混合語言方法后,Java的與平臺無關(guān)和安全特點就沒有了。

另外,可以考慮將前面提到的Java處理器作為軟件JVM的解釋器部分作為一種硬件實現(xiàn)方案。Java程序能在這些處理器上直接運行并操縱硬件,要注意的是必需加一些特殊目的的指令給這種語言才能直接與處理器一起工作。

局限5:語言尚不夠成熟

從標(biāo)準(zhǔn)的程序設(shè)計語言角度來看,Java還很年輕,也很粗糙。如果Java不是由一個小組開發(fā)的,也許某些錯誤和疏忽已經(jīng)被發(fā)現(xiàn)和解決了。在Java亮相以后,它立即被用于比原來預(yù)期更多的地方。這一切都意味著Java最初的構(gòu)思和實現(xiàn),雖然堅實和有用,但在安全、大小和性能幾方面仍感欠缺。

在其進一步發(fā)展中,Sun公司分了三個步驟來促進Java成為一種通用語言和計算機平臺。首先,用Java編程實現(xiàn)現(xiàn)存的商業(yè)和企業(yè)的一些功能活動,諸如電子郵件、日歷和字處理程序 。其次,把Java提供給企業(yè),使它成為一種編寫內(nèi)部應(yīng)用程序的方法。最后一步,是為傳統(tǒng)嵌入式設(shè)備應(yīng)用,比如為移動電話、機頂盒以及打印機定義Java API以及語言功能。

由此可見,Java的嵌入式應(yīng)用是排在Sun公司日程的最后的,Sun公司在繼續(xù)為這些用途發(fā)展此語言,但對這方面的發(fā)展次于桌面及企業(yè)用途。按Sun公司的優(yōu)先順序,很可能還要過一段時間才能解決嵌入式應(yīng)用中涉及到的一些問題。在此之前,嵌入式系統(tǒng)的編程人員可能不得不迂回、妥協(xié)以及使用第三方解決方案。

Java開發(fā)的編程工具也仍在發(fā)展之中。有幾個廠家提供編譯器和開發(fā)工具,如Symantec、Microsoft以及Sun公司。Sun不再是JVM和JIT的惟一供應(yīng)商,其他幾個供應(yīng)商的產(chǎn)品也很有競爭力。Parasoft公司的Jtest軟件自動為Java模塊生成檢測案例,而Numega公司的Jcheck為JVM中的程序行為提供一定的可見性。不過兩者都只能處理調(diào)試程序中的一小部分,而且都是針對桌面系統(tǒng)開發(fā)設(shè)計的,雖然它們也能用于嵌入開發(fā)過程。

目前Java仍然沒有交叉調(diào)試解決方案,即那種傳統(tǒng)上被嵌入系統(tǒng)開發(fā)者用來處理目標(biāo)平臺上程序的方案,所以很可能必須用C/C++來寫程序中針對硬件的部分。不管怎樣,開發(fā)者最好用一個C/C++交互調(diào)試器來調(diào)試那些代碼,并在目標(biāo)系統(tǒng)上用彈出對話框,保持記錄文件,或其他類技巧來調(diào)試Java.(本文作者系上海大學(xué)機電工程及自動化學(xué)院博士,E-mail:alanltnew@163.com

鏈接:Java背景

Java語言最初的設(shè)計企圖是想用于控制消費性電子產(chǎn)品,比如傳呼機,這些都是典型的嵌入設(shè)備。Java的設(shè)計者企圖建立一個簡單的、面向?qū)ο蟮摹⒅腔鄣、已?jīng)解譯的、強大的、安全的、架構(gòu)合理的、可移植的、高性能的、多線程的、動態(tài)的語言。為使Java對開發(fā)者有吸引力,Sun公司融合了類似于C語言的語法和結(jié)構(gòu)。然而不管目標(biāo)訂得如何,Java還是被證明不適合于小型的電子設(shè)備,這很大程度上是因為它太大而且速度太慢。應(yīng)用Java程序所需要的處理能力和內(nèi)存量,對這類設(shè)備來說太昂貴了。

話又說回來,Sun公司設(shè)計Java時最重要的是平臺無關(guān)及網(wǎng)絡(luò)集成。一個無須更改就能夠在幾種不同硬件和軟件平臺運行的程序,對網(wǎng)絡(luò)環(huán)境(在這種環(huán)境中用戶希望能夠在辦公室的任何機器上傳、下載和運行程序)來說是一個理想的程序。對想建立通過網(wǎng)絡(luò)來通信并利用網(wǎng)上資源的分布式程序的開發(fā)者來說,一種在任何平臺上都有內(nèi)置的和標(biāo)準(zhǔn)的網(wǎng)絡(luò)支持的語言是一個大實惠。

并且幸運的是,在Java發(fā)展的最后階段,對新興的商業(yè)化Internet的興趣達到了狂熱的程度。因此Sun公司便借機鼓吹Java是為Internet設(shè)計的。很多人已經(jīng)把Java視為將使Internet功能更上一層樓的工具。雖然Java在網(wǎng)上也從未達到最初理想的那么普遍,但Java及其“表親”JavaScript(一種由Netscape公司創(chuàng)建的,用于在網(wǎng)頁中寫腳本的類似于Java的語言)早已經(jīng)是今天大多數(shù)商業(yè)網(wǎng)站普遍的必備語言了。
本文地址:http://m.54549.cn/thread-28117-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表