没有合适的资源?快使用搜索试试~ 我知道了~
首页尚硅谷Scala语言核心编程详解
"尚硅谷韩顺平老师的Scala语言核心编程课程详细讲解了Scala语言的各个方面,包括环境搭建、语言特点、开发工具使用、快速入门示例、源码查看、注释、变量、数据类型等基础知识,适合对Scala感兴趣或想要学习大数据相关技术的程序员。课程还提供了丰富的学习资源,如Scala官方编程指南,并分享了技术学习和开发经验的建议。"
在 Scala 语言核心编程中,首先介绍了Scala的概述。Scala是由Martin Odersky设计的一种多范式编程语言,它结合了面向对象和函数式编程的概念。Scala运行在Java虚拟机(JVM)上,与Java有着紧密的联系,但又提供了一些Java不具备的高级特性。例如,Scala支持模式匹配、高阶函数、不可变数据结构等。
1.1章节解释了选择Scala的原因,可能是因为其强大的表达能力、高效性能和对并发编程的良好支持。1.2章节则讲述了Scala的诞生背景和历史。1.3章节通过关系分析图展示了Scala与Java及JVM的关系,强调了Scala可以在Java平台上无缝集成。
环境搭建部分,1.5和1.6章节分别讲述了在Windows和Linux系统下配置Scala开发环境,包括安装Scala的REPL(Read-Eval-Print Loop),这是一个交互式的命令行工具。1.7章节指导了如何在IntelliJ IDEA中安装Scala插件,1.8章节则进一步介绍了Scala的快速开发入门,包括编写"Hello, World!"程序,程序的反编译和执行流程,以及开发中应注意的事项。
注释在编程中至关重要,1.10章节详细讲解了Scala中的单行注释、多行注释和文档注释的用法,帮助程序员更好地组织和理解代码。
接着,课程进入变量的讲解。2.1章节介绍了变量的基本概念和使用步骤,2.2章节阐述了Scala变量声明的语法和注意事项。2.3章节详细讨论了Scala的数据类型,包括基本数据类型如整数和浮点数。2.4和2.5章节分别探讨了整型和浮点型的细节,包括它们的使用场景和表示方式。
这个课程不仅覆盖了Scala的基础知识,还提供了深入学习的资源,如Scala官方编程指南,以及关于如何有效学习技术和积累开发经验的建议,对初学者和有经验的开发者都极具价值。通过尚硅谷的这个课程,学习者可以全面了解Scala并提升自己的编程技能,为涉足大数据处理或相关领域打下坚实基础。
尚硅谷 Scala 语言课程
更多 Java –大数据 –前端 –python 人工智能- 区块链 资料下载,可访问百度:尚硅谷官网
第 XVI 页
16.6 ACTOR 模型应用实例-ACTOR 间通讯 ................................................................................................................................................. 386
16.6.1 应用实例需求 ............................................................................................................................................................... 386
16.6.2 两个 Actor 的通讯机制原理图和思路分析 ................................................................................................................ 387
16.6.3 代码实现 ....................................................................................................................................................................... 387
16.7 AKKA 网络编程 .................................................................................................................................................................................... 390
16.7.1 看两个实际应用(socket/tcp/ip) .................................................................................................................................... 390
16.8 AKKA 网络编程基本介绍 .................................................................................................................................................................... 390
16.8.1 网络编程有两种: .......................................................................................................................................................... 390
16.8.2 OSI 与 Tcp/ip 参考模型 (推荐 tcp/ip 协议 3 卷 ) ....................................................................................................... 391
16.8.3 p 地址 ............................................................................................................................................................................. 391
16.8.4 端口(port)-介绍 ............................................................................................................................................................. 391
16.8.5 端口(port)-分类 ............................................................................................................................................................. 392
16.8.6 端口(port)-使用注意 ..................................................................................................................................................... 392
16.8.7 网络拓扑 ....................................................................................................................................................................... 392
16.9 AKKA 网络编程-小黄鸡客服 ............................................................................................................................................................... 393
16.9.1 需求分析 ....................................................................................................................................................................... 393
16.9.2 界面设计 ....................................................................................................................................................................... 393
16.9.3 程序的框架图 ............................................................................................................................................................... 393
16.9.4 代码实现 ....................................................................................................................................................................... 394
16.10 SPARK MASTER WORKER 进程通讯项目 ........................................................................................................................................... 400
16.10.1 项目意义 ..................................................................................................................................................................... 400
16.10.2 项目需求分析 ............................................................................................................................................................. 401
16.10.3 实现功能 1-Worker 完成注册 .................................................................................................................................... 401
16.10.4 实现功能 2-Worker 定时发送心跳 ............................................................................................................................ 407
16.10.5 实现功能 3-Master 启动定时任务,定时检测注册的 worker ................................................................................. 409
16.10.6 实现功能 4-Master,Worker 的启动参数运行时指定 ................................................................................................ 412
16.10.7 对开发的 SparkMaster 和 SparkWorker 打包.jar , 部署到不同的 Linux 服务器,并运行 ................................ 413
第 17 章 泛型、上下界、视图界定 、上下文界定,协变逆变不变 ....................................................................................................... 416
17.1 泛型 ...................................................................................................................................................................................................... 416
17.1.1 基本介绍 ....................................................................................................................................................................... 416
17.1.2 Scala 泛型应用案例 1 ................................................................................................................................................... 416
17.1.3 Scala 泛型应用案例 2 ................................................................................................................................................... 418
17.1.4 Scala 泛型应用案例 3 ................................................................................................................................................ 420
17.2 类型约束-上界(UPPER BOUNDS)/下界(LOWER BOUNDS) .................................................................................................................... 421
17.2.1 上界(Upper Bounds)介绍和使用 ................................................................................................................................. 421
17.2.2 scala 中上界应用案例-要求 .......................................................................................................................................... 421
17.2.3 下界(Lower Bounds)介绍和使用 ................................................................................................................................. 425
17.3 类型约束-视图界定(VIEW BOUNDS) ................................................................................................................................................... 428
尚硅谷 Scala 语言课程
更多 Java –大数据 –前端 –python 人工智能- 区块链 资料下载,可访问百度:尚硅谷官网
第 XVII 页
17.3.1 视图界定基本介绍 ....................................................................................................................................................... 428
17.3.2 视图界定应用案例 1 .................................................................................................................................................... 428
17.3.3 视图界定的案例 2 ........................................................................................................................................................ 430
17.3.4 视图界定案例 3 ............................................................................................................................................................ 432
17.4 类型约束-上下文界定(CONTEXT BOUNDS) ......................................................................................................................................... 433
17.4.1 上下文界定应用实例 ................................................................................................................................................... 433
17.5 协变、逆变和不变 .............................................................................................................................................................................. 437
17.5.1 基本介绍 ....................................................................................................................................................................... 437
17.5.2 应用实例 ....................................................................................................................................................................... 437
第 18 章 数据结构和算法 ............................................................................................................................................................................. 439
18.1 数据结构(算法)的介绍 ........................................................................................................................................................................ 439
18.1.1 数据结构的介绍 ........................................................................................................................................................... 439
18.1.2 数据结构和算法的关系 ............................................................................................................................................... 439
18.2 看几个实际编程中遇到的问题 .......................................................................................................................................................... 439
18.2.1 一个五子棋程序 ........................................................................................................................................................... 440
18.2.2 约瑟夫问题(丢手帕问题) ............................................................................................................................................ 440
18.2.3 其它常见算法问题: ...................................................................................................................................................... 441
18.2.4 其它常见算法问题 ....................................................................................................................................................... 441
18.3 稀疏 SPARSEARRAY 数组 ...................................................................................................................................................................... 442
18.3.1 基本介绍 ....................................................................................................................................................................... 442
18.3.2 应用实例 ....................................................................................................................................................................... 443
18.3.3 课后练习 ....................................................................................................................................................................... 447
18.4 队列 ...................................................................................................................................................................................................... 447
18.4.1 队列的一个使用场景 ................................................................................................................................................... 447
18.4.2 队列介绍 ....................................................................................................................................................................... 448
18.4.3 数组模拟队列 ............................................................................................................................................................... 448
18.4.4 数组模拟队列 ............................................................................................................................................................... 449
18.4.5 数组模拟环形队列 ....................................................................................................................................................... 454
18.4.6 课堂练习: ................................................................................................................................................................... 460
18.5 链表(LINKED LIST) ............................................................................................................................................................................... 460
18.5.1 链表介绍 ....................................................................................................................................................................... 460
18.5.2 单链表的介绍 ............................................................................................................................................................... 460
18.5.3 单链表的应用实例 ....................................................................................................................................................... 461
18.5.4 双向链表的应用实例 ................................................................................................................................................... 469
18.5.5 单向环形链表的应用场景 ........................................................................................................................................... 477
18.5.6 环形单向链表的应用实例 ........................................................................................................................................... 477
18.6 栈 .......................................................................................................................................................................................................... 483
18.6.1 看一个实际需求 ........................................................................................................................................................... 483
尚硅谷 Scala 语言课程
更多 Java –大数据 –前端 –python 人工智能- 区块链 资料下载,可访问百度:尚硅谷官网
第 XVIII 页
18.6.2 栈的介绍 ....................................................................................................................................................................... 484
18.6.3 栈的几个经典的应用场景 ........................................................................................................................................... 485
18.6.4 栈的快速入门 ............................................................................................................................................................... 485
18.6.5 栈实现综合计算器 ....................................................................................................................................................... 489
18.7 递归 ...................................................................................................................................................................................................... 498
18.7.1 看个实际应用场景 ....................................................................................................................................................... 498
18.7.2 递归的概念 ................................................................................................................................................................... 498
18.7.3 递归快速入门 ............................................................................................................................................................... 498
18.7.4 递归用于解决什么样的问题 ....................................................................................................................................... 500
18.7.5 递归需要遵守的重要原则 ........................................................................................................................................... 500
18.7.6 举一个比较综合的案例,迷宫问题 .............................................................................................................................. 500
18.8 排序 ...................................................................................................................................................................................................... 504
18.8.1 排序的介绍 ................................................................................................................................................................... 504
18.8.2 冒泡排序 ....................................................................................................................................................................... 505
18.8.3 选择排序基本介绍 ....................................................................................................................................................... 507
18.8.4 选择排序思想: .............................................................................................................................................................. 507
18.8.5 选择排序思路分析图: .................................................................................................................................................. 508
18.8.6 插入排序法介绍: .......................................................................................................................................................... 513
18.8.7 插入排序法思想: .......................................................................................................................................................... 513
18.8.8 插入排序法思路示意图 ............................................................................................................................................... 513
18.8.9 插入排序的代码实现 ................................................................................................................................................... 514
18.8.10 快速排序法介绍: ........................................................................................................................................................ 518
18.8.11 快速排序法示意图: .................................................................................................................................................... 519
18.8.12 代码实现 ..................................................................................................................................................................... 519
18.8.13 归并排序介绍: ............................................................................................................................................................ 522
18.8.14 归并排序思想示意图 1-基本思想: ............................................................................................................................ 523
18.8.15 归并排序思想示意图 2-合并相邻有序子序列: ........................................................................................................ 523
18.8.16 归并排序的代码实现 ................................................................................................................................................. 523
18.9 查找 ...................................................................................................................................................................................................... 532
18.9.1 介绍: ........................................................................................................................................................................... 532
18.9.2 二分查找: ................................................................................................................................................................... 533
18.9.3 课后思考题: ............................................................................................................................................................... 533
18.9.4 二分查找的代码实现 ................................................................................................................................................... 533
18.10 哈希表(散列) ...................................................................................................................................................................................... 538
18.10.1 看一个实际需求 ......................................................................................................................................................... 538
18.10.2 哈希表的基本介绍 ..................................................................................................................................................... 538
18.10.3 应用实例 ..................................................................................................................................................................... 539
18.11 二叉树 ................................................................................................................................................................................................ 547
18.11.1 为什么需要树这种数据结构 ..................................................................................................................................... 547
尚硅谷 Scala 语言课程
更多 Java –大数据 –前端 –python 人工智能- 区块链 资料下载,可访问百度:尚硅谷官网
第 XIX 页
18.11.2 二叉树的示意图 ......................................................................................................................................................... 548
18.11.3 二叉树的概念 ............................................................................................................................................................. 549
18.11.4 二叉树遍历的说明 ..................................................................................................................................................... 549
18.11.5 二叉树遍历应用实例(前序,中序,后序) ..................................................................................................................... 550
18.11.6 二叉树-查找指定节点 ................................................................................................................................................ 555
18.11.7 二叉树-删除节点 ........................................................................................................................................................ 566
18.12 顺序存储的二叉树 ............................................................................................................................................................................ 577
18.12.1 顺序存储二叉树的概念 ............................................................................................................................................. 577
18.12.2 顺序存储二叉树的概念 ............................................................................................................................................. 578
18.12.3 顺序存储的二叉树遍历 ............................................................................................................................................. 578
18.13 二叉树排序树 .................................................................................................................................................................................... 580
18.13.1 先看一个需求 ............................................................................................................................................................. 580
18.13.2 二叉排序树介绍 ......................................................................................................................................................... 581
18.13.3 二叉排序树创建和遍历 ............................................................................................................................................. 581
18.13.4 二叉排序树的删除 ..................................................................................................................................................... 582
18.13.5 二叉排序树的代码实现 ............................................................................................................................................. 582
尚硅谷 Scala 语言课程
更多 Java –大数据 –前端 –python 人工智能 -区块链资料下载,可访问百度:尚硅谷官网
第 1 页
第 1 章 scala 的概述
1.1 why is Scala 语言?
1) Spark—新一代内存级大数据计算框架,是大数据的重要内容。
2) Spark 就是使用 Scala 编写的。因此为了更好的学习 Spark, 需要掌握 Scala 这门语言。【海量数据的采集,
存储,计算分析【mapreduce,Spark】/ [java,python,scala 主力]】
3) Scala 是 Scalable Language 的简写,是一门多范式(编程的方式[面向对象编程,函数式编程])的编程语言
4) 联邦理工学院洛桑(EPFL )的 Martin Odersky 于 2001/2003 推出 年开始设计 Scala
5) Spark 的兴起,带动 Scala 语言的发展!
1.2 Scala 语言诞生小故事
1) 创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一
种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到 JAVA 语言后,对 JAVA 这门便携式,运行
在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到 JAVA 中,由此发明
了两种语言(Pizza & Scala, 即底层编译器支持)
2) Pizza 和 Scala 极大地推动了 Java 编程语言的发展。[如何理解?]
3) jdk5.0 的泛型,for 循环增强, 自动类型转换等,都是从 Pizza 引入的新特性。
4) jdk8.0 的类型推断,Lambda 表达式就是从 scala 引入的特性。
5) 且现在主流 JVM 的 javac 编译器就是马丁·奥德斯基编写出来的。Jdk5.0 Jdk8.0 的编译器就是马丁·奥德斯
基写的,因此马丁·奥德斯基 一个人的战斗力抵得上一个 Java 开发团队。
1.3 Scala 和 Java 以及 jvm 的关系分析图
剩余609页未读,继续阅读
2021-02-24 上传
2023-08-25 上传
2023-08-25 上传
2023-06-20 上传
2023-08-10 上传
2023-08-19 上传
2023-08-11 上传
LW119118520
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功