1.Scala概述

一、Scala 概述

Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。

二、Scala语言的特点

Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。

三、Scala的源文件解析

scala的源文件(HelloWorld.scala) 编译后会生成HelloWorld.class(主方法)与HelloWorld.class(静态对象类),可以看到将HelloWorld中是该类所有的静态对象,就是scala运行时将静态对象做了一层包装。
/**
 * Scala的HelloWorld反编译后的文件转换为Java
 */
public class HelloWorld {
    public static void main(String[] paramArrayOfString) {
        //调用静态的类 HelloWorld$, 我们可以理解scala 在运行时,做了一个包装
        HelloWorld$.MODULE$.main(paramArrayOfString);
    }
}

final class HelloWorld$ {
    public static final HelloWorld$ MODULE$;

    static {
        MODULE$ = new HelloWorld$();
    }

    public void main(String[] args) {
        System.out.println("Hello World -- Scala");
    }
}

四、Scala执行流程分析

第一种: Scala源文件在内存中编译后直接运行,不生成中间文件
        scala HelloWorld.scala   (缺点是运行时间较长,因为需要编译)
第二种: Scala源文件先编译生成字节码文件.class,然后运行 .class文件生成结果
        scala HelloWorld    (生成中间文件,但是运行速度快)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是对Scala语言的一个基本介绍和快速入门,共包括如下章节: 概述 安装Scala 交互式命令行工具 文件方式...
    我是老薛阅读 1,091评论 0 2
  • 读《快学Scala 》一书的摘要 Scala 运行于JVM之上,拥有海量类库和工具,兼顾函数式编程和面向对象。 在...
    abel_cao阅读 1,298评论 0 8
  • 嗨咯 我是大熊 今天给大家分享关于最近很火的电视剧 都挺好的一篇文章 很多人说自己的童年过得很平淡,也不快乐。 有...
    因为爱所以存在阅读 685评论 2 3
  • 今天是2月3日,昨夜来到的北京,一夜无话,早上醒来,看着隐约透亮的窗帘,是早上七点二十,哦,原来北京也是这么早天亮...
    兔子找钥匙阅读 197评论 0 1