柚子快報(bào)邀請碼778899分享:java jvm scala
柚子快報(bào)邀請碼778899分享:java jvm scala
salca環(huán)境搭建
由于scala是基于java來開發(fā)的, 編寫的java類可以使用javac命令編譯成.class文件被JVM加載到內(nèi)存中執(zhí)行 ! 那么scala可以通過scalac命令將編寫的scala文件編譯成.class文件一樣被JVM加載到內(nèi)存中,因此Scala是運(yùn)行在JVM平臺上的,所以安裝Scala之前要安裝JDK!
1.2.1Windows安裝Scala編譯器
方式一
訪問Scala官網(wǎng)http://www.scala-lang.org/下載Scala編譯器安裝包,目前最新版本是3.1.3,但是目前大多數(shù)的框架都是用2.12.x編寫開發(fā)的,Spark3.x使用的就是2.12.x,所以這里推薦2.12.x版本,下載scala-2.12.11.msi后點(diǎn)擊下一步就可以了!
方式二
解壓配置系統(tǒng)環(huán)境變量
在windows的控制臺輸入scala ,顯示如下消息說明windows環(huán)境搞定!
注意 1:解壓路徑不能有任何中文路徑,最好不要有空格。
注意 2:環(huán)境變量要大寫 SCALA_HOME
測試:
需求:計(jì)算兩數(shù) a 和 b 的和。
步驟:
在鍵盤上同時按 win+r 鍵,并在運(yùn)行窗口輸入 cmd 命令
輸入 Scala 并按回車鍵,啟動 Scala 環(huán)境。然后定義兩個變量,并計(jì)算求和。
示例:寫一個 wordCount
import scala.io.Source Source.fromFile("C:\\Users\\yi\\Desktop\\wc.txt") .getLines .toList .flatMap(_.split(",")) .groupBy(w=>w) .map(t=>(t._1,t._2.size)) .foreach(println)
1.2.2Linux安裝Scala編譯器
下載后上傳Scala文件到linux上的定目錄 解壓 配置環(huán)境變量,將scala加入到PATH中
vi /etc/profile export SCALA_HOME=/opt/app/scala/scala-2.12.11 export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.12.11/bin
測試驗(yàn)證scala安裝完成,任意位置輸入scala后顯示scala的命令行,然后在里面測試兩數(shù)相加
?
1.3scala安裝插件
方法一:離線安裝
打開jetbrains得官網(wǎng):http://www.jetbrains.com后點(diǎn)擊Develop Tools后選擇scala
然后選擇idea對應(yīng)得版本下載插件(DownLoad即可)
打開idea后找到左上角得File --》settings --》plugins
點(diǎn)擊設(shè)置選擇Install Plugin from Disk ...后選擇剛才下載得插件,點(diǎn)擊ok后重啟idea即可
方法二:在線安裝
打開idea后找到左上角得File --》settings --》plugins--》搜索scala后install后重啟idea即可
1.4 創(chuàng)建scala項(xiàng)目并編寫HelloWorld案例
創(chuàng)建一個maven項(xiàng)目 在src--》main--》創(chuàng)建一個scala包 右擊scala包下選擇Mark Directory as --》 Sources Root
右擊項(xiàng)目名--》Add Framework Support...
進(jìn)去選擇scala,然后將scala得sdk添加進(jìn)去,點(diǎn)擊ok即可創(chuàng)建scala類了
編寫scala得類
scala文件都是以.scala結(jié)尾的 scala中的命名規(guī)范和java中的一致 scala中的main方法要寫在objec修飾的類中 scala的執(zhí)行流程和java的類似 , 先編譯再執(zhí)行,因此有編譯期的錯誤推導(dǎo) scala 代碼中的行末尾的分號最好不書寫 ,體現(xiàn)其簡潔
package com.doit.day01 object HelloWorld { def main(args: Array[String]): Unit = { println("學(xué)大數(shù)據(jù)來多易") System.out.println("java中的一部分代碼在scala中也是可以運(yùn)行的") } }
結(jié)果:
?
柚子快報(bào)邀請碼778899分享:java jvm scala
精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。