自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java 抽象类

抽象类/* 文件名 : Employee.java */public abstract class Employee { private String name; private String address; private int number; public Employee(String name, String address, int number) {

2015-05-05 16:43:04 116

原创 Java 多态

多态是同一个行为具有多个不同表现形式或形态的能力。多态性是对象多种表现形式的体现。查看例子:/* 文件名 : Employee.java */public class Employee { private String name; private String address; private int number; public Employee(String name,

2015-05-05 16:39:00 80

原创 跟连乐一起学Scala-定界延续

捕获并执行延续var count: (Unit => Unit) = nullvar fileName = "myfile.txt"var contents = ""reset { while(contents == "") { try { contents = scala.io.Source.fromFile(fileName, "UTF-8")

2015-07-12 09:41:32 235

原创 跟连乐一起学Scala-隐式转换

隐式转换 定义: 以implicit关键字声明的带有单个参数的函数。implicit def int2Fraction(n: Int) = Fraction(n, 1)val result = 3 * Fraction(4, 5) //调用int2Fraction(3)//隐式转换将整数3转换成了一个Fraction对象。这个对象又被乘以Fraction(4, 5)利用隐式转换丰富现有

2015-07-11 09:53:07 299

原创 跟连乐一起学Scala-Actor

每个actor都要扩展Actor类并提供act方法; 要网actor发送消息,可以使用actor ! message 消息发送时异步的,“发完就忘” 要接收消息,actor可以调用receive或react,通常是在循环中这样做 receive/react 的参数是由case语句组成的代码块 不同的actor之间不应该共享状态。总是使用消息来发送数据。 不要直接调用actor

2015-07-10 21:42:47 240

原创 跟连乐一起学Scala-高级类型

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!单例类型 例子:class Document{ def setTitile(title: String) = {...; this} def setAuthor(author: String) = {...; this} ...}val atticle.setTitle("whatever floats

2015-07-04 17:11:42 396

原创 跟连乐一起学Scala-类型参数

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!泛型类例子:class Pair[T, S](val first: T, val second: S)泛型函数例子:def getMiddle[T](a: Array[T] = a(a.length / 2))Scala会从调用该方法使用的实际参数来推断出类型。getMiddle(Array("Mary", "had", "a",

2015-06-27 08:23:19 416

原创 跟连乐一起学Scala-XML处理

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!XML处理XML字变量val doc = <html><head><title>Hello,Scala</title><body>...</body></head></html>XML节点 Node类是所有XML节点类型的祖先。例子:val items = new NodeBufferitems += <li>Fred</l

2015-06-25 21:02:49 220

原创 跟连乐一起学Scala-注解

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!注解什么是注解 注解是那些你插入到代码中以便有工具可以对它们进行处理的标签。 工具可以在代码级别运作,也可以处理被编译器加入了注解信息的类文件。@Test(timeout = 100) def testSomeFeature() { ... }@Entity class Credentials { @Id @Be

2015-06-22 18:55:11 215

原创 跟连乐一起学Scala-模式匹配和样例类

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!模式匹配和样例类更好的switchvar sign = ...val ch: Char = ...ch match { case '+' => sign = 1 case '-' => sign = -1 case _ => sign = 0}守卫 守卫可以是任何Boolean条件。ch match

2015-06-22 18:53:57 170

原创 跟连乐一起学Scala-集合

欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!集合主要的集合特质 Seq 是一 个有先后次序的值的序列。比如数组和列表。IndexedSeq允许我们通过整型的下标快速的访问任意元素。 Set 是一组没有先后次序的值。在SortedSet中,元素以某种排过序的顺序被访问。 Map 是一组(键,值)对偶。SortedMap按照键的排序访问其中的实体。序列 Ve

2015-06-18 22:29:06 226

原创 跟连乐一起学Scala-高阶函数

高阶函数作为值的函数 Scala中,函数是”头等公民”import scala.math._val num = 3.14val fun = ceil _对于函数,你能做什么呢?调用它传递它,存放在变量中,或者作为参数传递给另一个函数。调用示例:fun(num) //传递示例:Array(3.14, 1.43, 2.0).map(fun)匿名函数 Scala中,你无需给每一个函数命

2015-06-16 20:31:39 134

原创 跟连乐一起学Scala-操作符

操作符标识符 变量,函数,类等的名称统称为标识符。中置操作符如下:a 标识符 b这种标识符代表一个带有两个参数的方法。 比如:1 to 10 //等价于1.to(10)1 -> 10//等价于1.->(10)这种表达式叫做中置表达式。一元操作符 中置操作符是二元的,因为它有两个参数。 只有一个参数叫做一元操作符。 比如:1.toString()//等价于:1

2015-06-15 09:42:28 154

原创 跟连乐一起学Scala-特质

特质为什么没有多重继承Scala提供“特质”而非接口。特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质。当做接口使用的特质trait Logger { def long(msg: String) //这是个抽象方法}子类:class ConsoleLogger extends Logger { //使用extends关键字 def long(msg: String) {

2015-06-15 09:41:53 133

原创 跟连乐一起学Scala-文件和正则表达式

文件和正则表达式读取行import scala.io.Sourceval source = Source.fromFiles("myFile.txt", "UTF-8")//第一个参数可以是字符串或者是java.io.Fileval lineIterator = source.getLines//得到的结果是一个迭代器//处理for(i <- lineIterator) //处理i//处理成字

2015-06-15 09:41:12 130

原创 跟连乐一起学Scala-继承

继承扩展类 extends关键字class Employee extends Person { ...//some codes}重写方法 override关键字超类的构造class Employee(name: String, age: Int, val salary: Double) extends Person(name, age)class Employee(name:

2015-06-09 21:15:28 116

原创 跟连乐一起学Scala-包和引入

包和引入包package com { package founder { package fbbs { class Student { ...//some codes } } }}串联式包语句package com.founder.fbbs { package

2015-06-08 21:11:54 171

原创 跟连乐一起学Scala-对象

对象单例对象 Scala中没有静态方法或静态字段,你可以用Object这个语法来达到相同的目的。object Account { private var lastNumber = 0 def newUniqueNumber() = { lastNumber += 1 lastNumber }}对象的构造器在该对象第一次被使用时调用。伴生

2015-06-06 08:11:50 111

原创 跟连乐一起学Scala-类

类简单类和无参方法class Counter { private var value = 0 //你必须初始化字段 def increment() {values += 1} //方法默认是公有的 def current() = value }调用:val myCounter = new Counter //或new Counter()myCounter.incremen

2015-06-04 21:37:51 106

原创 跟连乐一起学Scala-映射和元组

映射和元组构造映射//不可变的Map[String, Int]val scores = Map("Alice" -> 10, "Bob" -> 3, "Cindy" -> 8)//可变Map[String, Int]val scores = scala.collection.mutable.Map("Alice" -> 10, "Bob" -> 3, "Cindy" -> 8)//空映射val

2015-06-03 22:18:39 125

原创 跟连乐一起学Scala-控制结构和函数

控制结构和函数条件表达式if (x > 0) 1 else -1val s = if (x > 0) 1 else -1 //判断并直接赋值 scala中没有switch哦!因为它有一个更强大的模式匹配机制。(先卖个关子)输入和输出print("Hello word!)println("Hello scala!")使用readLing从控制台读取一行val name = readLine

2015-06-02 21:38:19 129

原创 跟连乐一起学Scala-数组

数组定长数组val nums = new Array[Int](10) //10个整数的数组,所有元素初始化为0val strs = new Array[String](20) //20个字符串数组,所有元素初始化为nullval hello = Array("Hello", "word") //不用new也可以推断出来print(hello(0)) //打印"hello"变长数组Ar

2015-06-02 21:38:16 110

原创 和连乐一起学Scala-基础

基础scala下载,安装,配置环境变量本人操作系统使用Ubuntu14,IDE使用IntelliJ IDEA 环境变量配置和windows略有不同,请大家自行解决,官网很清楚。 Scala官网链接:http://www.scala-lang.org/ Scala配置环境变量官网链接:http://www.scala-lang.org/download/install.html声明值和变量使用v

2015-06-02 21:37:06 141

原创 Ubuntu命令行和文件夹切换

ubuntu shell终端中以窗口形式打开一个文件夹 使用以下命令在shell终端中以窗口形式打开一个文件夹nautilus dirname可以用 alias 命令来给nautilus命令重新起名字,容易记住alias opdir='nautilus'完成之后就可以用 opdir 命令来进行与 nautilus 命令相同的操作opdir dirname但是这样操作只能在本次打开的shell终端

2015-05-25 16:50:33 942

原创 Ubuntu在右键快捷菜单中添加“Open in Terminal”

操作步骤翻译如下: 1.打开一个Terminal(ctrl+alt+t),输入如下指令sudo apt-get install nautilus-open-terminal2.使用以下指令来重启Nautilus  nautilus -q3.在任意位置,右键鼠标就可以看到Open in Terminal选项了

2015-05-25 16:48:50 196

原创 Ubuntu下安装搜狗输入法

建议Ubuntu安装英文版,再安装搜狗输入法工具/原料Ubuntu14.04(英文版,联网)方法/步骤打开搜狗输入法Linux版的官网http://pinyin.sogou.com/linux/?r=pinyin,并下载你需要的版本,这里选择64位版。Ubuntu14.04安装搜狗输入法 在Ubuntu14.01下可以直接点击下载的文件进入软件中心进行安装(这里的图是已经安装过的,没有安装过的按

2015-05-25 16:42:50 114

原创 Shell 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[ function ] funname [()]{ action; [return int;]}说明:可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值

2015-05-18 14:23:59 82

原创 Shell 流程控制

如果else分支没有语句执行,就不要写这个else.if elseifif 语句语法格式:if conditionthen command1 command2 ... commandN fi写成一行(适用于终端命令提示符):if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi末尾的fi就是if倒

2015-05-18 14:22:00 77

原创 Shell test

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真实例演示:num1=100num2=100if test $[num1] -eq $[num2

2015-05-18 14:14:08 80

原创 Shell echo

Shell 的 echo 指令用于字符串的输出。命令格式:echo string您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串: echo "It is a test"这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test2.显示转义字符 echo "\"It is a test\""结果将是: "It is a test"同样,双引号也可以省

2015-05-18 13:26:11 114

原创 Shell 变量

定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:your_name="hello,word" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。 同时,变量名的命名须遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。除了显式地

2015-05-18 13:22:43 93

原创 Shell入门

Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 脚本 Shell 脚本(shell script

2015-05-18 13:15:46 114

原创 访问者模式

意图:主要将数据结构与数据操作分离。主要解决:稳定的数据结构和易变的操作耦合问题。何时使用:需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作”污染”这些对象的类,使用访问者模式将这些封装到类中。如何解决:在被访问的类里面加一个对外提供接待访问者的接口。关键代码:在数据基础类里面有一个方法接受访问者,将自身引用传入访问者。应用实例:您在朋友家做客,您是访问者,朋友接受您的

2015-05-18 13:11:11 88

原创 模板模式

意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个子类都重新写了这一方法。何时使用:有一些通用的方法。如何解决:将这些通用算法抽象出来。关键代码:在抽象类实现,其他步骤在子类实现。应用实例: 1、在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱加栅栏等差异。 2、西游

2015-05-18 13:08:32 106

原创 策略模式

意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。如何解决:将这些算法封装成一个一个的类,任意地替换。关键代码:实现同一个接口。应用实例: 1、诸葛亮的锦囊妙计,每一个锦囊就是一个策略。 2、旅行的出游方式,选择骑自行车、坐汽车,每一种

2015-05-18 11:38:49 150

原创 状态模式

意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。何时使用:代码中包含大量与对象状态有关的条件语句。如何解决:将各种具体的状态类抽象出来。关键代码:通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个方法。而且,状态模式的实现类的方法,一般返回值,或者是改变实例变量的值。也

2015-05-14 13:21:20 96

原创 观察者模式

意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。如何解决:使用面向对象技术,可以将这种依赖关系弱化。关键代码:在抽象类里有一个 ArrayList

2015-05-14 13:19:52 108

原创 备忘录模式

意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。何时使用:很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有”后悔药”可吃。如何解决:通过一个备

2015-05-14 13:15:32 91

原创 中介者模式

意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。何时使用:多个类相互耦合,形成了网状结构。如何解决:将上述网状结构分离为星型结构。关键代码:对象 Colleagu

2015-05-14 13:14:59 143

原创 迭代器模式

意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。主要解决:不同的方式来遍历整个整合对象。何时使用:遍历一个聚合对象。如何解决:把在元素之间游走的责任交给迭代器,而不是聚合对象。关键代码:定义接口:hasNext, next。应用实例:JAVA 中的 iterator。优点: 1、它支持以不同的方式遍历一个聚合对象。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有

2015-05-14 13:10:51 166

15天学会jquery

15天学会jquery,更清晰描述jquery构造,属性及使用方法

2013-10-26

空空如也

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

TA关注的人

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