日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略

發(fā)布時間:2025/3/21 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java:計算機(jī)編程語言Java的簡介、編程環(huán)境/工具、如何學(xué)習(xí)Java之詳細(xì)攻略

?

?

?

?

目錄

Java的簡介

1、Java的工作原理——基于Eclipse等編程Java語言→定義Java類→Java虛擬機(jī)運(yùn)行→Java API調(diào)用

2、Java的發(fā)展

3、?Java的特點(diǎn)

4、?Java的應(yīng)用

(0)、Java的八大應(yīng)用

(1)、軟件開發(fā)

(2)、網(wǎng)站開發(fā)

Java編程環(huán)境/工具

1、編程環(huán)境—JDK(工具+類庫+開發(fā)環(huán)境)與JRE(運(yùn)行環(huán)境)的比較→JDK包含JRE

2、編程工具

如何學(xué)習(xí)Java? Talk is Cheap,Show me the code!

Java的學(xué)習(xí)方法—學(xué)編程最忌諱較真、較勁!


?

?

?

Java的簡介

? ? ? ? ?Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?#xff0c;允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程 。

?

1、Java的工作原理——基于Eclipse等編程Java語言→定義Java類→Java虛擬機(jī)運(yùn)行→Java API調(diào)用

? ? ? ? ?由四方面組成:

  • Java編程語言
  • Java類文件格式
  • Java虛擬機(jī)
  • Java應(yīng)用程序接口

? ? ? ? ?當(dāng)編輯并運(yùn)行一個Java程序時,需要同時涉及到這四種方面。使用文字編輯軟件(例如記事本、寫字板、UltraEdit等)或集成開發(fā)環(huán)境(Eclipse、MyEclipse等),在Java源文件中定義不同的類,通過調(diào)用類(這些類實(shí)現(xiàn)了Java API)中的方法來訪問資源系統(tǒng),把源文件編譯生成一種二進(jìn)制中間碼,存儲在class文件中,然后再通過運(yùn)行與操作系統(tǒng)平臺環(huán)境相對應(yīng)的Java虛擬機(jī)來運(yùn)行class文件,執(zhí)行編譯產(chǎn)生的字節(jié)碼,調(diào)用class文件中實(shí)現(xiàn)的方法來滿足程序的Java API調(diào)用。

?

2、Java的發(fā)展

? ? ? ? ?1996年1月,Sun公司發(fā)布了Java的第一個開發(fā)工具包(JDK 1.0),這是Java發(fā)展歷程中的重要里程碑,標(biāo)志著Java成為一種獨(dú)立的開發(fā)工具。9月,約8.3萬個網(wǎng)頁應(yīng)用了Java技術(shù)來制作。10月,Sun公司發(fā)布了Java平臺的第一個即時(JIT)編譯器。
? ? ? ? ?1997年2月,JDK 1.1面世,在隨后的3周時間里,達(dá)到了22萬次的下載量。4月2日,Java One會議召開,參會者逾一萬人,創(chuàng)當(dāng)時全球同類會議規(guī)模之紀(jì)錄。9月,Java Developer Connection社區(qū)成員超過10萬。
? ? ? ? ?1998年12月8日,第二代Java平臺的企業(yè)版J2EE發(fā)布。1999年6月,Sun公司發(fā)布了第二代Java平臺(簡稱為Java2)的3個版本:J2ME(Java2 Micro Edition,Java2平臺的微型版),應(yīng)用于移動、無線及有限資源的環(huán)境;J2SE(Java 2 Standard Edition,Java 2平臺的標(biāo)準(zhǔn)版),應(yīng)用于桌面環(huán)境;J2EE(Java 2Enterprise Edition,Java 2平臺的企業(yè)版),應(yīng)用于基于Java的應(yīng)用服務(wù)器。Java 2平臺的發(fā)布,是Java發(fā)展過程中最重要的一個里程碑,標(biāo)志著Java的應(yīng)用開始普及
? ? ? ? ?2006年11月13日,Java技術(shù)的發(fā)明者Sun公司宣布,將Java技術(shù)作為免費(fèi)軟件對外發(fā)布。Sun公司正式發(fā)布的有關(guān)Java平臺標(biāo)準(zhǔn)版的第一批源代碼,以及Java迷你版的可執(zhí)行源代碼。從2007年3月起,全世界所有的開發(fā)人員均可對Java源代碼進(jìn)行修改。
? ? ? ? ?2009年,甲骨文公司宣布收購Sun 。
? ? ? ? ?2010年,Java編程語言的共同創(chuàng)始人之一詹姆斯·高斯林從Oracle公司辭職。
? ? ? ? ?2011年,甲骨文公司舉行了全球性的活動,以慶祝Java7的推出,隨后Java7正式發(fā)布。
? ? ? ? ?2014年,甲骨文公司發(fā)布了Java8正式版

?

3、?Java的特點(diǎn)

? ? ? ? ?Java具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。

簡單性

Java看起來設(shè)計得很像C++,但是為了使語言小和容易熟悉,設(shè)計者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。例如:

  • Java不支持go to語句,代之以提供break和continue語句以及異常處理。
  • Java剔除了C++的操作符過載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序
  • Java沒有指針,因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。
  • Java能夠自動處理對象的引用和間接引用,實(shí)現(xiàn)自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發(fā)上。
面向?qū)ο?/strong>Java是一個面向?qū)ο蟮恼Z言。對程序員來說,這意味著要注意數(shù)據(jù)和操縱數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過程來思考。
在一個面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對象(object)的狀態(tài)和行為。每一對象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。
Java還包括一個類的擴(kuò)展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產(chǎn)生圖形用戶接口部件的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網(wǎng)絡(luò)功能的類(java.net包)。
分布性Java設(shè)計成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語言。Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類支持可靠的流(stream)網(wǎng)絡(luò)連接,所以用戶可以產(chǎn)生分布式的客戶機(jī)和服務(wù)器。
網(wǎng)絡(luò)變成軟件應(yīng)用的分布運(yùn)載工具。Java程序只要編寫一次,就可到處運(yùn)行。
編譯和解釋性Java編譯程序生成字節(jié)碼(byte-code),而不是通常的機(jī)器碼。Java字節(jié)碼提供對體系結(jié)構(gòu)中性的目標(biāo)文件格式,代碼設(shè)計成可有效地傳送程序到多個平臺。Java程序可以在任何實(shí)現(xiàn)了Java解釋程序和運(yùn)行系統(tǒng)(run-time system)的系統(tǒng)上運(yùn)行
在一個解釋性的環(huán)境中,程序開發(fā)的標(biāo)準(zhǔn)“鏈接”階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進(jìn)環(huán)境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗(yàn),它將導(dǎo)致快速程序開發(fā)。這是一個與傳統(tǒng)的、耗時的“編譯、鏈接和測試”形成鮮明對比的精巧的開發(fā)過程。
穩(wěn)健性Java原來是用作編寫消費(fèi)類家用電子產(chǎn)品軟件的語言,所以它是被設(shè)計成寫高可靠和穩(wěn)健軟件的。
Java消除了某些編程錯誤,使得用它寫可靠軟件相當(dāng)容易。
Java是一個強(qiáng)類型語言,它允許擴(kuò)展編譯時檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風(fēng)格的隱式聲明。這些嚴(yán)格的要求保證編譯程序能捕捉調(diào)用錯誤,這就導(dǎo)致更可靠的程序。
可靠性方面最重要的增強(qiáng)之一是Java的存儲模型。Java不支持指針,它消除重寫存儲和訛誤數(shù)據(jù)的可能性。類似地,Java自動的“無用單元收集”預(yù)防存儲漏泄和其它有關(guān)動態(tài)存儲分配和解除分配的有害錯誤。Java解釋程序也執(zhí)行許多運(yùn)行時的檢查,諸如驗(yàn)證所有數(shù)組和串訪問是否在界限之內(nèi)。
異常處理是Java中使得程序更穩(wěn)健的另一個特征。異常是某種類似于錯誤的異常條件出現(xiàn)的信號。使用try/catch/finally語句,程序員可以找到出錯的處理代碼,這就簡化了出錯處理和恢復(fù)的任務(wù)。
安全性Java的存儲分配模型是它防御惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內(nèi)幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實(shí)際存儲安排。編譯的Java代碼中的存儲引用在運(yùn)行時由Java解釋程序決定實(shí)際存儲地址。
Java運(yùn)行系統(tǒng)使用字節(jié)碼驗(yàn)證過程來保證裝載到網(wǎng)絡(luò)上的代碼不違背任何Java語言限制。這個安全機(jī)制部分包括類如何從網(wǎng)上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預(yù)防惡意的小應(yīng)用程序用它自己的版本來代替標(biāo)準(zhǔn)Java類。
可移植性Java使得語言聲明不依賴于實(shí)現(xiàn)的方面。例如,Java顯式說明每個基本數(shù)據(jù)類型的大小和它的運(yùn)算行為(這些數(shù)據(jù)類型由Java語法描述)。
Java環(huán)境本身對新的硬件平臺和操作系統(tǒng)是可移植的。Java編譯程序也用Java編寫,而Java運(yùn)行系統(tǒng)用ANSIC語言編寫。
高性能Java是一種先編譯后解釋的語言,所以它不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設(shè)計者制作了“及時”編譯程序,它能在運(yùn)行時把Java字節(jié)碼翻譯成特定CPU(中央處理器)的機(jī)器代碼,也就是實(shí)現(xiàn)全編譯了。
Java字節(jié)碼格式設(shè)計時考慮到這些“及時”編譯程序的需要,所以生成機(jī)器代碼的過程相當(dāng)簡單,它能產(chǎn)生相當(dāng)好的代碼。
多線程性Java是多線程語言,它提供支持多線程的執(zhí)行(也稱為輕便過程),能處理不同任務(wù),使具有線索的程序設(shè)計很容易。Java的lang包提供一個Thread類,它支持開始線索、運(yùn)行線索、停止線索和檢查線索狀態(tài)的方法。
Java的線索支持也包括一組同步原語。這些原語是基于監(jiān)督程序和條件變量風(fēng)范,由C.A.R.Haore開發(fā)的廣泛使用的同步化方案。用關(guān)鍵詞synchronized,程序員可以說明某些方法在一個類中不能并發(fā)地運(yùn)行。這些方法在監(jiān)督程序控制之下,確保變量維持在一個一致的狀態(tài)。
動態(tài)性Java語言設(shè)計成適應(yīng)于變化的環(huán)境,它是一個動態(tài)的語言。例如,Java中的類是根據(jù)需要載入的,甚至有些是通過網(wǎng)絡(luò)獲取的。

?

4、?Java的應(yīng)用

(0)、Java的八大應(yīng)用

? ? ? ? ?Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。比如Java編程應(yīng)用之面向?qū)ο蠓较?類似坦克大戰(zhàn))、數(shù)據(jù)庫方向(餐飲系統(tǒng))、網(wǎng)絡(luò)編程(簡易QQ)。

Android應(yīng)用許多的 Android應(yīng)用都是Java程序員開發(fā)者開發(fā)。雖然 Android運(yùn)用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當(dāng)一部分的手機(jī)中都支持JAVA游戲,這就使很多非編程人員都認(rèn)識了JAVA。
在金融業(yè)應(yīng)用的服務(wù)器程序Java在金融服務(wù)業(yè)的應(yīng)用非常廣泛,很多第三方交易系統(tǒng)、銀行、金融機(jī)構(gòu)都選擇用Java開發(fā),因?yàn)橄鄬Χ?#xff0c;Java較安全 [39] ?。大型跨國投資銀行用Java來編寫前臺和后臺的電子交易系統(tǒng),結(jié)算和確認(rèn)系統(tǒng),數(shù)據(jù)處理項(xiàng)目以及其他項(xiàng)目。大多數(shù)情況下,Java被用在服務(wù)器端開發(fā),但多數(shù)沒有任何前端,它們通常是從一個服務(wù)器(上一級)接收數(shù)據(jù),處理后發(fā)向另一個處理系統(tǒng)(下一級處理)。
網(wǎng)站Java 在電子商務(wù)領(lǐng)域以及網(wǎng)站開發(fā)領(lǐng)域占據(jù)了一定的席位。開發(fā)人員可以運(yùn)用許多不同的框架來創(chuàng)建web項(xiàng)目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎(chǔ)的網(wǎng)站在政府項(xiàng)目中也經(jīng)常被用到。例如醫(yī)療救護(hù)、保險、教育、國防以及其他的不同部門網(wǎng)站都是以Java為基礎(chǔ)來開發(fā)的。
嵌入式領(lǐng)域Java在嵌入式領(lǐng)域發(fā)展空間很大。在這個平臺上,只需130KB就能夠使用Java技術(shù)(在智能卡或者傳感器上)。
大數(shù)據(jù)技術(shù)Hadoop以及其他大數(shù)據(jù)處理技術(shù)很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。
高頻交易的空間Java平臺提高了這個平臺的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數(shù)據(jù)。正是由于這個原因,Java成為的程序員編寫交易平臺的語言,因?yàn)殡m然性能不比C++,但開發(fā)人員可以避開安全性,可移植性和可維護(hù)性等問題。
科學(xué)應(yīng)用Java在科學(xué)應(yīng)用中是很好選擇,包括自然語言處理。最主要的原因是因?yàn)镴ava比C++或者其他語言相對其安全性、便攜性、可維護(hù)性以及其他高級語言的并發(fā)性更好。

(1)、軟件開發(fā)

? ? ? ? ?java可以開發(fā)做應(yīng)用軟件,可是java需要運(yùn)行再特定的jvm(java虛擬機(jī)上),所以java的應(yīng)用軟件受限制。

  • C/S模式:是客戶端/服務(wù)器(Client/Server)模式,主要指的是傳統(tǒng)的桌面級的應(yīng)用程序。比如我們經(jīng)常用的QQ軟件、信息管理系統(tǒng)軟件。
  • B/S模式:是瀏覽器/服務(wù)器(Browser/Server)模式,主要指的是web應(yīng)用程序,就像你說的電子商務(wù)網(wǎng)站,如淘寶,阿里巴巴等。相對于C/S模式的應(yīng)用程序來說,B/S模式最大的優(yōu)勢在于客戶端只要有瀏覽器就可以運(yùn)行。而C/S模式的應(yīng)用程序需要在客戶端進(jìn)行安裝,而且升級也不太方便。而B/S模式的應(yīng)用程序?qū)τ诳蛻舳藖碚f,永遠(yuǎn)都是最新版本的。

?

?

(2)、網(wǎng)站開發(fā)

? ? ? ? ?網(wǎng)站開發(fā)是軟件開發(fā)的一個分支;java的強(qiáng)項(xiàng)是web網(wǎng)站開發(fā),就是B/S(瀏覽器和服務(wù)器)的開發(fā),不同于C/S(客戶端和服務(wù)器)。

?

Java編程環(huán)境/工具

1、編程環(huán)境—JDK(工具+類庫+開發(fā)環(huán)境)與JRE(運(yùn)行環(huán)境)的比較→JDK包含JRE

? ? ? ? ?JDK(Java Development Kit)稱為Java開發(fā)包或Java開發(fā)工具,是一個編寫Java的Applet小程序和應(yīng)用程序的程序開發(fā)環(huán)境。JDK是整個Java的核心,包括了Java運(yùn)行環(huán)境(Java Runtime Environment),一些Java工具和Java的核心類庫(Java API)。不論什么Java應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個版本的JDK。主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了自己的JDK,例如,IBM公司開發(fā)的JDK,BEA公司的Jrocket,還有GNU組織開發(fā)的JDK 。
? ? ? ? ?另外,可以把Java API類庫中的Java SE API子集和Java虛擬機(jī)這兩部分統(tǒng)稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境
? ? ? ? ?JRE是個運(yùn)行環(huán)境,JDK是個開發(fā)環(huán)境。因此寫Java程序的時候需要JDK,而運(yùn)行Java程序的時候就需要JRE。而JDK里面已經(jīng)包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運(yùn)行Java程序。但由于JDK包含了許多與運(yùn)行無關(guān)的內(nèi)容,占用的空間較大,因此運(yùn)行普通的Java程序無須安裝JDK,而只需要安裝JRE即可

?

?

2、編程工具

  • Eclipse:一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺
  • NetBeans:開放源碼的Java集成開發(fā)環(huán)境,適用于各種客戶機(jī)和Web應(yīng)用。
  • IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。
  • MyEclipse:由Genuitec公司開發(fā)的一款商業(yè)化軟件,是應(yīng)用比較廣泛的Java應(yīng)用程序集成開發(fā)環(huán)境
  • EditPlus:如果正確配置Java的編譯器“Javac”以及解釋器“Java”后,可直接使用EditPlus編譯執(zhí)行Java程序 。

?

?

?

?

?

?

如何學(xué)習(xí)Java? Talk is Cheap,Show me the code!

Java的學(xué)習(xí)方法—學(xué)編程最忌諱較真較勁

  • 1、背程序:多敲、多寫、多練、思考;
  • 2、多積累:經(jīng)常幫其他人解決問題;相互學(xué)習(xí),會成長更快!
  • 3、多看書:thinking in java即java編程思想;
  • 4、多復(fù)習(xí):溫故而知新;
  • 5、勤聯(lián)系:多做題目;
  • 6、多交流:思想碰撞會產(chǎn)生新的靈感;

?

?

?

?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。