四虎影视库国产精品一区-四虎影视库-四虎影视久久久免费-四虎影视久久久-四虎影视久久-四虎影视精品永久免费网站

TEL:15195455103

Java培訓 > Java知識 >

學習java從新手到架構師的飛躍

作者:南京????來源:南京????發布時間:2020-01-13 09:06????瀏覽量:61

一、介紹

  計算機語言:(Computer Language)指用于人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的媒介。計算機系統大特征是指令通過一種語言傳達給機器。為了使電子計算機進行各種工作,就需要有一套用以編寫計算機程序的數字、字符和語法規劃,由這些字符和語法規則組成計算機各種指令(或各種語句)。這些就是計算機能接受的語言。程序員通過這些指令來指揮計算機進行各種工作。

  計算機語言主要由機器語言、匯編語言、高級語言,組成。

  機器語言:毋庸置疑是計算機可以直接識別和使用的語言。但是在編程的時候,通常不會選擇機器語言,因為機器語言都是由二進制0或1組成的編碼。不便于編程人員的記憶與識別。

  那么匯編和高級語言是編程人員常用的語言。

  匯編語言:采用英文縮寫的標識符,容易識別和記憶。那么為什么不都用匯編語言編程,這就要解釋什么是高級語言。

  高級語言:采用更接近人類的自然語言進行編程,進一步簡化了程序編程的過程,所以,大多數編程者會選擇高級語言。

  現在我們講解的Java語言就是高級語言的一種。

二、內容

  1、Java語言介紹

  Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

  Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

  2、Java語言發展史(了解)

  詹姆斯·高斯林(James Gosling)

  SUN– (Stanford University Network斯坦福大學網絡公司)

  1995年5月23日,Java語言誕生

  1996年1月 JDK1.0

  1997年2月 JDK1.1

  1998年12月 JDK1.2(將Java分成了J2SE,J2EE,J2ME)

  2000年5月 J2SE1.3

  2002年2月 J2SE1.4(1.4.2版本很多公司在使用)

  2004年10月 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)

  2006年12月 JavaSE6.0

  2009年04月20日,甲骨文(Oracle)74億美元收購Sun。

  2011年7月 JavaSE7.0(市場主流版本)

  2014年3月 JavaSE8.0

  2017年9月 JavaSE9.0

  java語言的特點是,簡單易用、安全可靠、主要面向Internet編程。從問世以來,發展的就非常迅速。

  3、JAVA應用模型

  現在市場上絕大多數企業應用采用Java作為編程語言,Java語言應用于服務器開發,智能家居,網站的后臺維護,手機應用后臺等等。

  SUN公司為了讓使用Java語言的開發人員可以針對特定的市場進行開發,SUN公司將Java劃分為三個版本,分別是JavaSE、JavaME、JavaEE

  3.1、JavaSE

  JavaSE(Java Platform Standard Edition——Java平臺標準版)標準版是為開發普通桌面和商務應用程序提供的解決方案,JavaSE是三個平臺核心的部分,JavaEE和JavaME都是從JavaSE的基礎上發展而來的,JavaSE平臺包括了Java核心的類庫,包括,如集合,IO,數據庫連接以及網絡編程等。

  3.2、JavaEE

  JavaEE(Java Platform Enterprise Edition 企業)企業版,是為了開發企業級應用程序提供的解決方案。JavaEE可以被看做一個技術平臺,該平臺用于開發、裝配以及部署企業及應用程序,其中主要包括Servlet、JSP、JavaBean、JDBC、EJB、WebService等技術。

  3.3、JavaME

  JavaME(Java Platform Micro Edition 微型)小型版是為了開發電子消費產品和嵌入式設備提供的解決方案。JavaME主要用于小型數字電子設備上的軟件程序的開發。例如,為家用電器增加智能化控制和聯網功能,為手機增加新的游戲和通訊錄管理功能。此外,JavaME提供了HHTTP等高級Internet協議,是移動電話能以Client/Server方式直接訪問Internet的全部信息,提供高效率的無線交流。

  (Java有這些功能,現在基本退出舞臺,由安卓、IOS等移動端操作語言替代,安卓和Java的關系大家下去可以去了解一下,簡單的說安卓學習也是要必須先學JavaSE的)

  4、Java技術應用領域

  4.1、Android應用

  許多的Android應用都是Java程序開發者開發。雖然Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機都支持Java游戲,這就使得很多非編程人員都認識了Java。

  4.2、金融應用的服務器程序

  Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全。大型跨國投資銀行用Java來編寫前臺和后臺的電子交易系統,結算和確認系統,數據處理項目以及其他項目。大多數情況下,Java被用在服務器端開發,但多數沒有任何前端,他們通常是從一個服務器(上一級)接收數據,處理后發向另一個處理系統(下一級處理)。

北大青鳥軟件學校

  4.3、網站

  Java在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,springmvc,Struts2.0以及framework(框架,三個主要部分: 服務端、客戶端和Linux驅動)。即使是簡單的servlet,jsp和以struts為基礎的網站在征服項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

  4.4、嵌入式領域

  Java在嵌入式領域發展空間很大。在這個平臺上,只需130KB就能夠使用Java技術(在只能卡或者傳感器上)。

  4.5、大數據技術

  Hadoop(Apache05年開發分布式系統基礎架構)以及其他大數據處理技術很多都是用的Java,例如Apache的技術Java的HBase(一個分布式的、面向列的開源數據庫,HBase是Apache的Hadoop項目的子項目)和Accumulo(是一個可靠的、可伸縮的、高性能的排序分布式的 Key-Value 存儲解決方案,基于單元訪問控制以及可定制的服務器端處理)以及ElasticSearch(ES是一個基于Lucene并采用Restful API 標準的高可擴展性和高可用性的實時數據分析的全文檢索工具。)說沒有Java就沒有大數據一點也不為過。

  4.6、高頻交易的空間

  Java平臺提高了這個平臺的特性和即時編譯,他同時也能夠想C++一樣傳遞數據,正是由于這個原因,Java成為程序員編寫交易平臺的首選語言,雖然性能不比C++,但開發人員可以避開安全性,可移植性和維護性等問題。

  4.7、科學應用

  Java在科學應用中是很好的選擇,包括自然語言處理。主要的原因是因為Java比C++或者其他相對安全性、便攜性、可維護性以及其他高級語言的并發性更好。

  5、Java語言特點

  Java應用廣泛,受到大眾的歡迎,其根本原因是Java語言的眾多突出優點(優點肯定是與其他高級語言相比較得來的)

  介紹幾個主要的特點

  5.1、簡單:

  Java看起來設計的很像C++,但是為了是語言小和容易熟悉,設計者把C++語言種許多可用的特征去掉了,這些特征是一般程序員很少使用的,例如:Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(重載overload)和多繼承特征,并且不使用主文件,免去了預處理程序。因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,(垃圾回收機制)使用戶不必為存儲(內存)管理問題煩惱,能把更多的時間和精力花在研發上。

  5.2、面向對象:

  Java是一個面向對象的語言,對程序員來說,這意味著要注意應用數據和操作數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法和集合。數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用來組織的。

  為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字implements)。Java語言全面支持動態綁定,而C++語言只對函數使用動態綁定。

  Java還包括一個類的擴展集合,分別組成各種程序包(package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶接口的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing tookit)的縮寫,處理輸入輸出的類(java.io包)和支持網絡功能的類(java.net包)。

  5.3、分布式

  Java設計成支持在網絡上應用,它是分布式語言,Java既支持各種層次的網絡連接,又以Socket類支持可靠的流(steam)網絡連接,所以用戶可以產生分布式的客戶機和服務器。

  網絡變成軟件應用的分布運載工具。Java程序只需編寫一次,就可到處運行。

  5.4、穩健性

  Java原來是用作編寫消費類家用電子產品軟件的語言,所以他是被設計成高可靠和穩健軟件的。Java消除了某些編程錯誤,使得用它寫可靠軟件相當容易。

  Java是一個強類型語言,它允許擴展編譯時檢查潛在類型不匹配問題的功能。Java要求顯示方法聲明,它不支持C語言風格的隱式聲明。這些嚴格的要求保證編譯程序能捕捉調用錯誤,這就導致會開發出更可靠的程序。

  可靠性方面重要的增強之一是Java的存儲模型。Java不支持指針,它消除重新存儲和訛誤(文字錯誤;字句上的疏漏差誤)數據。類似的,Java自動的“無用單元收集”預防存儲漏泄和其它有關動態存儲分配和解除分配的有害錯誤。Java解釋程序員也執行許多運行時的檢查,諸如驗證所有數組和串訪問是否在界限之內。

  5.5、安全性

  Java的存儲分配模型是它防御惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實際存儲安排。編譯的Java代碼中存儲引用在運行時由Java解釋程序決定實際存儲地址。

  Java運行系統使用字節碼驗證過程保證裝載到網絡上的代碼不違背任何Java語言限制。這個安全機制部分包括類如何從網上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預防惡意的小應用程序用它自己的版本來代替標準Java類。

  Java語言不支持指針,一切對內存的訪問都必須通過對象的實例變量來實現,從而使應用更安全。

  5.6、可移植性(跨平臺)

  Java使得語言聲明不依賴與實現的方面。例如,Java顯示說明每個基本數據類型的大小和它的運算行為(這些數據類型由Java語法描述)。

  Java環境本身對新的硬件平臺和操作系統是可移植的。Java編譯程序也用Java編寫,而Java運行系統用ANSIC語言編寫。

  5.7、高性能

  Java是一種先編譯后解釋的語言,所以他不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設計者制作了“及時”編譯程序,它能在運行時吧Java字節碼翻譯成特定CPU(中央處理器)的機器代碼,也就是實現全編譯了。

  Java字節碼格式設計時考慮到這些“及時”編譯程序的需要,所以生成機器代碼的過程相當簡單,它能產生相當好的代碼。

  5.8、支持多線程

  Java語言是支持多線程的,所謂的多線程可以簡單地理解為程序中有多個任務可以并發執行,這樣可以在很大程度上提高程序的執行效率。

  6、JAVA核心JDK與JRE

  JRE為Java的運行時環境,是運行Java程序依賴的。如果僅僅是運行已經存在的Java程序,只安裝JRE即可。

  JDK為Java的開發環境,是開發時依賴的。包含JRE。

  沒有JDK的話,無法編譯Java程序,如果想只運行Java程序,要確保已安裝相應的JRE。

  Java語言通過在不同的操作系統上安裝對應的Java虛擬機實現了跨平臺, 即java的.class程序可以在不同操作系統上均可以運行。(java的.class文件相當于Windows中的.exe文件,是可執行的程序)

  java語言是跨平臺的,java虛擬機不是跨平臺的。

  7、Java工作原理

  JAVA的工作原理是:“一處編譯,到處運行"。(.java源文件,必須編譯成.class文件,在各種java平臺層都可以運行)

  硬件層:就是沒有任何操作系統的計算機主要是指我們的硬件(主機,顯示器等)。

  操作系統層:是指我們的windowslinuxunixandroidios等

  JAVA平臺層:針對不同的操作系統JAVA提供了不同的虛擬機

  應用平臺層:各種JAVA應用程序(如:QQ、百度視頻等)、JAVA-WEB程序(12306、QQ空間等)

  創建那源文件*.java文件

  通過編譯器(javac),編譯成.class文件(字節碼文件),(相關推薦:對于Java程序猿學習中各個階段的建議

  通過解釋器(java),在計算機中解釋執行.class文件


本文內容、圖片由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至2353260942@qq.com 舉報,一經查實,本站將立刻刪除。(如需投稿聯系管理員開通!)

? CopyRight njjava.com ???? 蘇ICP備14052071號

搶試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES