程序员开发 css3 动画-实现自己的代码库1.前言 在月初的时候,发了 CSS3 热身实战–过渡与动画(实现炫酷下拉,手风琴,无缝滚动)。js 的代码库也发过两次,两篇文章。之前也写了 css3 的热身实战,既然热身完了,是时候开始封装 css3 的代码库了,相比起 js 的代码库,css3 的代 ...
【Java You Don't Know - Item 2】All Interfaces Have toString() Method
Introduction
最近总结Thinking in Java 读书笔记时,涉及到下面这段简单代码:
1 | Collection<String> list = new ArrayList<String>(); |
上面这段代码的运行结果如下:
1 | [tomorrow, hi, yes] |
进而引出了两个问题:
Collection是一个接口,其内部并没有toString方法,为什么声明为Collection类型的list对象可以调用toString方法?
list对象的toString方法明显被重写过了,重写toString方法是在哪里实现的?
【Java You Don't Know - Item 1】为什么long类型的变量在赋值时数值常量要加“L”
下面这段代码大家应该多很熟悉,也都知道Java赋值long类型变量时,一定要在常量后面加上“L”或“l”。这篇笔记就简单展开讨论其原因。
1 | long a = 500; //赋值500,编译通过 |
这里其实涉及到一个细节,Java默认的整数常量类型为int。因此我们赋值变量时,不管变量是什么类型,赋值等号右边的数字默认先使用int保存,然后赋值时再根据变量类型进行自动类型转换。比如 byte a = 5
实际上是将int类型的‘5’,通过自动类型转换为byte类型的变量a。由于long类型的变量可能保存远远大于int表示范围的数值,因此可能出现大于int表示范围的数值常量默认保存在int中的情况。具体参照上述code block中的第二行,该赋值语句执行的过程是:
Charset and Encoding
最近重新整理一遍 Java 基础,在写到注释相关的内容时发现自己对各种字符编码问题一直似懂非懂。相信很多人都听说过ASCII, Unicode, GB2312, UTF-8之类的编码,但是对于它们的印象可能仅仅停留在知道它们是不同的字符编码,使用不当可能会导致乱码的层面上。
查了很多资料,脑子有点乱,下面这篇笔记主要用来梳理思路。文章可能涉及到ASCII, ISO8859, GB2312, GBK, Unicode, UTF-8, UTF-16等多个字符集和编码方式进行探讨,篇幅有限,泛泛而谈,希望对有相同困惑的朋友有所帮助~~
【Spark概念模型-2】RDD & Dependency & 宽窄依赖划分
RDD
RDD是由诸多partition所构成的分布式只读数据集以及相关算子的封装,它只是一个逻辑概念上的数据集而并非是一个将所有数据都载入内存的数据结构(这里只是简单提一下RDD,在另一篇博客详细讲解RDD的概念,本文重点在于Dependency)。
Dependency
Dependency描述了RDD之间的依赖关系,每个RDD内部都记录了它与其他RDD(parent RDD)的依赖关系。通过Dependency类的getParents(partitionId:Int)我们可以获取当前RDD的每个partition所依赖的parent partitions。