<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【程序源代碼】《JAVA基礎(chǔ)》之Java語言基礎(chǔ)

          共 3772字,需瀏覽 8分鐘

           ·

          2020-09-19 17:45

          關(guān)鍵字:《JAVA基礎(chǔ)》?自學(xué)筆記

          時令已經(jīng)過了白露,轉(zhuǎn)眼就快到了中秋佳節(jié),天天漸漸變涼,一派秋天肅殺的景象。2020年注定是一個不平凡的一年。新型肺炎帶來的影響還在持續(xù)。生活和經(jīng)濟都蒙上了一些不確定的薄薄的灰色。最近疫情期,自己憋在家里除了日常的活動外,沒有其它事情要做,感覺時間都浪費掉了。同時由于疫情經(jīng)濟和情感上壓力也有些大。為了排解壓力讓自己充實起來,我決定自己用一個月的時候自學(xué)一個新語言,選來選去決定學(xué)習(xí)python。在學(xué)習(xí)的過程中接有時感覺特別累,每天總體上也堅持自學(xué)至少三個小時。學(xué)習(xí)中發(fā)現(xiàn)了一個比較好的軟件xmind,通過xmind這個思維導(dǎo)圖軟件制作了一些自學(xué)筆記,把每節(jié)的重點整理成圖形的方式,很容易直觀理解和掌握。最近整理出來一些圖例分享給大家一起學(xué)習(xí),希望大家能喜歡。自學(xué)確實不容易,貴在堅持!前一段時間給幾個同學(xué)培訓(xùn),錄制了一些關(guān)于java基礎(chǔ)方面的視頻,我發(fā)布到公眾號和視頻網(wǎng)站上,最近好多朋友聯(lián)系我給我鼓勵讓我繼續(xù)接著寫下去。所以今天陸續(xù)整理前面的一些文稿,整理成冊分享給大家,歡迎鑒閱。希望大家能喜歡我的文章,繼續(xù)鼓勵我。共同成長。




          第三節(jié)

          Java語言介紹


          圖-1:?思維圖


          一、Java發(fā)展簡史

          1991年,James Gosling所在SUN公司的工程師小組想要設(shè)計這樣一種小型計算機語言:該語言主要用于像電視盒這樣的消費類電子產(chǎn)品,另外,由于不同的廠商選擇不同的CPU和操作系統(tǒng),因此,要求該語言不能和特定的體系結(jié)構(gòu)綁在一起,要求語言本身是中立的,也就是跨平臺的。為此,他們將這個語言命名為Green,類似于綠色軟件的意思,后來,又改名為Oak,橡樹的意思。改名后發(fā)現(xiàn)已經(jīng)有一種語言叫這個名字了,于是再改名為Java。Java語言發(fā)展到今天經(jīng)歷了一系列過程:1991年,SUN公司的Green項目,推出Oak;1995年,推出Java測試版;1996年,推出JDK1.0;1997年,推出JDK1.1;1998年,推出JDK1.2,大大改進了早期版本的缺陷,是一個革命性的版本,并更名為Java2;2004年,推出J2SE 5.0(1.5.0)Tiger(老虎);2006年,推出J2SE 6.0(1.6.0)Mustang(野馬);2011年,推出Java SE 7.0 Dolphin(海豚);2014年,推出Java SE 8.0。


          二、Java的核心優(yōu)勢

          Java為消費類智能電子產(chǎn)品而設(shè)計,但智能家電產(chǎn)品并沒有像最初想象的那樣擁有大的發(fā)展。然而到了20世紀(jì)90年代,Internet卻進入了爆發(fā)式發(fā)展階段,一夜之間,大家都在忙著將自己的計算機連接到網(wǎng)絡(luò)上。這時,遇到了一個大問題。人們發(fā)現(xiàn)連接到Internet的計算機各式各樣,有IBM PC、蘋果機、各種服務(wù)器等,不僅硬件CPU不同,操作系統(tǒng)也不相同,整個網(wǎng)絡(luò)環(huán)境變得非常復(fù)雜。程序員們希望他們編寫的程序能夠運行在不同的機器、不同的環(huán)境中,這就需要一種體系中立的語言(即跨平臺)。Java的研發(fā)小組忽然發(fā)現(xiàn)他們用于小范圍的語言也可以適應(yīng)Internet這個大環(huán)境。跨平臺是Java語言的核心優(yōu)勢,趕上了最初互聯(lián)網(wǎng)的發(fā)展,并隨著互聯(lián)網(wǎng)的發(fā)展而發(fā)展,建立了強大的生態(tài)體系,目前已經(jīng)覆蓋IT各行業(yè)成為“第一大語言”,它被喻為計算機界的“英語”。雖然,目前也有很多跨平臺的語言,但是已經(jīng)失去先機,無法和Java強大的生態(tài)體系抗衡。Java仍將在未來幾十年成為編程語言的主流。


          三、Java各版本的含義

          Java SE(Java Standard Edition):標(biāo)準(zhǔn)版,定位于個人計算機的應(yīng)用開發(fā)

          Java EE(Java Enterprise Edition):企業(yè)版,定位于服務(wù)器端的應(yīng)用開發(fā)

          Java ME(Java Micro Edition):微型版,定位于消費性電子產(chǎn)品的應(yīng)用開發(fā)


          四、Java的特性

          1.跨平臺/可移植性

          跨平臺/可移植性是Java的核心優(yōu)勢。Java在設(shè)計時就很注重移植和跨平臺性。例如Java的int永遠(yuǎn)都是32位,不像C++可能是16或32位,會根據(jù)編譯器廠商規(guī)定的變化而變化,給程序的移植帶來麻煩。

          2.安全性

          Java適用于網(wǎng)絡(luò)/分布式環(huán)境。為了達到這個目標(biāo),Java系統(tǒng)的開發(fā)人員在安全性方面投入了很大的精力,使Java可以很容易構(gòu)建出防病毒、防篡改的系統(tǒng)。

          3.面向?qū)ο?/span>

          面向?qū)ο笫且环N程序設(shè)計技術(shù),非常適合大型軟件的設(shè)計和開發(fā)。由于C++為了照顧大量C語言使用者而兼容了C,使得自身僅僅成為了帶類的C語言,多少影響了其面向?qū)ο蟮膹氐仔裕鳭ava則是完全面向?qū)ο蟮恼Z言。

          4.簡單性

          Java就是C++語法的簡化版。我們也可以將Java稱之為“C++-”,即“C加加減”,指將C++的一些內(nèi)容去掉,例如頭文件、指針運算、結(jié)構(gòu)、聯(lián)合、操作符重載、虛基類等。同時,由于語法基于C語言,因此學(xué)習(xí)起來完全不費力。

          5.高性能

          Java在最初發(fā)展階段,總是被人詬病性能低。客觀上,高級語言運行效率總是低于低級語言的,這是無法避免的。Java語言本身在發(fā)展中通過對虛擬機的優(yōu)化提升了幾十倍的運行效率,例如,通過即時編譯(JUST IN TIME,JIT)技術(shù)提高運行效率,將一些“熱點”字節(jié)碼編譯成本地機器碼,并將結(jié)果緩存起來,在需要的時候重新調(diào)用。這樣使得Java程序的執(zhí)行效率大大提高,某些代碼甚至接近C++的效率。至此,Java低性能的缺陷已經(jīng)被完全解決了。在業(yè)界發(fā)展方面,我們也看到很多C++應(yīng)用轉(zhuǎn)到Java開發(fā),很多C++程序員轉(zhuǎn)型為Java程序員。

          6.分布式

          Java是為Internet的分布式環(huán)境而設(shè)計的,因為它能夠處理TCP/IP協(xié)議。事實上,通過URL訪問一個網(wǎng)絡(luò)資源和訪問本地文件一樣簡單。Java還支持遠(yuǎn)程方法調(diào)用(Remote Method Invocation, RMI),使程序能夠通過網(wǎng)絡(luò)調(diào)用方法。

          7.多線程

          多線程的使用可以帶來更好的交互響應(yīng)和實時行為。Java多線程的簡單性是Java成為主流服務(wù)器端開發(fā)語言的主要原因之一。

          8.健壯性

          Java是一種健壯的語言,它吸收了C/C++ 語言的優(yōu)點,但去掉了其影響程序健壯性的部分(如指針、內(nèi)存的申請與釋放等)。Java程序不可能造成計算機崩潰。Java程序也可能有錯誤,即使出現(xiàn)某種出乎意料之事,程序也不會崩潰,而是把該異常拋出,再通過異常處理機制加以處理。


          ? ? ? ?五、Java應(yīng)用程序的運行機制

          計算機高級語言的類型主要有編譯型和解釋型兩種,Java語言是兩種類型的結(jié)合。Java程序員首先利用文本編輯器編寫Java源程序,源文件的擴展名為.java;再利用編譯器(javac)將源程序編譯成字節(jié)碼文件,字節(jié)碼文件的擴展名為.class;最后利用虛擬機(解釋器,java)解釋執(zhí)行。詳細(xì)參考如下是圖示:

          圖-2: java語言執(zhí)行過程


          ? ? ? 六、JVM、JRE和JDK?是什么

          JVM(Java Virtual Machine)就是一個虛擬的用于執(zhí)行字節(jié)碼的“虛擬計算機”,它也定義了指令集、寄存器集、結(jié)構(gòu)棧、垃圾收集堆、內(nèi)存區(qū)域。JVM負(fù)責(zé)解釋運行Java字節(jié)碼,邊解釋邊運行,這樣,速度就會受到一定影響。不同的操作系統(tǒng)有不同的虛擬機。Java虛擬機機制屏蔽了底層運行平臺的差別,實現(xiàn)了“一次編寫,隨處運行(Write once, run everywhere)”。Java虛擬機是實現(xiàn)跨平臺的核心機制,如圖1-6所示。

          圖-3:?不同的操作系統(tǒng)有不同的虛擬機


          JRE(Java Runtime Environment)包含Java虛擬機、庫函數(shù)和運行Java應(yīng)用程序所必需的文件。JDK(Java Development Kit)包含JRE以及編譯器和調(diào)試器等用于程序開發(fā)的文件。JDK、JRE和JVM的關(guān)系如圖1-7所示。

          圖-4:?JDK和JVM的關(guān)系


          —————————————

          如果大家喜歡,請一定關(guān)注我哦


          聯(lián)




          公眾號ID:??itcode

          【公眾號二維碼, 掃一掃吧


          微信ID:??itcoder

          微信二維碼, 掃一掃吧


          責(zé)



          【投稿郵箱】[email protected]
          【寫作說明】文章屬于此公眾號原創(chuàng)所有,如需轉(zhuǎn)載請注明出處。
          【免責(zé)申明】本公眾號不是廣告商,也沒有為其他三方網(wǎng)站或者個人做廣告宣傳。文章發(fā)布源代碼和文章均來源于各類開源網(wǎng)站社區(qū)或者是小編在項目中、學(xué)習(xí)中整理的一些實例項目。主要目的是將開源代碼分享給喜歡編程、有夢想的程序員,希望能幫助到你們與他們共同成長。其中用戶產(chǎn)生的一些自愿下載或者付費行為,原則與平臺沒有直接關(guān)系。如果涉及開源程序侵犯到原作者相關(guān)權(quán)益,可聯(lián)系小編進行相關(guān)處理。

          目前已有1000000+優(yōu)秀的程序員加入我們
          ??????????????????????????
          ?????????????????????????

          ——————————————


          【你的每一份打賞就是對我最真誠的鼓勵】
          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清无码黄色电影 | 欧美亚洲成人网站 | 国产精品一区人妻精品阁在线 | AA片在线观看视频在线播放 | 水密桃视频网站 |