scala基礎內容 學習scala的原因,scala的特點,scala和java以及jvm的關係,如何快速的學習並掌握scala

學習scala的原因

學習Scala是爲了有學習Spark做鋪墊的,Spark的興起帶動了Scala的發展。
Spark是新一代的內存級大數據計算框架,是大數據的重要內容。
Spark其中之一就是使用Scala編寫的(還有用java和pythen編寫),同時也是Spark編寫的主流方式,因此爲了更好地學習Spark(看源碼),所以就需要學習和掌握Scala這門語言
Scala是一門多範式(範式/編程方式(面向對象/函數式編程))的編程語言
Scala極大地推動了java語言的發展

scala語言的特點

scala是一門以java虛擬機爲運行環境並將面向對象函數式編程的最佳特性結合在一起的靜態類型編程語言

1)scala是一門多範式的編程語言,scala支持面向對象和函數式編程
2)scala源代碼(.scala)會被編譯爲java字節碼(.class),然後運行於jvm上,並可以調用現有的jdk,對實現兩種語言的無縫對接
3)scala作爲單一的一門語言,顯得非常簡潔
4)scala沒有使用很多java的特性,例如三元運算,++,--等
5)scala在設計時,參考了java的設計思想,scala源於java,同時加上了設計者自己的思想,將函數式編程語言的特點融合到java中

scala和java以及jvm的關係

一般來說,學習scala,都得先會java。scala是基於java的,因此需要將scala和java以及JVM之間的關係搞清楚。

java代碼運行(.java)

首先將代碼通過javac編譯器編譯爲.class字節碼文件,然後通過java運行在jvm上
jvm有很多種,例如jvm for windows,jvm for linux等,而這些jvm有運行在不同的硬件上,屏蔽硬件的特點
而代碼的編寫是使用jdk(jdk,java提供者給程序員提供的類庫)

scala融入java:

能夠繼續使用java的部分語法,並有scala的特有語法
例如:System.out.pringln()(兩個語言都能用),HashMap/map(分別對應 java/scala)
增加功能,比如函數式編程

  • 偏函數
  • 函數的顆粒化
  • 高階函數
  • 函數作爲參數傳遞

Scala代碼運行:(.scala)

首先,將代碼通過scalac編譯器編譯爲.class字節碼文件,然後通過scala運行在jvm上
代碼的編寫是使用sdk(scala類庫,基於jdk)

scala和java以及jvm的關係分析圖(重點)

在這裏插入圖片描述

如何快速的學習並掌握scala

學習scala特有的語法
搞清楚scala和java的區別
如何規範的使用scala
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章