自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

Scala基础(9)- 列表

列表(List)应该是使用最多的数据结构了。列表的构造注意列表中的元素类型必须一致。val fruit = List("apples", "oranges", "pears")val nums: List[Int] = List(1, 2, 3, 4)构造列表的两个基本单位是Nil和::。上面的构造可以写成val fruit = "apples" :: ("oranges...

2015-03-24 02:16:59 132

Scala基础(8)- 模式匹配

Scala强大的模式匹配机制,可以应用在switch语句、类型检查以及“析构”等场合。样本类对模式匹配进行了优化。这里介绍的是模式匹配的基本知识。样本类(case class)添加了case关键字的类便是样本类。例如abstract class Exprcase class Var(name:String) extends Exprcase class Number(num:...

2015-03-17 08:31:12 93

Scala基础(6)- 类和对象

定义类的定义例子如下。class Point(xc: Int, yc: Int) { var x: Int = xc var y: Int = yc def move(dx: Int, dy: Int) { x = x + dx y = y + dy } override def toString(): String = "(" + x ...

2015-03-10 04:28:12 167

Scala基础(7)- 特质

特质是Scala中一个很重要的特性。更灵活的接口Scala的特质(trait)定义和class几乎相同,只是trait不能的构造不能包含参数。 trait TraitClassA { def doSomething() { println("call A"); }} trait TraitClassB { def doSo...

2015-03-10 04:24:30 118

原创 Scala基础(5)- 数组

数组是最基本的数据结构。通常的语法或数据结构书都会先介绍数组,而后再介绍集合,链表,树,哈希表等等。我们也不例外。定长数组最简单的数组创建如下,记住方括号在Scala中用做泛型,相当于<>在Java中作用。val nums = new Array[Int](10)// 10个Integer的数组,初始值为零。更简洁的数组创建像这样:val s = Array...

2015-03-07 04:52:32 101

Scala基础(4)- 控制结构

If 表达式有返回值你可以这样赋值,val s = if (x > 0) 1 else -1这样就不必像下面这样,这里s就必须是一个变量了。if (x > 0) s = 1 else s = -1你甚至可以根据情况返回不同类型的值if (x > 0) "OK" else -1语句结束不用分号除非多个语句在一行出现,比如if (n > 0...

2015-03-06 03:45:48 94

原创 Scala基础(3)- 函数进阶

匿名函数函数可以没有名称,可以直接赋值。如果函数有多行表达式组成,就加上大括号。这一点对匿名函数同样适用。scala> val addOne = (x: Int) => x + 1addOne: (Int) => Int = <function1>scala> addOne(1)res4: Int = 2注意到Scala中一切都是...

2015-03-05 03:32:33 88

Scala基础(2)- 值,变量,函数

声明值和变量值(value)声明以后不能修改其内容val result = 3 + 4 * 5result = 0 // error变量(variable)声明以后可以修改其内容。var counter = 0counter = 1 // ok很C++,Java不同,Scala鼓励尽量使用val,避免副作用的发生。另外,可以看到我们没有像Java一样给result...

2015-03-04 01:52:42 80

Scala基础(1)- 编程环境

Scala是一个比较复杂的语言,比较适合具有一定的编程经验来学习。我这里也是假定读者有一定的编程经验。REPL和其他现代编程语言相似,通常入门Scala的第一步是它的解释器或REPL。前往http://www.scala-lang.org/downloads 下载Scala在各个平台的安装包,安装后,在命令行中输入scala并回车,即可进入交互式编程环境Paste_Image....

2015-03-03 04:56:05 106

为什么要用Scala

为什么还需要一个新的语言呢?我们希望程序更简洁,更易读,更不容易出错,充分利用现代处理器的多核特性,可以相对容易地实现分布式应用。专家推荐Groovy创始人James Strachan曾经说过:我认为将来可能替代Java的就是Scala 。它实在太让我印象深刻了。我甚至可以诚实地说,如果有人在2003年把那本《Programming in Scala》拿给我看了的话,那我根本就不...

2015-03-02 02:28:43 1082

高性能HTTP负载测试

HTTP负载测试的目的是测试站点或服务是否能够能在一定的时延范围内每秒处理上万到百万个请求。在Java的世界里,最常用的免费负载测试工具是Apache JMeter。这里介绍另外一个工作——gatling,以及如何将其与一种随机数据生成器一起使用。Gatling是一个开源的,基于Scala, Akka和Netty的负载测试框架。它首要的特性就是高效。利用有限的资源,Gatling可以生成海...

2015-02-17 04:54:54 201

为何使用Ansible

[b][size=large]IT 自动化[/size][/b]现在市面上用一些实现IT自动化的工具,例如 puppet, chef, salt。Ansible 是一个相对比较新的工具,但目前社区十分活跃。我用过puppet和ansible。这里想讨论一下我偏爱ansible的原因。[b][size=large]架构选择[/size][/b]Puppet和chef这样的工具...

2014-12-31 02:30:49 563

原创 REST API性能比较

REST已然成为最流行的提供外界服务API的方式。同时,随着互联网和物联网的普及,如今的应用需要处理大量并发的请求。因此,开发高性能REST服务已经成为一个成功应用的必备条件。我这里集中讨论Java和JVM相关技术。基于Java的REST应用比基于python和ruby的应用往往具备更好的性能。而另外一些新兴的语言如Go超出了讨论的范围。标准JAX-RS是Java世界定义REST API的通用...

2014-12-30 22:43:44 906

原创 Hadoop系列之二:三足鼎立

上次说到了Hadoop是目前最流行的大数据工具,其核心是HDFS来存储数据和MapReduce来处理数据,但它又不仅仅如此。后来,围绕着Hadoop相继出现了一系列的应用。比如存储结构化数据的HBase,用于和传统数据实现数据迁移的Spooq,SQL接口Hive,用于工作调度的Ozzie,以脚本取代代码完成MapReduce的Pig,机器学习工具集Mahout等等。羽翼渐丰的Hadoop已经一步...

2014-12-25 03:13:54 745

原创 Hadoop系列之一:小象诞生

提及Hadoop这一大数据存储和处理工具,自然要从它的爸爸Doug Cutting说起。Doug Cutting不仅仅是Hadoop的创始人,还是大名鼎鼎的搜索引擎工具Lucene的开创者。一个程序员能有一个开源软件为千万人所用,而且历久弥新,已经是十分难得。兼具多个的就更是寥寥了。有类似经历的如Linus Torvalds,即是Linux发明者同时也开发了Git。2002年,Doug Cutt...

2014-12-25 03:13:38 385

Hadoop系列之三:技术未来

Hadoop的未来如何,一个重要的影响因素是技术的更新和进步。从最近几年Hadoop和其他大数据相关技术的发展,我们可以看出一些端倪。数据存储 – 前景乐观从文件存储技术来看,HDFS稳定而健壮,已然是海量文件存储的实际标准。当然也有一些分布式文件存储技术值得关注,如GlusterFS, Tachyon等等。但对HDFS尚不构成实质性的威胁。相比文件存储的一家独大,结构化数据的存储,目前呈现出的...

2014-12-25 03:12:57 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除