![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
文章平均质量分 87
我辈岂是蓬蒿人225
青梅煮酒
展开
-
Scala入门指南之Akka并发编程框架简介
前面介绍了那么多关于Scala的基础语法,终于迎来了了Scala入门指南的最后一篇——Akka简介。看标题读者就能知道,Akka是一个并发编程框架,也可以通俗点说,就是用来开发多线程的。Java中的多线程开发是使用加锁的机制来确保同一时间只有一个线程访问共享数据的传统方法,但是这种方式存在资源争夺、以及死锁问题,程序越大问题越麻烦。而Scala作为Java的升级版或者说是Java的现代版,自然要摒弃这种老套的理念。Scala使用Actor并发编程模型,是一种基于事件模型的并发机制,也是一种不共享数据,依赖消原创 2021-03-10 11:51:14 · 616 阅读 · 3 评论 -
Scala入门指南之函数式编程
集合的基础介绍完之后,就可以来说函数式编程了。Java8也支持了函数式编程,只不过在实际工作中还是用的比较少的。所谓函数式编程,就是把函数作为一个参数传入方法中,在方法中调用这个函数。这样做的好处是,可以提高代码的复用性,在定义方法的时候只定义了函数入参的接收类型和返回类型,但是并没有指明函数具体的操作,由调用方定义具体的操作。打个最简单的比方,如果我们现在要写一个计算器类,正常的方式是定义四个方法,加减乘除,然后在调用的时候,分别使用。如果采用了函数式编程的方法,就可以定义一个方法,他接收两个数字,再接收原创 2021-02-26 11:12:53 · 266 阅读 · 1 评论 -
Scala入门指南之集合(二)
上一篇介绍了数组、元组、不可变列表和可变列表的基本操作。这一篇我们从可变列表的扁平化、拉链和拉开说起。扁平化是指把含有嵌套结构的多层列表,转化为一层列表的操作。有点像公司人事经常提到的组织结构扁平化。一般的公司会有多层领导,像金字塔一样的复杂层级关系,一个大领导管着几个分区领导,分区领导管着项目组长,项目组长管理项目成员。扁平化就是把这些领导精简成几个主要负责人,他们之间是平级关系,然后再负责下面的项目组成员。Scala列表的扁平化更粗暴一些,直接让大家都是平级关系,只有这一级,没有领导,这在现实公司中原创 2021-02-24 11:36:23 · 118 阅读 · 0 评论 -
Scala入门指南之集合(一)
介绍完了面向对象编程,就到了介绍Scala的函数式编程了。这是Scala的一个特性,其实Java8之后也开始陆续新增了函数式编程的写法。在介绍函数式编程之前,先要了解Scala里集合的用法。Scala的集合和Java差不多,有Array、List、Set、Map。这些集合的概念和Java相同,比如说Set的无序性和不可重复性。在此之上,Scala还扩展了tuple、ArrayBuffer、ListBuffer。tuple就是元组,因为数组和列表都必须在创建的时候指定成员的类型,所以数组和列表并不能存不同类型原创 2021-02-24 10:29:27 · 146 阅读 · 0 评论 -
Scala入门指南之面向对象编程进阶
介绍完Scala面向对象编程基础之后,可以讲一讲抽象类、继承、匿名内部类、特质、单例对象和样例类了。前三个概念和Java一样,区别只是语法。特质其实也是一个类,只是对某个类的一种扩展,为了提高代码的复用性、扩展性和可维护性,而提出的一种概念。比如Java程序员类,一开始不会大数据相关的技能,后来通过学习,掌握了大数据的技术,那么这个大数据技术就可以是一种特质,一部分程序员拥有了这个特质。类和类之间是单继承关系,但是类可以继承多个特质。比如一些程序员后来又学会了机器学习技术,那么这些人既拥有了大数据技术特原创 2021-02-22 09:09:50 · 128 阅读 · 0 评论 -
Scala入门指南之面向对象编程基础
对于有Java基础的同学来说,基本的语法就不再介绍了,直接从面向对象编程还是讲起。在讲之前,先说几条通用的规则:第一,Scala编程时,不再需要每一行后面写分号(;)了;第二,所有的基本类型都是开头大写,比如int要写作Int;第三,定义变量时,类型写在变量名之后,用冒号分隔,并且需要在前面加上var(代表变量)或者val(代表常量)关键字,如var name:String,就代表定义了一个name字符串变量;第四,创建数组时,写法不同了,如var arr = Array(1,2),Sc原创 2021-02-21 13:29:25 · 165 阅读 · 0 评论 -
Scala入门指南之配置环境
在学习Spark之前,需要先学习Scala这门编程语言,因为Spark是使用Scala语言编写的。Scala可以认为是对Java语言的二次封装,用了比较现代的语法,更加简洁,更加先进。Scala可以完美使用所有Java类库,同时又新增了一些新的类库。对于有Java基础的同学来说,学习Scala没有任何门槛,基本思想都没变,只是语法略有不同。学习中我感觉Scala融合了很多Python的先进写法,可能作者在创造过程中从Python汲取了灵感,也有可能是Scala和Python都来源于同一套标准,这个只是我的个原创 2021-02-21 11:09:52 · 148 阅读 · 0 评论