- 浏览: 17224 次
- 性别:
- 来自: 杭州
最新评论
-
0372:
对新人标示鼓励
新人报道 -
fushengxu:
大牛多多提意见
scala之trait详解一
文章列表
(1)为什么要todolist
1、记不住
2、拎不清
3、被打断
(2)todo list 原理就像CPU时间片
1、时间
2、状态
3、优先级
==》进展
每天下班前列个清单。每个任务加上时间和优先级
番茄工作法
常用工具:
1、wunder list =>最好用
2、Microsoft TO-DO
3、Note 笔记
4、markdown 文件自己记
5、直接手写 =》最有感觉
公有区块链中,参与到系统中的每个节点都是中心,都存放一份完整的交易账本系统。然而,每个节点却不能同时记账,因为节点所处的环境不同,接收到的信息自然不同,如果同时记账的话,必然会导致账本的不一致,造成混乱。既然节点不能同时记账,那就不得不选择哪个节点拥有记账的权力。但是,如果指定某些特殊节点拥有记账的权力,势必又会与去中心化的初衷相违背。比特币区块链通过竞争记账的方式解决了去中心化的记账系统的一致性问题。所谓竞争记账,就是以每个节点的计算能力即“算力”来竞争记账权的一种机制。在比特币系统中,大约每十分钟进行一轮算力竞赛(算力大小会决定赢得一轮竞争的概率,算力高的节点赢得算力竞争的概率更大),竞赛的 ...
test Spark SQL Catalyst源码分析之Optimizer
http://blog.csdn.net/oopsoom/article/details/38121259
//spark 2.0优化规则
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7257b8c8148228a8448e435061e5a35a3fd7c734e5392d8170f65d3151bade4732f77552ff6d99bc813cabae22838885036671cf7124e9242b8cb3764 ...
以具体的SQL语句 select a+b fromtable 为例进行说明,下面是它的解析过程:
1.调用虚函数Add.eval(),需确认Add两边数据类型
2.调用虚函数a.eval(),需要确认a的数据类型
3.确认a的数据类型是int,装箱
4.调用虚函数b.eval(),需确认b的数据类型
5.确认b的数据类型是int,装箱
6.调用int类型的add
7.返回装箱后的计算结果
从上面的步骤可以看出,一条SQL语句的解析需要进行多次虚函数的调用。我们知道,虚函数的调用会极大的降低效率。那么,虚函数的调用为什么会影响 ...
从源码来看,RDD是被定义为了一个抽象基类,里面定义了像compute(计算分区),getPartitions(获取分片),getDependencies(获取依赖)等抽象函数及一系列基本函数(catch,persist,checkpointRDD)。然后具体的像 jdbcRDD, HadoopRDD, ShuffleRDD 等都继承自RDD并有份自己的实现。
RDD的主要属性有以下部分组成:
一组分片
一个计算分区的函数
RDD之间的依赖关系----------------->实现自动容错
一个分区函数
一个列表,一个分区优先位置------ ...
86d606bfb2664dc0ab2819db400ab4a2
原文:http://docs.scala-lang.org/overviews/reflection/overview.html
Overview
EXPERIMENTAL
Heather Miller, Eugene Burmako, Philipp Haller
Reflection is the ability of a program to inspect, and possibly even modify itself. It has a long history across object-orient ...
我们知道,trait支持多重继承,那么scala是如何解决trait多重继承带来的方法冲突问题?
通过延时绑定混入类的方法,可以有效的回避这一点。在trait里调用super可能解析成另一个trait的方法也可能解析成混入类的方法。
做一下名词解释,所谓延时绑定也叫动态绑定,发生在运行期;与之相对的静态绑定发生在编译器,熟悉C++的可以参考这篇文章对这两个概念有更深的了解:http://www.oschina.net/question/54100_20313。熟悉java的可以参考这篇文章:http://blog.csdn.net/zhangjk1993/articl ...
上篇文章http://fushengxu.iteye.com/blog/2301179的例子里,Friend trait混入到了Dog类里,就可以将Dog的任意实例当做Friend。也就是说,所有的Dog都是Friend。此外,还可以在实例一级对trait进行选择性混入。如下所示:
def useFriend(friend:Friend)= Friend listen
val alf=new Cat("ALF")
val friend:Friend=alf //ERROR
useFriend(alf) //ERROR
Cat并没有混入Fiend t ...
问题一:scala为什么没有多重继承?
Scala和Java一样不允许从多个超类继承。我们知道,C++允许多重继承,但代价也是出人意料的高。主要是多重继承会出现棱形问题,也叫做钻石问题。关于多重继承的问题,可以参考http://cn ...
1) 可以用override val 覆盖父类或trait中不带参数的def , 但反过来不行, 既不可以用override def 覆盖父类的val,比如
class Father{
def name = "Archer"
def score() = 1.0
val id = 12
}
class Children extends Father{
override val name = "Jack"
override val score = 2.0
override def id = 10 // ...
RDD
全称为Resilient Distributed Dataset,弹性分布式数据集。
就是分布在集群节点上的数据集,这些集合可以用来进行各种操作,能实现MapReduce不擅长的计算工作(比如迭代式、交互式和流式)。最重要的一点是,某个操作计算 ...
1)特别注意jar包的版本问题。这方面出错,很难定位到错误,接下去得非常注意
2)时间规划需要更加合理,对学习的知识需要有及时的书面总结。好记性不如烂笔头。
3)更加努力点。
4) 感谢帮助自己的导师和经验丰富的前辈们。有些问题,我们研究很久,可能经验丰富的前辈们一眼就看出来了。