scala概述入门和项目创建
1、scala简介
(1)、scala基于JVM,与JAVA完全兼容,具有跨平台、可移植性好、方便的垃圾回收等特性;
(2)、scala比JAVA更加面向对象;
(3)、scala是一门函数式编程语言;
scala更适合大数据的处理:scala对集合类型数据的处理有非常好的支持;Spark的底层是用scala写的;
spark--新一代内存级大数据计算框架,是大数据的主要内容;
2、Scala和JAVA以及JVM的关系
(1)、JAVA代码文件通过javac编译器编译生成字节码文件,基于JVM(装有JVM的Windows、Linux、unix等)解释执行,实现跨平台;
(2)、JAVA的类库scala可以直接拿来用,scala也有自己特有的类库和对java的类库做了一下包装;.scala文件通过scala编译器编辑生成字节码文件,直接在装有JVM的环境(Windows、Linux、unix等)下解释执行,实现跨平台;
3、scala语言特点
Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:is)。
(1)、Scala是一门多范式的编程语言,Scala支持面向对象和小数式编程。(多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)
(2)、Scala源代码(scala)会被编译成Java字节码(class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
(3)、Scala单作为一门语言来看,非常的简洁高效。
(4)、Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中,因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。
4、Windows中Scala环境搭建
以及path中添加变量;
5、scala插件安装
思想,可以说Scala是源于Java,同时马丁奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中,
因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言
6、创建scala项目
(1)、file-->new-->projrct:选择maven ,选择sdk,点击next;
(2)、更新groupId和ArtifactId,点击finish;
(3)、src/main下添加scala目录,scala目录右键,选择Mark Directory as下Test Sources Root;
(4)、添加scala框架支持
项目右键,选择add Frameworks Support,勾选Scala,点击OK即可;
完成~~
最新文章
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用
- chrome调试hove等类似事件
- spring boot注解 --@EnableAsync 异步调用
- C# 序列化(Serialize)与反序列化(Deserialize)ZZ
- hdu 1075 (map)
- java JdbcTemplate源码
- 在命令行中如何访问Program Files文件夹(转)
- Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包
- angular项目——小小记事本1
- 移动端与PHP服务端接口通信流程设计(增强版)
- 用bat文件启动mongodb
- APP自动化框架LazyAndroid使用手册(1)--框架简介
- Django 列的自定义显示
- Linux之prink原理
- freeswitch刷新网关方法汇总
- mysql学习------错误日志和通用查询日志
- CentOS 7.x,不重新编译 PHP,动态安装 imap 扩展
- LeetCode——pow(x, n)
- jquery.form.js ie 下下载文件已经ie8失效问题解决方案
- UIButton中的**EdgeInsets是做什么用的?
热门文章
- 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用
- 4 - 高级加密标准 (AES)
- [Javascript摸鱼记录] 关于js简单字符删减替换增加插入追加前中后处理
- Net Core 3.1 ONVIF 操控海康摄像头
- user define language in vscode
- Leecode剑指 Offer 07. 重建二叉树
- EMQX+阿里云飞天洛神云网络 NLB:MQTT 消息亿级并发、千万级吞吐性能达成
- 【EBS】总账YTD\PTD等概念
- CMMI-QA工作流程(角色区分)
- 第一个helloworld程序