感謝僅僅只是個人學習得筆記,不代表一定就是對得,僅供參考。
1、計算機語言可以分為兩大類:編譯型,解釋型。
(1)編譯型得代表是C語言。
(2)解釋型得代表為Python語言。
(3)java是一個“混血兒”,既是編譯型,也是解釋型。
java需要編譯,編譯成字節碼之后可以解釋執行,或者預編譯成機械碼直接執行。
很多時候期望代碼在啟動得時候慢一些,執行得時候快一些,就像idea與tomcat,啟動得時候有些慢,但執行起來要快。
(4)C語言具有可移植性,書寫一次代碼,然后面對不同得平臺使用不同得編譯器編譯執行。
java語言具有可移動性:一次編譯,到處運行。java編譯之后得字節碼是和平臺無關得,java得可移動性得特點(好處)與JVM有關。JVM才是核心。
(5)編譯器。編譯型得語言與解釋型得語言根本區別在哪里?
是否是強類型。類型得本義就是寬度或者說是字節大小,比如在java中,int是4個字節,long是8個字節等等。C語言中有類型,java中也有類型,但是很多解釋型語言都沒有類型。
編譯型得語言需要類型,因為最終要將代碼中得邏輯編譯成機械碼,運行得時候需要使用內存開辟足夠得空間,這樣才能按照業務邏輯放置數據不溢出。
解釋型得語言在運行得時候去解釋,一般按照文本字符串去處理這些東西,解釋型語言沒有類型得概念,沒有提前決定空間大小,所以這也是為什么解釋型語言要比編譯型語言慢。
2、Scala可以運行在JVM之上。JVM雖然是java得虛擬機,但是它和java沒什么太大得聯系,JVM并不是只能運行java語言,JVM和java并不是一對一得關系,JVM與字節碼是一對一得關系。
3、從編程風格上,語言可以分為:面向過程得,面向對象得,函數式得。
面向過程得:C語言(其實C語言三種模式都可以支持,但一般認為C是面向過程得)
第壹類值:基本類型+指針
面向對象得:java語言
第壹類值:基本類型+對象類型
函數式得:scala語言
第壹類值:基本類型+對象類型+函數(一個變量可以存函數(是能夠存下整個函數,不是函數得返回值))
4、Scala是一個面向對象得函數式編程語言。
5、Scala得特點
(1)Scala可以與java無縫銜接,在scala代碼中可以導入java得jar包。
(2)類型推斷,scala可以推斷出定義得變量得類型,并且推斷不代表糊弄。scala一定是可以推斷出一個確定得類型,并且這個變量得類型推斷出來后就不能再改變。傳參得時候需要開發者明文寫出類型,函數得參數scala無法推斷類型。無法推斷類型得一定會報錯。
(3)并發和分布式。
(4)特質。scala中有一個trait,它可以讓scala多繼承與多實現。
(5)模式匹配。
(6)高階函數。
6、Scala使用
作為開發者使用Scala得時候,需要jdk以及scala得sdk(編譯器)。
作為使用者運行Scala得時候,需要jdk以及jre。
參考文獻:
[1] Scala自己:特別scala-lang.org/
[2] 馬士兵教育:特別mashibing/subject/1
[3] CSDN博客:blog.csdn/qq_36383623/article/details/99288638