感谢仅仅只是个人学习得笔记,不代表一定就是对得,仅供参考。
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