在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    「Scala語言」(一)理論基礎(chǔ)

    本文僅僅只是個(gè)人學(xué)習(xí)的筆記,不代表一定就是對(duì)的,僅供參考。

    1、計(jì)算機(jī)語言可以分為兩大類:編譯型,解釋型。

    (1)編譯型的代表是C語言。

    (2)解釋型的代表為Python語言。

    (3)java是一個(gè)“混血兒”,既是編譯型,也是解釋型。

    java需要編譯,編譯成字節(jié)碼之后可以解釋執(zhí)行,或者預(yù)編譯成機(jī)械碼直接執(zhí)行。

    很多時(shí)候期望代碼在啟動(dòng)的時(shí)候慢一些,執(zhí)行的時(shí)候快一些,就像idea與tomcat,啟動(dòng)的時(shí)候有些慢,但執(zhí)行起來要快。

    (4)C語言具有可移植性,書寫一次代碼,然后面對(duì)不同的平臺(tái)使用不同的編譯器編譯執(zhí)行。

    java語言具有可移動(dòng)性:一次編譯,到處運(yùn)行。java編譯之后的字節(jié)碼是和平臺(tái)無關(guān)的,java的可移動(dòng)性的特點(diǎn)(好處)與JVM有關(guān)。JVM才是核心。

    (5)編譯器。編譯型的語言與解釋型的語言根本區(qū)別在哪里?

    是否是強(qiáng)類型。類型的本義就是寬度或者說是字節(jié)大小,比如在java中,int是4個(gè)字節(jié),long是8個(gè)字節(jié)等等。C語言中有類型,java中也有類型,但是很多解釋型語言都沒有類型。

    編譯型的語言需要類型,因?yàn)樽罱K要將代碼中的邏輯編譯成機(jī)械碼,運(yùn)行的時(shí)候需要使用內(nèi)存開辟足夠的空間,這樣才能按照業(yè)務(wù)邏輯放置數(shù)據(jù)不溢出。

    解釋型的語言在運(yùn)行的時(shí)候去解釋,一般按照文本字符串去處理這些東西,解釋型語言沒有類型的概念,沒有提前決定空間大小,所以這也是為什么解釋型語言要比編譯型語言慢。

    2、Scala可以運(yùn)行在JVM之上。JVM雖然是java的虛擬機(jī),但是它和java沒什么太大的聯(lián)系,JVM并不是只能運(yùn)行java語言,JVM和java并不是一對(duì)一的關(guān)系,JVM與字節(jié)碼是一對(duì)一的關(guān)系。

    3、從編程風(fēng)格上,語言可以分為:面向過程的,面向?qū)ο蟮模?span id="dcl50k4" class="wpcom_tag_link">函數(shù)式的。

    面向過程的:C語言(其實(shí)C語言三種模式都可以支持,但一般認(rèn)為C是面向過程的)

    第一類值:基本類型+指針

    面向?qū)ο蟮模簀ava語言

    第一類值:基本類型+對(duì)象類型

    函數(shù)式的:scala語言

    第一類值:基本類型+對(duì)象類型+函數(shù)(一個(gè)變量可以存函數(shù)(是能夠存下整個(gè)函數(shù),不是函數(shù)的返回值))

    4、Scala是一個(gè)面向?qū)ο蟮暮瘮?shù)式編程語言。

    5、Scala的特點(diǎn)

    (1)Scala可以與java無縫銜接,在scala代碼中可以導(dǎo)入java的jar包。

    (2)類型推斷,scala可以推斷出定義的變量的類型,并且推斷不代表糊弄。scala一定是可以推斷出一個(gè)確定的類型,并且這個(gè)變量的類型推斷出來后就不能再改變。傳參的時(shí)候需要開發(fā)者明文寫出類型,函數(shù)的參數(shù)scala無法推斷類型。無法推斷類型的一定會(huì)報(bào)錯(cuò)。

    (3)并發(fā)和分布式。

    (4)特質(zhì)。scala中有一個(gè)trait,它可以讓scala多繼承與多實(shí)現(xiàn)。

    (5)模式匹配。

    (6)高階函數(shù)。

    6、Scala使用

    作為開發(fā)者使用Scala的時(shí)候,需要jdk以及scala的sdk(編譯器)。

    作為使用者運(yùn)行Scala的時(shí)候,需要jdk以及jre。

    參考文獻(xiàn):

    [1] Scala官網(wǎng):https://www.scala-lang.org/

    [2] 馬士兵教育:https://www.mashibing.com/subject/1

    [3] CSDN博客:https://blog.csdn.net/qq_36383623/article/details/99288638

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月18日 09:06
    下一篇 2022年6月18日 09:07

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息