亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java語言有哪些特性

時(shí)間:2024-10-25 05:49:43 java語言 我要投稿
  • 相關(guān)推薦

Java語言有哪些特性

  Java 語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。下面小編整理了Java語言的特性,希望對大家有幫助!

  1

  簡 單

  Java設(shè)計(jì)目的是讓專業(yè)程序員覺得既易學(xué)又好用。假設(shè)你有編程經(jīng)歷,你將不覺得Java難掌握。如果你已經(jīng)理解面向?qū)ο缶幊痰幕靖拍,學(xué)習(xí)Java將更容易。如果你是一個(gè)經(jīng)驗(yàn)豐富的C++程序員,那就最好了,學(xué)習(xí)Java簡直不費(fèi)吹灰之力。因?yàn)镴ava承C/C++語法和許多C++面向?qū)ο蟮奶匦,大多?shù)程序員在學(xué)習(xí)Java時(shí)都不會(huì)覺得太難。另外,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚、更易理解的方式實(shí)現(xiàn)。

  除了和C/C++類似以外,Java的另外一個(gè)屬性也使它更容易學(xué)習(xí):設(shè)計(jì)人員努力使Java中不出現(xiàn)顯得讓人吃驚的特性。在Java中,很少明確地告訴你如何才能完成一項(xiàng)特定的任務(wù)。

  2

  面向?qū)ο?/strong>

  盡管受到其前輩的影響,但Java沒被設(shè)計(jì)成兼容其他語言源代碼的程序。這允許Java開發(fā)組自由地從零開始。這樣做的一個(gè)結(jié)果是,Java語言可以更直接、更易用、更實(shí)際的接近對象。通過對近幾十年面向?qū)ο筌浖䞍?yōu)點(diǎn)的借鑒,Java設(shè)法在純進(jìn)化論者的“任何事物都是一個(gè)對象”和實(shí)用主義者的“不討論對象不對象”的論點(diǎn)之間找到了平衡。Java的對象模型既簡單又容易擴(kuò)展,對于簡單數(shù)據(jù)類型,例如整數(shù),它保持了高性能,但不是對象。

  3

  健 壯

  萬維網(wǎng)上多平臺的環(huán)境使得它對程序有特別的要求,因?yàn)槌绦虮仨氃谠S多系統(tǒng)上可靠地執(zhí)行。這樣,在設(shè)計(jì)Java時(shí),創(chuàng)建健壯的程序被放到了高度優(yōu)先考慮的地位。為了獲得可靠性,Java在一些關(guān)鍵的地方限制你,強(qiáng)迫你在程序開發(fā)過程中及早發(fā)現(xiàn)錯(cuò)誤。同時(shí),Java使你不必?fù)?dān)心引起編程錯(cuò)誤的許多最常見的問題。因?yàn)镴ava是一種嚴(yán)格的類型語言,它不但在編譯時(shí)檢查代碼,而且在運(yùn)行時(shí)也檢查代碼。事實(shí)上,在運(yùn)行時(shí)經(jīng)常碰到的難以重現(xiàn)的、難以跟蹤的許多錯(cuò)誤在Java中幾乎是不可能產(chǎn)生的。要知道,使程序在不同的運(yùn)行環(huán)境中以可預(yù)見的方式運(yùn)行是Java的關(guān)鍵特性。

  為更好理解Java是如何具有健壯性的,讓我們考慮使程序失敗的兩個(gè)主要原因:內(nèi)存管理錯(cuò)誤和誤操作引起的異常情況(也就是運(yùn)行時(shí)錯(cuò)誤)。在傳統(tǒng)的編程環(huán)境下,內(nèi)存管理是一項(xiàng)困難、乏味的任務(wù)。例如,在C/C++中,程序員必須手工地分配并且釋放所有的動(dòng)態(tài)內(nèi)存。這有時(shí)會(huì)導(dǎo)致問題,因?yàn)槌绦騿T可能忘記釋放原來分配的內(nèi)存,或者釋放了其他部分程序正在使用的內(nèi)存。Java通過替你管理內(nèi)存分配和釋放,可以從根本上消除這些問題(事實(shí)上,釋放內(nèi)存是完全自動(dòng)的,因?yàn)镴ava為閑置的對象提供內(nèi)存垃圾自動(dòng)收集)。在傳統(tǒng)的環(huán)境下,異常情況可能經(jīng)常由“被零除”或“文件未找到”這樣的情況引起,而我們又必須用既繁多又難以理解的一大堆指令來對它們進(jìn)行管理。Java通過提供面向?qū)ο蟮漠惓L幚頇C(jī)制來解決這個(gè)問題。一個(gè)寫得很好的Java程序,所有的運(yùn)行時(shí)錯(cuò)誤都可以并且應(yīng)該被你的程序自己進(jìn)行管理。

  4

  多線程

  設(shè)計(jì)Java的目標(biāo)之一是為了滿足人們對創(chuàng)建交互式網(wǎng)上程序的需要。為此,Java支持多線程編程,因而你用Java編寫的應(yīng)用程序可以同時(shí)執(zhí)行多個(gè)任務(wù)。Java運(yùn)行時(shí)系統(tǒng)在多線程同步方面具有成熟的解決方案,這使你能夠創(chuàng)建出運(yùn)行平穩(wěn)的交互式系統(tǒng)。Java的多線程機(jī)制非常好用,因而你只需關(guān)注程序細(xì)節(jié)的實(shí)現(xiàn),不用擔(dān)心后臺的多任務(wù)系統(tǒng)。

  5

  結(jié)構(gòu)中立

  Java設(shè)計(jì)者考慮的一個(gè)主要問題是程序代碼的持久性和可移植性。程序員面臨的一個(gè)主要問題是,不能保證今天編寫的程序明天能否在同一臺機(jī)器上順利運(yùn)行。操作系統(tǒng)升級、處理器升級以及核心系統(tǒng)資源的變化,都可能導(dǎo)致程序無法繼續(xù)運(yùn)行。Java設(shè)計(jì)者對這個(gè)問題做過多種嘗試,Java虛擬機(jī)(JVM)就是試圖解決這個(gè)問題的。他們的目標(biāo)是“只要寫一次程序,在任何地方、任何時(shí)間該程序永遠(yuǎn)都能運(yùn)行”。在很大程度上,Java實(shí)現(xiàn)了這個(gè)目標(biāo)。

  6

  解釋性和高性能

  前面已提到,通過把程序編譯為Java字節(jié)碼這樣一個(gè)中間過程,Java可以產(chǎn)生跨平臺運(yùn)行的程序。字節(jié)碼可以在提供Java虛擬機(jī)(JVM)的任何一種系統(tǒng)上被解釋執(zhí)行。早先的許多嘗試解決跨平臺的方案對性能要求都很高。其他解釋執(zhí)行的語言系統(tǒng),如BASIC,Tcl,PERL都有無法克服的性能缺陷。然而,Java卻可以在非常低檔的CPU上順利運(yùn)行。前面已解釋過,Java確實(shí)是一種解釋性語言,Java的字節(jié)碼經(jīng)過仔細(xì)設(shè)計(jì),因而很容易便能使用JIT編譯技術(shù)將字節(jié)碼直接轉(zhuǎn)換成高性能的本機(jī)代碼。Java運(yùn)行時(shí)系統(tǒng)在提供這個(gè)特性的同時(shí)仍具有平臺x獨(dú)立性,因而“高效且跨平臺”對Java來說不再矛盾。

  7

  分布式

  Java為Internet的分布式環(huán)境而設(shè)計(jì),因?yàn)樗幚鞹CP/IP協(xié)議。事實(shí)上,通過URL地址存取資源與直接存取一個(gè)文件的差別是不太大的。Java原來的版本(Oak)包括了內(nèi)置的地址空格消息傳遞(intra-address-space)特性。這允許位于兩臺不同的計(jì)算機(jī)上的對象可以遠(yuǎn)程地執(zhí)行過程。Java最近發(fā)布了叫做遠(yuǎn)程方法調(diào)用(RemoteMethodInvocation,RMI)的軟件包,這個(gè)特性使客戶機(jī)/服務(wù)器編程達(dá)到了無與倫比的抽象級。

  8

  動(dòng) 態(tài)

  Java程序帶有多種的運(yùn)行時(shí)類型信息,用于在運(yùn)行時(shí)校驗(yàn)和解決對象訪問問題。這使得在一種安全、有效的方式下動(dòng)態(tài)地連接代碼成為可能,對小應(yīng)用程序環(huán)境的健壯性也十分重要,因?yàn)樵谶\(yùn)行時(shí)系統(tǒng)中,字節(jié)碼內(nèi)的小段程序可以動(dòng)態(tài)地被更新。


【Java語言有哪些特性】相關(guān)文章:

PHP語言的特性有哪些06-04

java語言有哪些優(yōu)點(diǎn)10-14

Java語言的優(yōu)點(diǎn)有哪些08-15

java基礎(chǔ)語言有哪些09-12

C語言與JAVA有哪些區(qū)別09-09

計(jì)算機(jī)c語言的特性有哪些10-15

Java語言的作用域有哪些及如何分類09-09

Java語言的作用域有哪些及分類知識08-07

常用java的命令有哪些07-18

Win8.1有哪些特性09-21