目前Java主要應(yīng)用于中間件的開發(fā)(middleware)---處理客戶機(jī)與服務(wù)器之間的通信技術(shù)灸撰,早期的實(shí)踐證明,Java不適合pc應(yīng)用程序的開發(fā)粗梭,其發(fā)展逐漸變成在開發(fā)手持設(shè)備争便,互聯(lián)網(wǎng)信息站,及車載計算機(jī)的開發(fā)断医。Java與其他語言所不同的是程序運(yùn)行時提供了平臺的獨(dú)立性滞乙,稱許可以在windows,solaris,linux其他操作系統(tǒng)上使用完全相同的代碼。Java的語法與C++語法類似鉴嗤,C++/C程序員很容易掌握斩启,而且Java是完全的徹底的面向?qū)ο蟮模渲刑岢隽撕芎玫腉C(GarbageCollector)垃圾處理機(jī)制醉锅,防止內(nèi)存溢出兔簇。
簡單、高效
Java 語言與 C++ 類似荣挨,如果用戶了解 C++ 和面向?qū)ο蟮母拍钅腥停涂梢院芸炀帉懗?Java 程序朴摊;此外默垄,Java又不同于諸如 C++ 語言提供的各種各樣的方法,它只提供了基本的方法甚纲,這樣就減少了編程的復(fù)雜性口锭,例如去掉了頭文件、指針變量介杆、結(jié)構(gòu)鹃操、運(yùn)算符重載、多重繼承等復(fù)雜特性春哨。Java語言雖然簡單荆隘,卻很高效,它可以用面向?qū)ο蟮姆椒▉砻枋鲇脩舻拿恳粋€動作赴背。
面向?qū)ο?/p>
Java 語言是一種新的面向?qū)ο蟮某绦蛟O(shè)計語言椰拒,它除了幾種基本的數(shù)據(jù)類型外,大都是類似 C++ 中的對象和方法凰荚,程序代碼大多體現(xiàn)了類機(jī)制燃观,以類的形式組織,由類來定義對象的各種行為便瑟。Java同樣支持類繼承缆毁,這樣也減少了程序設(shè)計的復(fù)雜性。
平臺無關(guān)性
所謂一處編譯處處運(yùn)行到涂。Java 語言經(jīng)編譯后生成與計算機(jī)硬件結(jié)構(gòu)無關(guān)的字節(jié)代碼( Bytecode )脊框,這些字節(jié)代碼被定義為不依賴任何硬件平臺和操作系統(tǒng)颁督。當(dāng)Java 程序在運(yùn)行時,需要由一個解釋程序?qū)ι傻淖止?jié)代碼解釋執(zhí)行浇雹。這體現(xiàn)了Java語言的與平臺無關(guān)性适篙,使得 Java 程序可以在任何平臺上運(yùn)行,如 MS-DOS , Windows箫爷,Unix 等嚷节,因此具有很強(qiáng)的移植性。
交互式特性
Java 是面向?qū)ο蟮木W(wǎng)絡(luò)編程語言虎锚,由于它支持 TCP/IP 協(xié)議硫痰,使得用戶可以通過瀏覽器訪問到 Internet 上的各種動態(tài)對象。并且在網(wǎng)絡(luò)上用戶可以交互式地進(jìn)行各種動作窜护,而多線程技術(shù)的引入使得這種交互式操作更為容易效斑。
多線程機(jī)制
Java 語言支持多線程機(jī)制,多線程機(jī)制使得 Java 程序能夠并行處理多項(xiàng)任務(wù)柱徙。Java 程序可以設(shè)計成具有多個線程缓屠,例如讓一個線程負(fù)責(zé)數(shù)據(jù)的檢索、查尋护侮,另一個線程與用戶進(jìn)行交互敌完,這樣,兩個線程得以并行執(zhí)行羊初。多線程機(jī)制可以很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的交互式操作滨溉。
Java 的效率
早期 Sun 發(fā)現(xiàn) JVM 的用戶注意到了 Java 運(yùn)行很慢,但是新的 Java 虛擬機(jī)顯著加快长赞。新的虛擬機(jī)使用了一種稱為實(shí)時編譯的技術(shù)晦攒,他把字節(jié)碼編譯并儲存成本機(jī)的機(jī)器碼。當(dāng)執(zhí)行字節(jié)碼時得哆,重調(diào)本地碼脯颜。
Java 虛擬機(jī)是一個可以執(zhí)行 Java 字節(jié)碼的虛擬機(jī)進(jìn)程。Java 源文件被編譯成能被 Java 虛擬機(jī)執(zhí)行的字節(jié)碼文件贩据。
Java 被設(shè)計成允許應(yīng)用程序可以運(yùn)行在任意的平臺栋操,而不需要程序員為每一個平臺單獨(dú)重寫或者是重新編譯。Java虛擬機(jī)讓這個變?yōu)榭赡芾稚瑁驗(yàn)樗赖讓佑布脚_的指令長度和其他特性讼庇。