自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

和我共同了解Java是什么

開(kāi)發(fā) 后端
本文講述了Java的基礎(chǔ)知識(shí),告訴我們Java是什么,Java的發(fā)展和應(yīng)用。

Java是什么,Java的介紹。

一、前言

『Java』從1995年的暑假開(kāi)始在計(jì)算機(jī)業(yè)界就受到了高度注意,特別是在Internet和多 媒體(Multimedia)相關(guān)產(chǎn)品類(lèi)方面。Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(wǎng)(World Wide Web, WWW)地位就如同電子表格(Spreadsheet)與個(gè)人計(jì) 算機(jī)(PC)的關(guān)系。那Java究竟有那些特色呢?

Java是一種軟件技術(shù)
是一種由美國(guó)SUN計(jì)算機(jī)公司(Sun Microsystems, Inc.)所研究而成的語(yǔ)言
是一種為 Internet發(fā)展的計(jì)算機(jī)語(yǔ)言
是一種使網(wǎng)頁(yè)(Web Page)產(chǎn)生生動(dòng)活潑畫(huà)面的語(yǔ)言
是一種使網(wǎng)頁(yè)(Web Page)由靜態(tài)(Static)轉(zhuǎn)變?yōu)閯?dòng)態(tài)(Dynamic)的語(yǔ)言
是一種語(yǔ)言,用以產(chǎn)生「小應(yīng)用程序(Applet(s))」
是一種簡(jiǎn)化的C++語(yǔ)言 是一種安全的語(yǔ)言,具有阻絕計(jì)算機(jī)病毒傳輸?shù)墓δ?
是一種將安全性(Security)列為第一優(yōu)先考慮的語(yǔ)言
是一種使用者不需花費(fèi)很多時(shí)間學(xué)習(xí)的語(yǔ)言
是一種突破用戶(hù)端機(jī)器環(huán)境和CPU結(jié)構(gòu)的語(yǔ)言
是一種「寫(xiě)一次,即可在任何機(jī)器上執(zhí)行(Write OnceRun Anywhere)」的語(yǔ)言是有史以來(lái),第一套允  使用者將應(yīng)用程序(Applications)通過(guò)Internet從遠(yuǎn)端的服務(wù)器(Remote Server)傳輸?shù)奖镜囟说臋C(jī)器  上(LocalMachine)并執(zhí)行
是一種應(yīng)用程序提供者不需要知道使用者的計(jì)算機(jī)硬件(如:Sun, Intel, 或MAC等)與軟件(如:SW-   UNIX, MAC O/S, Windows, 或NT等)環(huán)境的語(yǔ)言(Kestenbaum, 1995)。

下面將依序地介紹Java,首先是Java的發(fā)展歷史與Java語(yǔ)言介紹,其次依序是Java Applet和HotJava的簡(jiǎn)單介紹。

二、Java FAQ

下面以問(wèn)答的方式來(lái)說(shuō)明Java的發(fā)展歷史與其背景(下列內(nèi)容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,讀者若欲深 入了解,請(qǐng)自行參閱原文):

1.Java何時(shí)開(kāi)始發(fā)展?(When)
最早大概可追溯至1991年四月份,Sun的綠色計(jì)劃(Green Project)開(kāi)始著手于發(fā)展消費(fèi)性電子產(chǎn)品(Consumer Electronics),所使用的語(yǔ)言是C、C++、及Oak (為Java語(yǔ) 言的前身),后因語(yǔ)言本身和市場(chǎng)的問(wèn)題, 使得消費(fèi)性電子產(chǎn)品的發(fā)展無(wú)法達(dá)到當(dāng)初 預(yù)期的目標(biāo),再加上網(wǎng)絡(luò)的興起, 綠色計(jì)劃也因此而改變發(fā)展的方向,這已是1994 年了。

為何稱(chēng)之為Java?(Why) "Java"是美國(guó)SUN計(jì)算機(jī)公司Java發(fā)展小組歷經(jīng)無(wú)數(shù)次的激烈討論之后才被選擇出。 生動(dòng)(Liveliness)、動(dòng)畫(huà)(Animation)、速度(Speed)、交互性(Interactivity)為當(dāng) 初選擇名字時(shí)所欲表達(dá)出的特色。"Java"是在無(wú)數(shù)的建議中脫穎而出的,而"Java" 不是由幾個(gè)單字的首字所組成, 而是從許多程序設(shè)計(jì)師鐘愛(ài)的熱騰騰、香濃咖啡中 產(chǎn)生靈感的。

誰(shuí)開(kāi)發(fā)了Java?(Who) Java是美國(guó)SUN計(jì)算機(jī)公司Java發(fā)展小組開(kāi)發(fā)的,早期的成員(綠色工程)是Patrick Naughton, James Gosling, & Mike Sheridan,而現(xiàn)在大家較為熟悉的成員是James Gosling。

在那里開(kāi)發(fā)了Java?(Where)
也就是問(wèn)Java的出生地?答案是美國(guó)。

如何可以找到所需的Java信息?(How to)
在網(wǎng)路上,您可以連到Sun公司的Java WWW網(wǎng)站,URL是http://java.sun.com/,或是 http://www.javasoft.com/。在那里幾乎可以找到您所需要的所有Java信息,但是語(yǔ) 言多少是一個(gè)障礙, 至少對(duì)某些人而言;沒(méi)關(guān)系,目前國(guó)內(nèi)已有很多個(gè)網(wǎng)站提供中文 Java信息。在清華和中科院的FTP站點(diǎn)上有不少有關(guān)資料。想象以后應(yīng)會(huì)有更多的站點(diǎn)提供相關(guān)信息。

如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解釋器的瀏覽器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava瀏覽器,對(duì)個(gè)人計(jì)算機(jī)使用者而言,操作 系統(tǒng)需是Windows 95或是Windows NT。

Java是因?yàn)樽珜?xiě)C++語(yǔ)言程序時(shí)的困難而研制開(kāi)的,起先,只是一個(gè)消費(fèi)性電子產(chǎn)品 大計(jì)劃中的一部份,C++語(yǔ)言是當(dāng)初被考慮采用的,但從一開(kāi)始的編譯問(wèn)題一直到最 后的一連串問(wèn)題迫使得放棄C++語(yǔ)言,而有Java語(yǔ)言的產(chǎn)生。Sun是要Java成為一個(gè)簡(jiǎn) 單(Simple)、面向?qū)ο蟮?Object Oriented)、 分布式的(Distributed)、解釋的(Interpreted)、健壯的(Robust)、安全的(Secure)、 結(jié)構(gòu)中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多線程的(Multithreaded)、動(dòng)態(tài)的(Dynamic)的程序語(yǔ)言(摘譯自 TheJava Language: A White Paper, 1995)。

在Sun的Java語(yǔ)言白皮書(shū)中明白地說(shuō)明上述Java語(yǔ)言的技巧。若以木工為比喻,一個(gè)面 向?qū)ο蟮哪竟?,?她)最主要的重點(diǎn)是即將要做的木椅子,其次才是所需要的工具; 反之;一個(gè)以非面向?qū)ο蟮哪竟ぃ?她)所關(guān)心的只是工具。最近的即插即用(Plug and Play)亦是面向?qū)ο笤O(shè)計(jì)的重點(diǎn)。 分布式的(Distributed):Java有一個(gè)很周全的程薪錄JAVA介紹 。

Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(wǎng)(World Wide Web, WWW)地位就如同電子表格(Spreadsheet)與個(gè)人計(jì) 算機(jī)TTP和FTP等TCP/IP通訊協(xié)定相配合。Java應(yīng)用程序(Applications) 能在網(wǎng)路上開(kāi)啟及連結(jié)使用物件,就如同透過(guò)URLs連結(jié)使用一個(gè)本地文件系統(tǒng)(Local File System)。 健壯的(Robust):由Java所編寫(xiě)出的程序能在多種情況下執(zhí)行而具有其穩(wěn)定性。Java與 C/C++最大不同點(diǎn)是Java有一個(gè)指針模型(Pointer Model)來(lái)排除內(nèi)存被覆蓋(Overwriting Memory)和毀損數(shù)據(jù)(Corrupting Data)的可能性。
安全的(Secure):Java是被設(shè)計(jì)用于網(wǎng)絡(luò)及分布式的環(huán)境中,安全性自必是一個(gè)很 重要的考慮。Java擁有數(shù)個(gè)階層的互鎖(Interlocking)保護(hù)措施,能有效地防止病 毒的侵入和破壞行為的發(fā)生。

結(jié)構(gòu)中立的(Architecture Neutral):一般而言,網(wǎng)絡(luò)是由很多不同機(jī)型的機(jī)器所 組合而成的,CPU和作業(yè)系統(tǒng)體系結(jié)構(gòu)均有所不同;因此,如何使一個(gè)應(yīng)用程序可以 在每一種機(jī)器上執(zhí)行,是一個(gè)難題。所幸,Java的編譯器產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo) 文件格式(Object File Format);這使得編譯碼得以在很多種處理器中執(zhí)行。

可移植的(Portable):原始資料型式的大小是被指定的,例如"float"一直是表示一 個(gè)32位元IEEE 754浮點(diǎn)運(yùn)算數(shù)字,因絕大多數(shù)的CPU都具有此共同特征。程序庫(kù)屬于 系統(tǒng)的一部份,它定義了一些可移植的程序接口,Java本身具備有很好的可移植性。

解釋的(Interpreted):Java解釋器能直接地在任何機(jī)器上執(zhí)行Java位元碼(Bytecodes), 因此在進(jìn)行程序連結(jié)時(shí),時(shí)間的節(jié)省,這對(duì)于縮短程序的開(kāi)發(fā)過(guò)程,有極大的幫助。

高效能的(High Performance):Java位元碼迅速地能被轉(zhuǎn)換成機(jī)器碼(Machine Code), 從位元碼轉(zhuǎn)換到機(jī)器碼的效能幾乎與C與C++沒(méi)有分別。

多線程的(Multi threaded):Java語(yǔ)言具有多線程的功能,這對(duì)于交互回應(yīng)能力及 即時(shí)執(zhí)行行為是有幫助的。

動(dòng)態(tài)的(Dynamic):Java比C或C++語(yǔ)言更具有動(dòng)態(tài)性,更能適應(yīng)時(shí)刻在變的環(huán)境, Java不會(huì)因程序庫(kù)的更新,而必須重新編譯程序。

此外,Hank Shiffman (Making Sense of Java)亦針一般對(duì)Java的錯(cuò)誤看法及觀 念提出他的說(shuō)明,特在此摘譯如下:

"Java是一種編寫(xiě)Web Pages的一種語(yǔ)言,就如同HTML和VRML一樣" 事實(shí)上,Java并不像是HTML此一類(lèi)的描述語(yǔ)言(Description Language),而是一種 編程語(yǔ)言(Programming Language)。描述語(yǔ)言標(biāo)明內(nèi)容和位置,而編程語(yǔ)言描述一 種產(chǎn)生結(jié)果的過(guò)程。

2. "Java語(yǔ)言容易學(xué)習(xí)和使用,不像C、C++和其它程序語(yǔ)言"

Java是一種編程語(yǔ)言。Java容易學(xué)嗎?Java或許是比C或C++容易學(xué),但仍是一種編程語(yǔ)言,而不是一種描述語(yǔ)言。

3. "Java碼是可移植的,但C及C++不是"

Java原代碼(Source Code)是比C語(yǔ)言來(lái)得可移植一點(diǎn),差別在于Java的目標(biāo)碼。 Java碼在一種機(jī)器上進(jìn)行編譯,而能在所有的機(jī)器上執(zhí)行, 只要那部機(jī)器上有 Java解釋器。

4. "Java能被拓展而在機(jī)器上執(zhí)行任何事情"

理論上,Java Applet (Java小應(yīng)用程序)能做任何事情,如模擬3D VRML模型、播放電影、產(chǎn)生音頻....等。但事實(shí)上,一個(gè)小應(yīng)用程序(Applet)僅能在那一頁(yè)上被執(zhí)行,而無(wú)法在那一頁(yè)之外執(zhí)行。同時(shí),Java亦受限于程序庫(kù)的功能。

5. "Java是適合于建立大型的應(yīng)用程序"

如果Java適合于大型程序,則Java就不適合應(yīng)用于Web瀏覽器了。第一個(gè)商業(yè) 性的Java Applets (Applix's Java-Based Spreadsheet) 并不是全然使用Java, 它只使用Java作為用戶(hù)接口,而所有的處理工作, 是用CGI碼。

6. "Java是解釋執(zhí)行的,Basic是解釋執(zhí)行的,因此Java=Basic"

雖然Java的確是使用解釋器,但事實(shí)上,Java則與C或C++等完全編譯語(yǔ)言較為相近,但與Basic或APL等完全解譯語(yǔ)言較不相近。

7. "Java刪除了CGI命令稿(Scripts)和程序的需求"

Java Applets將會(huì)取代部份CGI的用途。在有些情況,Java Applets能夠取代一些服務(wù)器端代碼(Server-Side Code),但大多數(shù)的情況,基于安全性理由或是效 能的考慮,Java仍無(wú)法全然取代CGI Scripts。

8. "Netscape's JavaScript是與Java有相關(guān)"

除了名稱(chēng)之外,Java和JavaScript是有一點(diǎn)點(diǎn)相關(guān)。JavaScript是一種命令稿語(yǔ) 言,是可以在HTML頁(yè)中使用。Java碼并未出現(xiàn)在HTML中,而在HTML中通過(guò)一個(gè)鏈 結(jié)來(lái)鏈結(jié)編譯碼組。Java和JavaScript之間的關(guān)系就如同C語(yǔ)言和C Shell一般。

 

【編輯推薦】

  1. 20個(gè)開(kāi)發(fā)人員非常有用的Java功能代碼
  2. 走進(jìn)Java 7中的模塊系統(tǒng)
  3. JavaFX 1.2 已經(jīng)發(fā)布 主要新功能一覽
  4. 2009年十大Java技術(shù)解決方案
  5. 2008最值得學(xué)習(xí)的五種JAVA技術(shù)
責(zé)任編輯:仲衡 來(lái)源: 百度知道
相關(guān)推薦

2009-06-15 09:00:39

2018-08-15 10:15:55

RAM存儲(chǔ)器SSD

2009-07-23 11:33:18

2013-04-08 09:55:50

光纖網(wǎng)絡(luò)光纖上網(wǎng)光纖網(wǎng)吧

2024-07-26 00:00:10

2015-02-28 11:36:01

FDD

2022-07-03 08:25:09

OSITCP/IP

2011-07-28 10:40:40

Cocoa KVO

2022-11-10 16:55:41

ReactFiber

2023-03-29 15:21:18

2022-03-01 08:10:24

區(qū)塊鏈以太坊數(shù)據(jù)庫(kù)

2022-09-30 15:09:20

云計(jì)算邊緣計(jì)算邊緣云

2022-04-28 08:12:29

函數(shù)調(diào)用進(jìn)程切換代碼

2015-10-23 17:09:27

Snappy Ubun

2018-03-21 09:08:06

超融合架構(gòu)本質(zhì)

2017-03-21 23:29:44

DevOps運(yùn)維開(kāi)發(fā)

2024-12-13 15:29:57

SpringSpringBeanJava

2013-08-09 10:41:58

2018-06-21 06:56:03

CASB云安全加密

2015-10-26 09:21:20

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)