Scala
文章平均质量分 75
一只懒得睁眼的猫
励志成为一个技术大牛!
展开
-
大数据系列修炼-Scala课程77
大数据系列修炼-Scala课程77核心内容: 1、提取器下的模式匹配操作代码实战1、提取器下的模式匹配操作代码实战1>在模式匹配的过程中,通过unapply方法可以提取出相关的内容,当然用户可以自定义提取器 2>提取器中最重要的方法是unapply方法 3> :> 9 表示最后一个元素是9,其余元素用表示。实例程序:object App1 { object :> //自己定义一个提取原创 2016-10-08 08:20:40 · 1260 阅读 · 0 评论 -
大数据系列修炼-Scala课程78
大数据系列修炼-Scala课程78核心内容: 1、Type(类型)与Class操作代码实战1、Type(类型)与Class操作代码实战1>在Scala当中可以用以下两种方式定义类型: ①定义类、特质或对象 ②直接用type关键字定义类型 在Scala当中,标注类型的时候可以直接用类和特质的名字来引用其类型,而要引用对象的类型,需要用对象的type成员来引用其类型,而不能原创 2016-10-08 08:21:26 · 1274 阅读 · 0 评论 -
大数据系列修炼-Scala课程79
大数据系列修炼-Scala课程79核心内容: 1、Scala单例深入讲解及单例背后的链式表达式操作代码实战1、Scala单例深入讲解及单例背后的链式表达式1>在Scala当中,标注类型的时候可以直接用类和特质的名字来引用其类型,而要引用对象(Object)的类型,需要用对象的type成员来引用其类型,而不能直接用object的名字来引用其类型,主要是为了区别伴生对象和伴生类。 2>在Scala当原创 2016-10-08 12:17:40 · 1032 阅读 · 0 评论 -
大数据系列修炼-Scala课程80
大数据系列修炼-Scala课程80核心内容: 1、scala中List的泛型分析以及::类和Nil对象操作代码实战1、scala中List的泛型分析以及::类和Nil对象1>List本身是抽象的,而抽象类不能定义出类的实例对象。我们用的是List的伴生对象来定义类的实例对象。sealed abstract class List[+A] extends AbstractSeq[A]原创 2016-10-08 12:19:23 · 1223 阅读 · 0 评论 -
大数据系列修炼-Scala课程81
大数据系列修炼-Scala课程81核心内容: 1、List类型约束中逆变、协变、下界的相关知识操作代码实战1、List类型约束中逆变、协变、下界的相关知识1> List集合中的 : : 方法返回的是上界的类型. 2>在Scala当中,集合分为可变集合与不可变集合.实例程序1: 实例程序2: 运行结果:[Spark Hadoop Scala Java Hbase]原创 2016-10-09 08:39:21 · 1061 阅读 · 0 评论 -
大数据系列修炼-Scala课程82
大数据系列修炼-Scala课程82核心内容: 1、Scala中的ListBuffer高效的遍历操作代码实战1、Scala中的ListBuffer高效的遍历操作操作代码实战1>Scala中的listBuffer可以对List中的元素进行高效的遍历操作,可以有效的解决堆栈溢出的问题和遍历效率过低问题。 场景:将集合中的每个元素都加1 实例程序1:采用动态数组追加数据的方式,既不递归调用,又不创建中间原创 2016-10-09 08:41:42 · 1427 阅读 · 0 评论 -
大数据系列修炼-Scala课程83
大数据系列修炼-Scala课程83核心内容: 1、Scala中的List实现内幕源码揭秘操作代码实战1、Scala中的List实现内幕源码揭秘操作代码实战1>Scala中的listBuffer可以对List中的元素进行高效的遍历,可以有效的解决堆栈溢出的问题和遍历效率过低问题。 2>List集合中的很多方法内部都是借助ListBuffer进行具体的实现。 3>ListBuffer中的toLis原创 2016-10-09 09:00:09 · 1435 阅读 · 0 评论 -
大数据系列修炼-Scala课程84
大数据系列修炼-Scala课程84核心内容: 1、Scala中List和ListBuffer设计实现思考操作代码实战1、Scala中List和ListBuffer设计实现思考1>List方法的很多内部实现中,都是靠ListBuffer完成的,因为ListBuffer在处理数据时很高效 2>Scala中的List与ListBuffer类似于Java中的String与StringBuffer 3>原创 2016-10-09 11:33:26 · 1435 阅读 · 0 评论 -
大数据系列修炼-Scala课程85
大数据系列修炼-Scala课程85核心内容: 1、Scala中for循环强大的表现力操作代码实战1、Scala中for循环强大的表现力操作代码实战1>在Scala当中,尽量使用for循环这种语法结构,具有很强的表现力。 2>case class Person(name:String,isMan:Boolean,children:Person*) 对于这种定义结构,在真正实例化的时候childr原创 2016-10-10 09:58:19 · 1139 阅读 · 0 评论 -
大数据系列修炼-Scala课程86
大数据系列修炼-Scala课程86核心内容: 1、Scala中for表达式的生成器、定义和过滤器1、Scala中for表达式的生成器、定义和过滤器操作代码实战for(ele<-list) Scala中的生成器是为了遍历元素 if(person.isMan == false) Scala中的过滤器是为了筛选元素实例程序:case class Person(name:String,isMan:Bo原创 2016-10-10 09:58:47 · 1055 阅读 · 0 评论 -
大数据系列修炼-Scala课程87
大数据系列修炼-Scala课程87核心内容: 1、Scala中使用For表达式做查询1、Scala中使用For表达式做查询操作代码实战1>Scala当中的for表达式具有很强的查询能力实例程序://本程序的重点是掌握Scala中使用For表达式做查询//case class在scala当中适合模式匹配与消息传递case class Book(title:String,authors:List[原创 2016-10-10 09:59:14 · 1143 阅读 · 0 评论 -
大数据系列修炼-Scala课程88
大数据系列修炼-Scala课程88核心内容: 1、Scala中使用For表达式实现map、flatMap、filter操作代码实战1、Scala中使用For表达式实现map、flatMap、filter操作代码实战1>在scala当中,for循环的功能通过map、flatMap、filter都可以实现 2>在scala当中,map、flatMap、filter、foreach这些高阶函数的功能通原创 2016-10-10 09:59:38 · 1236 阅读 · 0 评论 -
大数据系列修炼-Scala课程89
大数据系列修炼-Scala课程89核心内容: 1、Scala中使用For表达式实现内幕思考1、Scala中使用For表达式实现内幕思考1>for循环的方式更简洁、更具有表现力,在编程的时候尽量用for循环取代filter、map、foreach、 flatMap这些操作。实例程序1:object App6 { def main(args:Array[String]):Unit =原创 2016-10-15 09:03:40 · 1212 阅读 · 0 评论 -
大数据系列修炼-Scala课程90
大数据系列修炼-Scala课程90核心内容: 1、基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验1、基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验1>Akka是一个用Scala编写的库,用于简化编写容错的、高可伸缩性的Java和Scala的Actor模型应用。它分为开发库和运行环境,可以用于 构建并发、分布式、可容错、事件驱动的基于Java虚拟机的应用原创 2016-10-15 09:04:09 · 1342 阅读 · 0 评论 -
大数据系列修炼-Scala课程91
大数据系列修炼-Scala课程91核心内容: 1、Akka第一个案例动手实战架构设计1、Akka第一个案例动手实战架构设计1、基于Akka的分布式消息处理系统案例研究设计思路: 一共需要4个actor。首先需要一个总调度的actor,也就是master actor。这将会把传入的 每行字符串通过消息的方式发送给第一步骤的map操作的actor,然后map actor将map后的结果返回给mas原创 2016-10-15 09:04:40 · 1382 阅读 · 0 评论 -
大数据系列修炼-Scala课程92
大数据系列修炼-Scala课程92核心内容: 1、Akka第一个案例动手实战开发环境的搭建1、Akka第一个案例动手实战开发环境的搭建1> Java版本的第一个Akka程序:使用maven的方式进行创建;Scala版本的第一个Akka程序:使用SBT的方式进行创建 2>在IDEA集成开发环境中可以直接用工程向导,通过选择maven的方式来创建new project。 3>本次程序因为我们是用m原创 2016-10-15 09:05:14 · 1268 阅读 · 0 评论 -
大数据系列修炼-Scala课程93
大数据系列修炼-Scala课程93核心内容: 1、Akka第一个案例动手实战开发消息实体类1、Akka第一个案例动手实战开发消息实体类1>MapActor、ReduceActor、AggregateActor、MasterActor的相应作用: MapActor:将收到的消息进行单词切分;ReduceActor:对MapActor的结果进行本地统计; AggregateActor是对最后所有的原创 2016-10-16 13:55:59 · 1215 阅读 · 0 评论 -
大数据系列修炼-Scala课程94
大数据系列修炼-Scala课程94核心内容: 1、Akka第一个案例动手实战MapActor、ReduceActor、AggregateActor代码详解1、Akka第一个案例动手实战MapActor、ReduceActor、AggregateActor代码详解1>MapActor的职责在于对传进来的字符串进行单词的解析并将每个单词计数为1;ReduceActor的职责类似与MapReduce中的原创 2016-10-16 13:56:28 · 1347 阅读 · 0 评论 -
大数据系列修炼-Scala课程95
大数据系列修炼-Scala课程95核心内容: 1、Akka第一个案例动手实战MasterActor代码详解1、Akka第一个案例动手实战MasterActor代码详解1>MasterActor主要的两个作用: 第一:将MapActor需要处理的内容字符串信息发送给MapActor; 第二:实例化MapActor、ReduceActor、AggregateActor,但是因为MasterActo原创 2016-10-16 13:56:59 · 1306 阅读 · 0 评论 -
大数据系列修炼-Scala课程96(1)
大数据系列修炼-Scala课程96(1)核心内容: 1、Akka第一个案例动手实战main方法实现中ActorSystem等代码详解1、Akka第一个案例动手实战main方法实现中ActorSystem等代码详解1>ActorSystem类似于一个容器,容器里面有很多的Actor实例。 2>Akka的结构类似于一个树结构。 3>通过ActorSystem可以查询到具体的Actor。 4>通过原创 2016-10-17 20:14:21 · 1390 阅读 · 0 评论 -
大数据系列修炼-Scala课程96(2)
大数据系列修炼-Scala课程96(2)核心内容: 1、Akka第一个案例动手实战代码总结1、Akka第一个案例动手实战代码总结Akka案例之WordCount完整代码:import akka.actor.*;import java.util.*;/** * Created by hp on 2016/9/29. * 基于Akka框架实现WordCount案例:ActorSystem、Ma原创 2016-10-17 20:14:51 · 1163 阅读 · 0 评论 -
大数据系列修炼-Scala课程97
大数据系列修炼-Scala课程97核心内容: 1、Intelli IDEA开发第一个Scala程序步骤详解1、Intelli IDEA开发第一个Scala程序步骤详解1>将Intellgent IDEA的scala插件:scala-intellij-bin-2016.2.1.zip添加到Intellgent IDEA的plugins文件夹下,不用解压。 2>通过File–>Setting–>Pl原创 2016-10-17 20:15:17 · 1189 阅读 · 0 评论 -
大数据系列修炼-Scala课程98
大数据系列修炼-Scala课程98核心内容: 1、使用SBT开发时动手解决rt.jar中CharSequenceis broken等问题1、使用SBT开发时动手解决rt.jar中CharSequenceis broken等问题问题描述: 若用户从IDEA官方网站上将IDEA下载下来,直接安装在Windows上面,并一切采样默认的方式,那么用户在IDEA当中使用SBT开发Akka程序或者 所有S原创 2016-10-17 20:15:46 · 1192 阅读 · 0 评论 -
大数据系列修炼-Scala课程99
大数据系列修炼-Scala课程99核心内容: 1、IDEA当中手动打jar包的方式详解1、IDEA当中手动打jar包的方式详解问题1:为什么需要手动打jar包? 因为很多时候我们希望将开发的工程打包成jar包在其它的机器上面运行或者让别人来运行,所以需要打jar包。问题2:IDEA当中打jar包的方式? 两个步骤: 1、File—>Project Structure–>Artifact–>+原创 2016-10-17 20:16:14 · 1361 阅读 · 0 评论 -
大数据系列修炼-Scala课程100
大数据系列修炼-Scala课程100核心内容: 1、使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor1、使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor1>ActorSystem是整个Akka的监控容器体系。 2>mapActor ! message语法中消息的发送者是main方法所在的Actor,而mapActor是消息的接受原创 2016-10-17 20:16:42 · 1600 阅读 · 0 评论 -
大数据系列修炼-Scala课程101
大数据系列修炼-Scala课程101核心内容: 1、使用SBT开发Akka第一个案例源码解析MapActor、ReduceActor、AggregateActor1、使用SBT开发Akka第一个案例源码解析MapActor、ReduceActor、AggregateActor实例程序:HelloAkkapackage akka.dt.app.scala.messagesimport akka.a原创 2016-10-19 13:46:20 · 1705 阅读 · 0 评论 -
大数据系列修炼-Scala课程102
大数据系列修炼-Scala课程102核心内容: 1、通过案例解析Akka中的Actor运行机制以及Actor的生命周期1、通过案例解析Akka中的Actor运行机制以及Actor的生命周期1、Akka的生命周期从总体上而言分为3个部分: 1>Actor自身资源的初始化工作(prestart),在prestart方法中可以完成资源的初始化工作。类似于MapReduce中的setup方法。 2>A原创 2016-10-19 13:46:55 · 1531 阅读 · 0 评论 -
大数据系列修炼-Scala课程103
大数据系列修炼-Scala课程103核心内容: 1、通过案例解析Akka中的Actor的定义和创建1、通过案例解析Akka中的Actor的定义和创建1>对于Actor来说,可以通过ActorSystem的方式来创建Actor,也可以通过Actor去创建其它的Actor,此时Actor之间将存在 继承关系。 2>Actor的创建是和它的启动同步完成的,即我们在创建Actor的时候实际上就已经启动原创 2016-10-19 13:47:23 · 1214 阅读 · 0 评论 -
大数据系列修炼-Scala课程104
大数据系列修炼-Scala课程104核心内容: 1、通过案例解析Akka中的Actor的不同类型的Constructor构造器1、通过案例解析Akka中的Actor的不同类型的Constructor构造器Actor的构造器分为两种类型:一种是默认的构造器、一种是非默认的构造器;所谓默认的构造器指的是在我们构造具体Actor的时候,我们 将Actor具体类的名称直接传进去,所谓非默认的构造器指的是原创 2016-10-19 13:59:37 · 1401 阅读 · 0 评论 -
大数据系列修炼-Scala课程105
大数据系列修炼-Scala课程105核心内容: 1、解析Akka中的子Actor及其代码1、解析Akka中的子Actor及其代码1>在Akka当中,Actor是分层结构的,即任何一个Actor在Akka当中都属于具体的一个层次。 2>为什么需要使用子Actor,在什么时候需要创建子Actor? 一般有两种情况需要创建子Actor: 第一:若一个任务由多个子任务构成,这个时候一般要用子Acto原创 2016-10-21 16:48:57 · 1242 阅读 · 0 评论 -
大数据系列修炼-Scala课程106
大数据系列修炼-Scala课程106核心内容: 1、Akka中的消息的不同发送方式详解1、Akka中的消息的不同发送方式详解1>在Akka中,从类型上而言,有两种消息的发送方式: 第一种方式:消息发送之后立即忘记,即给一个Actor发送消息,然后就立即返回。至于对应的Actor是否给你回复消息你是不关系的,这种Actor 消息的发送方式叫做Fire and Forget。简单概括就是消息发送之原创 2016-10-21 16:49:27 · 1246 阅读 · 0 评论 -
大数据系列修炼-Scala课程107
大数据系列修炼-Scala课程107核心内容: 1、Akka中的第二种消息发送方式以及Future使用代码实战详解1、Akka中的第二种消息发送方式以及Future使用代码实战详解1>this.getSender().tell(“message having received!”,this.getSelf());的具体的含义: this.getSender()返回的是一个ActorRef的句柄,原创 2016-10-21 16:50:07 · 1670 阅读 · 0 评论 -
大数据系列修炼-Scala课程108
大数据系列修炼-Scala课程108核心内容: 1、Akka中的Actor消息的处理、消息的回复、消息的转发1、Akka中的Actor消息的处理、消息的回复、消息的转发1>在Actor当中,消息的处理一般都是通过receive中的偏函数+模式匹配的方式进行处理的。 2>在Akka当中,若要回复消息给消息的发送者,首先要获得消息发送者的代理(ActorRef),在Akka当中,提供了Sender这原创 2016-10-21 16:50:33 · 1296 阅读 · 0 评论 -
大数据系列修炼-Scala课程109
大数据系列修炼-Scala课程109核心内容: 1、Akka中的Actor异步和同步停止方式实战详解1、Akka中的Actor异步和同步停止方式实战详解1、停止Akka中Actor的原因? 因为Actor在完成自己处理的消息之后,可能不在需要这个Actor后续在继续处理工作。这个时候为了节省或者回收系统的资源,就需要 停止Akka的Actor。 2、在Akka中要停止Actor会有多种方式:原创 2016-10-21 16:50:56 · 1398 阅读 · 0 评论 -
大数据系列修炼-Scala课程110
大数据系列修炼-Scala课程110核心内容: 1、Akka中的Actor的Monitoring初步解析1、Akka中的Actor的Monitoring初步解析1>Akka本身是一个分层的消息驱动的框架,Akka中的Actor的Monitoring监控机制与Actor的Supervisor监控机制是不同的,后者更强调树状分层结构。 2>所谓Supervisor监控机制就是在Akka的体系结构中,原创 2016-10-21 16:51:20 · 1403 阅读 · 0 评论 -
大数据系列修炼-Scala课程111
大数据系列修炼-Scala课程111核心内容: 1、Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战1、Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战1>Akka中的Actor在具体处理业务时有一个非常有用的特性,可以动态切换Actor的业务逻辑代码 2>正常情况下,Actor中的receive方原创 2016-10-21 16:51:50 · 1614 阅读 · 0 评论 -
Scala中的Actor入门笔记
核心内容: 1、Java中的并发编程思想与Scala中的并发编程思想 2、Scala中Actor的两种创建方式、Actor中的receive偏函数在进行模式匹配时与传统模式匹配的区别、receive具体的实现过程 3、Scala中的原生线程(即主线程)所在的Actor的获取方式、基于Actor的Case class的消息传递和Actor模型认知以及相应的优化方式 4、线程重用的概念以及线程重原创 2016-11-07 10:33:11 · 6254 阅读 · 1 评论 -
Scala中break与continue的用法
转载网址:http://www.cnblogs.com/rollenholt/p/4119105.html转载 2016-12-18 10:49:04 · 2848 阅读 · 0 评论