国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
你知道的Java和你不知道的Java
最近我們收到一封電子郵件,咨詢 “什么是Java?”條目的信息。在2006年,難道還有人不知道“什么是Java”嗎?十年來,有大量介紹Java的書籍、網(wǎng)站和會(huì)議,難道不是所有人都知道“什么是Java”嗎?顯然答案是否定的。

 

畢竟,情況已經(jīng)改變。

 

每個(gè)涉及applet和實(shí)時(shí)(Just-in-time)編譯器的含糊定義都有許多已固定下來并為許多人所了解的新說明和新事實(shí),但它們并非全部都寫入文檔中了。過去,Java常常意味著:

 

•Applet

 

•字節(jié)碼解釋

 

•緩慢的性能

 

•等待Sun恩賜的“拜物教”

 

而如今,它意味著:

 

•Web應(yīng)用程序、Web服務(wù)、SOA等等

 

•熱點(diǎn)動(dòng)態(tài)編譯

 

•高性能

 

•一個(gè)日益獨(dú)立于Sun的開源社區(qū)

 

過去有個(gè)口號(hào)叫做“一次編寫,隨處運(yùn)行”,這仍然是事實(shí),但編寫的內(nèi)容及其運(yùn)行環(huán)境和方式正在改變。

 

Java編程語言

 

Java是一種面向?qū)ο蟮母呒?jí)編程語言,它在許多方面受到C、C++和Smalltalk的影響,還借用了其他語言的概念。其語法的設(shè)計(jì)方式使得那些熟悉“大括號(hào)”語言(繼承自C)的人也會(huì)熟悉Java語法,但它具有比C++更強(qiáng)的面向?qū)ο笮?、?duì)象的靜態(tài)類型轉(zhuǎn)換以及相當(dāng)嚴(yán)格的異常系統(tǒng),該系統(tǒng)要求調(diào)用堆棧中的每個(gè)方法要么處理異常,要么聲明其拋出異常的能力。當(dāng)然還有垃圾自動(dòng)收集功能,這使開發(fā)人員不必釋放由廢棄對(duì)象占用的內(nèi)存。

 

Java的一個(gè)比較受爭(zhēng)議的方面(這些方面在發(fā)布Java時(shí)被廣為接受,但現(xiàn)在正日益受到批評(píng))是它的不完全的面向?qū)ο笮浴>唧w來說,Java基本類型(如int、char、boolean等等)都不是對(duì)象,并且開發(fā)人員需要以完全不同的方式來處理它們:由于int不是類,因此不能為其創(chuàng)建子類并為其聲明新方法,也不能將它傳遞給需要普通對(duì)象的方法,諸如此類?;绢愋吞岣吡薐ava的性能,但卻降低了代碼的清晰度,這一點(diǎn)使用所謂的“包裝器類”(Integer、Character和Boolean)的人應(yīng)該深有體會(huì)。Java 5.0引入了autoboxing(自動(dòng)裝箱)模式,以消除許多使用包裝器類的用例,但在某些方面這使代碼的功能不那么明顯了。

 

從理論上講,Java是種“早期出錯(cuò)”語言。由于它的語法約束,許多編程錯(cuò)誤在Java中不可能出現(xiàn)。由于不能直接訪問指針,所以指針運(yùn)算錯(cuò)誤也就不存在了。使用對(duì)象時(shí)的類型如果與當(dāng)初聲明它的類型不同,就會(huì)要求進(jìn)行顯式的類型轉(zhuǎn)換,這使編譯器能夠拒絕不合邏輯的編程,如對(duì)一幅圖像調(diào)用一個(gè)字符串方法。

 

許多Java企業(yè)框架都要求使用配置文件或者部署描述符(通常用XML編寫)來指定操作:哪個(gè)類處理特定的HTTP請(qǐng)求、在規(guī)則引擎中執(zhí)行的步驟順序等等。實(shí)際上,要實(shí)現(xiàn)這些功能不能只用這種語言。評(píng)論人士指出,這會(huì)產(chǎn)生不當(dāng)后果:不僅避開了Java編譯器的檢查,而且開發(fā)人員無法再(只)根據(jù)程序的源代碼就可確定它如何運(yùn)行。Java 5.0為該語言添加了注釋(annotation)特性,它允許使用值為方法、字段和類添加標(biāo)簽,在運(yùn)行時(shí),通??赏ㄟ^反射對(duì)這些值進(jìn)行內(nèi)省和操作。許多程序員喜歡注釋,因?yàn)樗?jiǎn)化了工作,否則就需要通過部署描述符或其他方法來解決問題。但是,注釋也有可能使Java代碼難以理解,因?yàn)樽⑨尩挠袩o可能會(huì)影響代碼的執(zhí)行方式,而這從注釋中不太容易看出來。

 

盡管存在這么多的批評(píng)意見,但Java通常還是被認(rèn)為是當(dāng)今最流行的通用計(jì)算語言。在企業(yè)編程領(lǐng)域,它是一個(gè)廣泛使用的標(biāo)準(zhǔn),而且2005年它取代C++成為SourceForge項(xiàng)目使用最多的語言。使用Java有很多好處:免費(fèi)的工具(適用于多種平臺(tái):Linux、Windows、Solaris和Mac均可編譯和執(zhí)行Java應(yīng)用程序)、內(nèi)容豐富的知識(shí)庫以及大量樂意提供幫助的開發(fā)人員。

 

Java語言已經(jīng)達(dá)到了開發(fā)人員生產(chǎn)率與代碼性能之間的一個(gè)特定平衡點(diǎn):CPU周期成本持續(xù)降低,但開發(fā)人員的開發(fā)周期卻并未明顯縮短,因此在開發(fā)人員與CPU操作碼執(zhí)行之間再出現(xiàn)一個(gè)抽象層也許是不可避免的了,它將使開發(fā)人員能夠更快地創(chuàng)建更好的軟件。實(shí)際上,Java生產(chǎn)率的批評(píng)者(如《Beyond Java》的Bruce Tate)可能正是觀察到了這種不斷推進(jìn)Java使其達(dá)到新的平衡點(diǎn),從而進(jìn)一步犧牲性能去換取更高的開發(fā)人員生產(chǎn)率的趨勢(shì)。

 

Java平臺(tái)

 

通常有三種Java平臺(tái):Standard Edition(標(biāo)準(zhǔn)版,SE)、Enterprise Edition(企業(yè)版,EE)和Micro Edition(微型版)。每個(gè)平臺(tái)都是一個(gè)包含某個(gè)語言版本、一組標(biāo)準(zhǔn)庫和執(zhí)行代碼的虛擬機(jī)(見下文)的組合。EE是SE的超集,任何EE應(yīng)用程序都可假定所有的SE庫都存在。EE平臺(tái)的語言使用與SE的一樣。

 

由于小型設(shè)備(如:電話或機(jī)頂盒)的局限性,Java Micro Edition與另兩個(gè)版本有很大區(qū)別。它并非SE的子集(像SE是EE的子集那樣),因?yàn)樗囊恍熘淮嬖谟贛icro Edition中。而且,ME取消了一些語言特性,如float類型和Float類,這反映了它的運(yùn)行平臺(tái)的局限性。ME需要與SE和EE不同的工具,而且設(shè)備之間的巨大差異使ME領(lǐng)域代碼的可移植性更加不現(xiàn)實(shí),因此許多Java開發(fā)人員將ME視為異類。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C . C .VC .java.vb和C#有什么區(qū)別
我打算如何學(xué)習(xí)J2EE
j2ee學(xué)習(xí)經(jīng)驗(yàn)和流程
Java 語言的發(fā)展史
JAVA初學(xué)者指南
Java初學(xué)者如何自學(xué)入門?及相關(guān)入門書籍推薦
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服