跟老楊學java系列(三) java語言簡介

跟老楊學java系列(三) java語言簡介

聲明:本節內容較簡單,有必定java基礎的同窗能夠略過本節,歡迎你們留言探討技術問題。其餘問題概不回覆。前端

       (書接上回)上節課程咱們簡單介紹了咱們的java學習訓練方法,從這節課開始,咱們正式進入java語言的學習。後面的課程咱們會先全面瞭解一下java語言的歷史及版本、語言特色、應用領域、開發環境與開發工具等,而後以一個完整的java項目開發過程爲線索。逐步展開java語言的學習,在完成整個項目的同時,全面系統學習java語言。在本節課裏,咱們將簡單介紹java這門編程語言。java

下面我會從三個方面來介紹java這門編程語言。
  1. java發展歷史及版本介紹。
  2. java語言特色介紹。
  3. java應用領域介紹。

PS:本節內容主要來自於網絡資料的蒐集整理。目的是讓你們對java語言有個全面的瞭解和認識。歡迎你們拍磚補充~~~~c++

1、java發展歷史及版本介紹
java的起源:

       20世紀90年代,硬件領域出現了單片式計算機系統,使用它能夠大幅度提高消費類電子產品(如電視機頂盒、麪包烤箱、移動電話等)的智能化程度。Sun公司爲了搶佔市場先機,在1991年成立了一個稱爲Green的項目小組,專攻計算機在家電產品上的嵌入式應用。其中項目組成員中包含大名鼎鼎的詹姆斯·高斯林程序員

       因爲C++所具備的優點,該項目組的研究人員首先考慮採用C++來編寫程序。但c++語言對單片機系統而言,過於複雜和龐大,另外c++語言不能跨平臺運行。因此項目組決定根據嵌入式軟件的要求,對c++語言進行改造。去除了C++的一些不太實用及影響安全的成分,並結合嵌入式系統的實時性要求,開發了一種稱爲Oak的面嚮對象語言(也就是java語言的前身)。web

       另外爲了跨平臺,在開發Oak語言之前,項目組先定義了符合嵌入式應用須要的二進制機器碼指令系統(即後來成爲「字節碼」指令系統)。設想把此指令系統嵌入硬件,而後Oak語言基於此指令系統運行。以實現跨平臺。PS:話說sun挺狠。想控制單片機市場。先讓生產硬件的廠商嵌入sun的指令系統。而後用sun開發的Oak語言開發嵌入式應用。正則表達式

       1992年的夏天,當Oak語言開發成功後,sun向硬件廠商演示了項目組開發全套系統。包括Green操做系統、Oak語言、類庫和硬件。忽悠廣大硬件廠商使用sun的產品開發硬件。可是sun的如意算盤打錯了。硬件廠商並未對此產生多大的興趣。他們認爲。在對Oak語言還不瞭解的狀況下。就生產基於sun指令系統的硬件,風險太大。因此Oak也就被擱置下來了。編程

java的誕生:

       轉眼到了1995年,互聯網的蓬勃發展給了Oak機會。業界爲了使死板單調的靜態網頁可以「靈活」起來,急需一種軟件技術來開發可以使網頁動起來的小程序。因而,世界各大IT企業爲此紛紛投入了大量的人力、物力和財力來開發這種技術。這個時候,Sun公司想起了那個被擱置起來好久的Oak,因爲它是按照嵌入式系統硬件平臺體系結構進行編寫的,因此很是小,特別適用於網絡上的傳輸系統。小程序

       因而,Sun公司首先推出了能夠嵌入網頁而且能夠隨同網頁在網絡上傳輸的Applet,並將Oak改名爲Java(在申請註冊商標時,發現Oak已經被人使用了,再想了一系列名字以後,最終,使用了提議者在喝一杯Java咖啡時無心提到的Java詞語)。數組

       5月23日,Sun公司在Sun world會議上正式發佈Java和HotJava瀏覽器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微軟等各大公司都紛紛中止了本身的相關開發項目,競相購買了Java使用許可證,併爲本身的產品開發了相應的Java平臺。至此,java纔算是正式誕生了。並不斷髮展演變至今。瀏覽器

ps:任何一個偉大產品的出現都是有着傳奇歷史的。之前是,如今也是.

java版本歷史:

1996年1月,Sun公司發佈了Java的第一個開發工具包(JDK 1.0),這是Java發展歷程中的重要里程碑,標誌着Java成爲一種獨立的開發工具。

1996年10月,Sun公司發佈了Java平臺的第一個即時(JIT)編譯器。

1997年2月,JDK 1.1面世,在隨後的3周時間裏,達到了22萬次的下載量。

1997年4月,Java One會議召開,參會者逾一萬人,創當時全球同類會議規模之紀錄。

1998年12月8日,第二代Java平臺的企業版J2EE發佈。

1999年6月,Sun公司發佈了第二代Java平臺(簡稱爲Java2)的3個版本:J2ME(用於移動環境)、J2SE(用於桌面環境);J2EE(用於服務器環境)。

1999年4月27日,HotSpot虛擬機發布。發佈時是做爲JDK 1.2的附加程序提供的,後來它成爲了JDK 1.3及以後版本的默認虛擬機。

2000年5月,JDK1.三、JDK1.4和J2SE1.3相繼發佈,幾周後其得到了Apple公司Mac OS X的工業標準的支持。

2001年9月24日,J2EE1.3發佈。

2002年2月26日,J2SE1.4發佈。自此Java的計算能力有了大幅提高,與J2SE1.3相比,其多了近62%的類和接口。在這些新特性當中,還提供了普遍的XML支持、安全套接字(Socket)支持(經過SSL與TLS協議)、全新的I/OAPI、正則表達式、日誌與斷言。

2004年9月30日,J2SE1.5發佈,成爲Java語言發展史上的又一里程碑。爲了表示該版本的重要性,J2SE 1.5改名爲Java SE 5.0(內部版本號1.5.0),代號爲「Tiger」,Tiger包含了從1996年發佈1.0版本以來的最重大的更新,其中包括泛型支持、基本類型的自動裝箱、改進的循環、枚舉類型、格式化I/O及可變參數。

2005年6月,在Java One大會上,Sun公司發佈了Java SE 6。此時,Java的各類版本已經改名,已取消其中的數字2,如J2EE改名爲JavaEE,J2SE改名爲JavaSE,J2ME改名爲JavaME。

2006年11月13日,Java技術的發明者Sun公司宣佈,將Java技術做爲免費開源軟件對外發布。

2007年3月,全世界全部的開發人員都可對Java源代碼進行修改。

2009年,甲骨文公司宣佈收購Sun。(PS:免費開源才3年就被收購了。沒錢幹啥也不行啊。~~~)。

2010年,Java編程語言的共同創始人之一詹姆斯·高斯林從Oracle公司辭職。

2011年,甲骨文公司舉行了全球性的活動,以慶祝Java7的推出,隨後Java7正式發佈。

2014年,甲骨文公司發佈了Java8正式版。

2017年,甲骨文公司預計發佈Java9正式版。

PS:從版本歷史中咱們能看到,java脫離了sun之後,牛人走了,版本更新也變慢了。將來的java將走向何方?咱們拭目以待。~~~~

2、java語言特色介紹
  • 簡單性
    Java本來基於c++改進而來,並去除了c++的不少複雜特性和不經常使用特性。像多繼承、結構、指針等。
  • 面向對象 
    Java是一門面向對象的語言。java全面支持面向對象的全部特性。
  • 分佈性 
    Java設計成支持在網絡上應用,它是分佈式語言。Java支持各類層次、各類方式的網絡鏈接,因此用戶能夠設計成分佈式的客戶機和服務器。特別適合作大型的行業應用
  • 編譯和解釋性 
    Java代碼被編譯生成字節碼(byte-code),而不是一般的機器碼。運行在虛擬機中。它既有編譯型語言的特色又有解釋型語言的特色。很好的結合了二者的優點。
  • 穩健性 
    一、Java是一個強類型語言,它容許擴展編譯時檢查潛在類型不匹配問題的功能。
    二、另外Java不支持指針並添加了垃圾回收機制,不用再考慮內存的申請和釋放,能夠有效防止內存管理錯誤。
    三、Java解釋程序也執行許多運行時的檢查,諸如驗證全部數組和串訪問是否在界限以內。
    四、Java中支持異常處理機制,程序員能夠找到出錯的處理代碼,這就簡化了出錯處理和恢復的任務。
  • 安全性
    Java的存儲分配模型是它防護惡意代碼的主要方法之一。Java沒有指針,因此程序員不能僞造指針去操做存儲器。而且編譯的Java代碼中的存儲引用在運行時由Java解釋程序決定實際存儲地址。
  • 可移植性
    Java使得語言聲明不依賴於實現的方面。例如,Java顯式說明每一個基本數據類型的大小和它的運算行爲 Java環境自己對新的硬件平臺和操做系統是可移植的。Java編譯程序也用Java編寫,而Java運行系統用ANSI C語言編寫。
  • 高性能
    Java是一種先編譯後解釋的語言,因此它不如全編譯性語言快。但比解釋語言快。有些狀況下性能是很要緊的,爲了支持這些狀況,Java設計者製做了「及時」編譯程序,它能在運行時把Java字節碼翻譯成特定CPU(中央處理器)的機器代碼,也就是實現全編譯了。Java字節碼格式設計時考慮到這些「及時」編譯程序的須要,因此生成機器代碼的過程至關簡單,它能產生至關好的代碼。
  • 併發性
    Java是多線程語言,它提供支持多線程的執行,能處理不一樣任務,使具備多線程的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線程、運行線程、中止線程和檢查線程狀態的方法。而且java也很好的支持線程同步和異步。
  • 動態性
    Java語言設計成適應於變化的環境,它是一個動態的語言。例如,Java中的類是根據須要載入的,甚至有些是經過網絡獲取的。

PS:java語言特色其實很關鍵,不少初學者以爲這些東西沒什麼用。你們試想一下,學習一門語言,連這門語言的基本特色都不瞭解,怎麼能學好這門語言呢?(老師!!別忽悠了,繼續 還等着下課呢~~~~~)

3、java應用領域介紹

一、Android應用 大多數的 Android應用都是Java程序員開發者開發。雖然 Android運用了不一樣的JVM以及不一樣的封裝方式,可是代碼仍是用Java語言所編寫。

二、金融服務行業的服務器應用程序 Java在金融服務業的應用很是普遍,不少第三方交易系統、銀行、金融機構都選擇用Java開發,好比:高盛、花旗等等全世界最牛的金融機構都是使用Java來編寫電子交易系統。由於相對而言,Java較安全。Java被普遍用於在服務器端開發,這些應用多數沒有任何前端,它們一般是從一個服務器(上一級)接收數據,處理後發向另外一個處理系統(下一級處理)。

三、Java Web應用程序 Java 在電子商務領域以及網站開發領域佔據了必定的席位。開發人員能夠運用許多不一樣的框架來建立web項目,好比:SpringMVC,Spring、mybatis等。即便是簡單的 servlet,jsp和以struts爲基礎的網站在政府項目中也常常被用到。例如醫療救護、保險、教育、國防以及其餘的不一樣部門網站都是以Java爲基礎來開發的。

四、嵌入式領域 Java在嵌入式領域發展空間很大。在這個平臺上,只需130KB就可以使用Java技術(在智能卡或者傳感器上)。本來java就是爲嵌入式誕生的。

五、大數據技術 Hadoop以及其餘大數據處理技術不少都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

六、高頻交易的空間 Java平臺提升了這個平臺的特性和即便編譯,他同時也可以像 C++ 同樣傳遞數據。正是因爲這個緣由,Java成爲的程序員編寫交易平臺的語言,由於雖然性能不比C++,但開發人員能夠避開安全性,可移植性和可維護性等問題。

七、 科學應用 Java在科學應用中是很好選擇,包括天然語言處理。最主要的緣由是由於Java比C++或者其餘語言相對其安全性、便攜性、可維護性以及其餘高級語言的併發性更好。

PS: 看到java的應用領域這麼普遍,這麼錢景無限~~~俗話說的好:學好數理化,不若有個好爸爸,有個好爸爸,不如學java。

本節課內容簡單可是比較多,學起來容易,但碼字太累,碼字快累死我了~~ 汗!下節課咱們將介紹JAVA開發環境和開發工具。下課!!~~~

本文轉自:樂橙谷 www.lechenggu.com

相關文章
相關標籤/搜索