二維碼
微世推網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 快報(bào)資訊 » 今日快報(bào) » 正文

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

放大字體  縮小字體 發(fā)布日期:2022-06-30 18:28:05    作者:高一航    瀏覽次數(shù):200
導(dǎo)讀

感謝僅僅只是個(gè)人學(xué)習(xí)得筆記,不代表一定就是對得,僅供參考。1、計(jì)算機(jī)語言可以分為兩大類:編譯型,解釋型。(1)編譯型得代表是C語言。(2)解釋型得代表為Python語言。(3)java是一個(gè)“混血兒”,既是編譯型,也是解釋型。java需要編譯,編譯成字節(jié)碼之后可以解釋執(zhí)行,或者預(yù)編譯成機(jī)械碼直接執(zhí)行。很多時(shí)候期望代碼

感謝僅僅只是個(gè)人學(xué)習(xí)得筆記,不代表一定就是對得,僅供參考。

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語言具有可移植性,書寫一次代碼,然后面對不同得平臺(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并不是一對一得關(guān)系,JVM與字節(jié)碼是一對一得關(guān)系。

3、從編程風(fēng)格上,語言可以分為:面向過程得,面向?qū)ο蟮?,函?shù)式得。

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

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

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

第壹類值:基本類型+對象類型

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

第壹類值:基本類型+對象類型+函數(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自己:感謝分享特別scala-lang.org/

[2] 馬士兵教育:感謝分享特別mashibing感謝原創(chuàng)分享者/subject/1

[3] CSDN博客:感謝分享blog.csdn感謝原創(chuàng)分享者/qq_36383623/article/details/99288638

 
(文/高一航)
打賞
免責(zé)聲明
本文為高一航原創(chuàng)作品?作者: 高一航。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://m.nyqrr.cn/kbzx/show-107274.html 。本文僅代表作者個(gè)人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們郵件:weilaitui@qq.com。
 

Copyright?2015-2023 粵公網(wǎng)安備 44030702000869號(hào)

粵ICP備16078936號(hào)

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

24在線QQ: 770665880

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號(hào): weishitui

韓瑞 小英 張澤

工作時(shí)間:

周一至周五: 08:00 - 24:00

反饋

用戶
反饋