自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注IT

大山里的IT

  • 博客(184)
  • 资源 (1)
  • 收藏
  • 关注

转载 第三十节 Scala脚本编程与结束语

本节主要内容REPL命令行高级使用使用Scala进行Linux脚本编程结束语1. REPL命令行高级使用在使用REPL命令行时,有时候我们需要粘贴的代码比较大,而普通的粘贴可能会些一些问题,比如中文粘贴会出现乱码、多行代码粘贴时会出错,此时需要用到REPL的高级功能。在日常开发过程中,我们粘贴多行代码的时候会遇到下列问题://本意是要粘贴下面两行代码class Per

2017-01-24 15:07:55 1167

转载 第二十九节 Scala数据库编程

Scala Maven工程的创建Scala JDBC方式访问MySQLSlick简介Slick数据库编程实战SQL与Slick相互转换本课程在多数内容是在官方教程上修改而来的,官方给的例子是H2数据库上的,经过本人改造,用在MySQL数据库上,官方教程地址:http://slick.typesafe.com/doc/2.1.0/sql-to-slick.html1. Scala M

2017-01-24 15:05:22 668

转载 第二十八节 Scala与JAVA互操作

本节主要内容JAVA中调用Scala类Scala中调用JAVA类Scala类型参数与JAVA泛型互操作Scala与Java间的异常处理互操作1. JAVA中调用Scala类Java可以直接操作纵Scala类,如同Scala直接使用Java中的类一样,例如://在Person.scala文件中定义Scala语法的Person类package cn.scala.xtwy.

2017-01-24 14:53:48 559

转载 第二十七节 Scala操纵XML

本节主要内容XML 字面量XML内容提取XML对象序列化及反序列化XML文件读取与保存XML模式匹配1. XML 字面量XML是一种非常重要的半结构化数据表示方式,目前大量的应用依赖于XML,这些应用或利用XML作为数据交换格式,或利用XML进行文件配置等。像Java、C++及其它流行的程序开发语言都是依赖于第三方库来实现XML的操作,例如JAVA经常通过JDOM,DOM4

2017-01-24 14:48:56 445

转载 第二十六节 Scala并发编程基础

本节主要内容Scala并发编程简介Scala Actor并发编程模型react模型Actor的几种状态Actor深入使用解析1. Scala并发编程简介2003 年,Herb Sutter 在他的文章 “The Free Lunch Is Over” 中揭露了行业中最不可告人的一个小秘密,他明确论证了处理器在速度上的发展已经走到了尽头,并且将由全新的单芯片上的并行 “内核”

2017-01-24 14:41:51 364

转载 第二十五节 提取器(Extractor)

本节主要内容apply与unapply方法零变量或变量的模式匹配提取器与序列模式scala中的占位符使用总结1. apply与unapply方法apply方法我们已经非常熟悉了,它帮助我们无需new操作就可以创建对象,而unapply方法则用于析构出对象,在模式匹配中特别提到,如果一个类要能够应用于模式匹配当中,必须将类声明为case class,因为一旦被定义为case

2017-01-24 14:35:23 804

转载 第二十四节 高级类型 (三)

Type SpecializationManifest、TypeTag、ClassTagScala类型系统总结在Scala中,类(class)与类型(type)是两个不一样的概念。我们知道类是对同一类型数据的抽象,而类型则更具体。比如定义class List[T] {}, 可以有List[Int] 和 List[String]等具体类型,称List为类,而List[Int]、List[

2017-01-24 14:31:19 269

转载 第二十三节 高级类型 (二)

本节主要内容中置类型(Infix Type)存在类型函数类型抽象类型关于语法糖的问题,在讲解程序语言时,我们常常听到“语法糖”这个术语,在百度百科中,它具有如下定义:语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,种语法能使程序员更方便的使用语言

2017-01-24 14:21:09 379

转载 第二十二节 高级类型 (一)

本节主要内容this.type使用类型投影结构类型复合类型1. this.type使用class Person{ private var name:String=null private var age:Int=0 def setName(name:String)={ this.name=name //返回对象本身 this } def

2017-01-24 13:59:17 300

转载 第二十一节 类型参数(三)-协变与逆变

本节主要内容协变逆变类型通匹符1. 协变协变定义形式如:trait List[+T] {} 。当类型S是类型A的子类型时,则List[S]也可以认为是List[A}的子类型,即List[S]可以泛化为List[A]。也就是被参数化类型的泛化方向与参数类型的方向是一致的,所以称为协变(covariance)。 图1 协变示意图为方便大家理解,我们先分析Ja

2017-01-24 13:56:53 1313

转载 第二十节 类型参数(二)

本节主要内容Ordering与Ordered特质上下文界定(Context Bound)多重界定类型约束1. Ordering与Ordered特质在介绍上下文界定之前,我们对Scala中的Ordering与Ordered之间的关联与区别进行讲解,先看Ordering、Ordered的类继承层次体系:  通过上面两个图可以看到,Ordering混入了Java中

2017-01-23 16:11:58 286

转载 第十九节 隐式转换与隐式参数(二)

本节主要内容隐式参数中的隐式转换函数中隐式参数使用概要隐式转换问题梳理1. 隐式参数中的隐式转换前一讲中,我们提到函数中如果存在隐式参数,在使用该函数的时候如果不给定对应的参数,则编译器会自动帮我们搜索相应的隐式值,并将该隐式值作为函数的参数,这里面其实没有涉及到隐式转换,本节将演示如何利用隐式参数进行隐式转换,下面的代码给定的是一个普通的比较函数:object Imp

2017-01-23 16:09:43 375

转载 第十八节 隐式转换与隐式参数(一)

本节主要内容隐式转换简介隐式转换函数隐式转换规则隐式参数1. 隐式转换简介在Scala语言当中,隐式转换是一项强大的程序语言功能,它不仅能够简化程序设计,也能够使程序具有很强的灵活性。要想更进一步地掌握scala语言,了解其隐式转换的作用与原理是很有必要的,否则很难得以应手地处理日常开发中的问题。在scala语言中,隐式转换是无处不在的,只不过scala语言为我们隐

2017-01-23 16:07:08 303

转载 第十七节 类型参数(一)

本节主要内容类型变量界定(Type Variable Bound)视图界定(View Bound)上界(Upper Bound)与下界(Lower Bound)1. 类型变量界定(Type Variable Bound)类型变量界定是指在泛型的基础上,对泛型的范围进行进一步的界定,从而缩下泛型的具体范围,例如://下面的类编译通不过//因为泛型T在编译的时候不能确定其具

2017-01-23 16:05:01 802

转载 第十六节 泛型与注解

本节主要内容泛型(Generic Type)简介注解(Annotation)简介注解常用场景1. 泛型(Generic Type)简介泛型用于指定方法或类可以接受任意类型参数,参数在实际使用时才被确定,泛型可以有效地增强程序的适用性,使用泛型可以使得类或方法具有更强的通用性。泛型的典型应用场景是集合及集合中的方法参数,可以说同Java一样,Scala中泛型无处不在,具体可以

2017-01-23 16:02:54 469

转载 第十五节 Case Class与模式匹配(二)

本节主要内容模式匹配的类型for控制结构中的模式匹配option类型模式匹配1. 模式的类型1 常量模式object ConstantPattern{ def main(args: Array[String]): Unit = { //注意,下面定义的是一个函数 //函数的返回值利用的是模式匹配后的结果作为其返回值 //还需要注意的是函数定义

2017-01-23 15:59:42 307

转载 第十四节 Case Class与模式匹配(一)

本节主要内容模式匹配入门Case Class简介Case Class进阶1. 模式匹配入门在Java语言中存在switch语句,例如://下面的代码演示了java中switch语句的使用public class SwitchDemo { public static void main(String[] args) { for(int i = 0

2017-01-23 15:57:40 475

转载 第十三节 高阶函数

本节主要内容高阶函数简介Scala中的常用高阶函数SAM转换函数柯里化部分应用函数1. 高阶函数简介高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种是返回值是函数的函数。这两种在本教程的第五节 函数与闭包中已经有所涉及,这里简单地回顾一下: (1)函数参数//函数参数,即传入另一个函数的参数是函数//((Int)=>String)

2017-01-23 15:54:43 444

转载 第十二节 I/O与正则表达式

本节主要内容Scala I/O操作简介Scala 写文件Scala 读文件Scala 网络I/O正则表达式简介Scala正则表达式实战1. Scala I/O操作简介I/O操作是一门编程语言中的重要内容,在Scala中,它更多的是调用Java中的I/O类或者通过对java中的I/O类进行相应的封装来实现I/O操作。在上一节内容中我们已经用到了I/O操作:trait Fi

2017-01-23 15:49:28 405

转载 第十一节 Trait进阶

本节主要内容trait构造顺序trait与类的比较提前定义与懒加载trait扩展类self type1 trait构造顺序在前一讲当中我们提到,对于不存在具体实现及字段的trait,它最终生成的字节码文件反编译后是等同于Java中的接口,而对于存在具体实现及字段的trait,其字节码文件反编译后得到的java中的抽象类,它有着Scala语言自己的实现方式。因此,对于trai

2017-01-23 15:40:48 310

转载 第十节 Scala类层次结构、Traits初步

本节主要内容Scala类层次结构总览Scala中原生类型的实现方式解析Nothing、Null类型解析Traits简介Traits几种不同使用方式1 Scala类层次结构Scala中的类层次结构图如下: 来源:Programming in Scala从上面的类层次结构图中可以看到,处于继承层次最顶层的是Any类,它是scala继承的根类,scala中所有

2017-01-23 15:15:26 265

转载 第九节 继承与组合

主要内容类的继承构造函数执行顺序方法重写匿名类多态与动态绑定组合与继承的使用1 类的继承下类的代码演示了Scala类的继承//Person类class Person(name:String,age:Int){}//Student继承Person类class Student(name:String,age:Int,var studentNo:String) e

2017-01-23 15:11:39 204

转载 第八节 包和引入

本节主要内容包的作用与定义包的作用域与引入(import)的使用方法访问控制包对象import高级特性内部类包的作用与定义同Java中的包、C++中的命名空间一样,Scala中的包主要用于大型工程代码的组织同时也解决命名冲突的问题。Scala中的包与java有着诸多的相似之处,但Scala语言中的包更加灵活。//将代码组织到cn.scala.xtwy包中package

2017-01-23 15:08:57 278

转载 第七节:类和对象(二)

本节主要内容单例对象伴生对象与伴生类apply方法应用程序对象抽象类单例对象在某些应用场景下,我们可能不需要创建对象,而是想直接调用方法,但是Scala语言并不支持静态成员,Scala通过单例对象来解决该问题。单例对象的创建方式如下:object Student { private var studentNo:Int=0; def uniqueStudentNo

2017-01-23 15:06:36 159

转载 第六节:类和对象(一)

本节主要内容1 类定义、创建对象 2 主构造器 3 辅助构造器类定义、创建对象//采用关键字class定义class Person { //类成员必须初始化,否则会报错 //这里定义的是一个公有成员 var name:String=null}123456123456Person类在编译后会生成Person.class文件  利用javap

2017-01-23 15:01:54 263

转载 第五节 函数与闭包

本节主要内容(一)函数字面量(值函数)(二)匿名函数(三)函数的简化(四)函数参数(四)闭包函数字面量(值函数)函数字面量(function literal),也称值函数(function values),指的是函数可以赋值给变量。一般函数具有如下形式: 而函数字面量具有如下形式:/* 函数字面量 functio

2017-01-23 14:58:23 280

转载 第四节 Set、Map、Tuple、队列操作实战

本节主要内容mutable、immutable集合Set操作实战Map操作实战Tuple操作实战队列操作实战栈操作实战mutable、immutable集合以下内容来源于Scala官方文档: http://www.scala-lang.org/docu/files/collections-api/collections.htmlScala collections s

2017-01-23 14:55:49 631

转载 第三节 Array、List

本节主要内容数组操作实战列表List操作实战数组操作实战1 定长数组//定义一个长度为10的数值数组scala> val numberArray=new Array[Int](10)numberArray: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)//定义一个长度为10的String类型数组scala> v

2017-01-23 14:53:50 280

转载 第二节Scala基本类型及操作、程序控制结构

本节主要内容Scala基本类型基本类型操作Scala程序控制结构Scala基本类型Scala中的基本数据类型如下图:  (来源:Programming in Scala)从上表中可以看出,Scala的基本数据类型与Java中的基本数据类型是一一对应的,不同的是Scala的基本数据类型头字母必须大写,本节以Int、Long、String、Char、Double

2017-01-23 14:47:43 421

转载 第一节 Scala语言初步

本节主要内容Scala简介为什么要学习ScalaScala语言初步1. Scala简介Scala(Scala Language的简称)语言是一种能够运行于JVM和.Net平台之上的通用编程语言,既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发,2004年开始程序运行在JVM与.Net平台之上,由于其简洁、优雅、类型安全的编程模

2017-01-23 14:46:04 313

转载 GreenDao讲义4:带你总览Feature

特点:1. ORM (object/relation mapping)greenDao的本质是为关系型数据库SQLite中存储的数据提供一种面向对象的接口,这即是ORM的特性。只需要提供数据模型,greenDao就能生成模型的Java对象(entity)和获取模型中数据的接口(DAO)。2. 表现看图说话,拿ORMLite和greenDao做比较:3. 超小的库

2014-10-24 13:35:48 656

转载 GreenDao讲义3:带你了解查询生成器和更加复杂的查询

查询会返回匹配特定条件的实体,使用GreenDao,你可以使用原生的SQL语句,也可以使用查询生成器(QueryBuilder)的API来生成查询。并且,查询也支持懒惰加载(lazy-loading)方式,这对于结果数目庞大的操作可能会节省内存提高性能。1. QueryBuilderQueryBuilder能够让你在不涉及SQL语句的情况下查询实体。写SQL有几个缺点,首先是易错的

2014-10-24 13:35:06 827

转载 GreenDao讲义2 - 带你创建Android应用中的DbService

在讲义1中讲到,在我们实际的工程中,不要每次要操作数据库都获取一个session,而是在应用开始的时候通过静态方法获取一个session,官方答疑中也是这样说的(我也不知道怎样关闭一个session)。那么怎样实现呢?怎样能使得在我们的Android应用中使得调用数据库操作更加简单呢?首先我们创建一个GreenDapHelper类:[java] view plaincopy

2014-10-24 13:34:01 1423

转载 GreenDao讲义1:带你阅读github的example

GreenDao在github上的地址: https://github.com/greenrobot/greenDAO首先你需要关注两个Project:DaoExample和DaoExampleGenerator。DaoExample是一个Android项目,导入之后发现DaoExample能够直接运行,直接运行一发,是个记笔记的简单样例,你可以通过输入来新建一个笔记,可以通过点击笔记来删

2014-10-24 13:32:44 1491

转载 cocos2d-x 3.0 开发(一) Hello_New_World

1、Previous On 2dx    2dx 的3.0版本是个与以往不同的版本。变化比2dx从1.x 到2.x的变化还要大不少。具体的新功能可以参见:CocoaChina大会见闻——cocos2d-x 3.0 新特性。当然这都是官方承诺的,只有我们在项目中实际用上了才有意义。2dx的版本选择很重要,因为项目的进行中是不太可能更换版本的,因此大家都希望选一个稳定的版本开发。新的版本会有很

2014-10-16 09:36:14 455

转载 Cocos2d-x教程(21)-画板

源码下载地址:http://download.csdn.net/detail/u012945598/6935331视频教程地址:http://www.tudou.com/programs/view/JA5WAXWHtDk/本篇博客将采用Cocos2d-x 2.2.1版本+Xcode5.0制作一款简易的画板工具,其原理是基于OpenGL的画点以及画线功能,通过触摸屏幕,将所有触摸点保

2014-09-22 17:18:50 514

转载 Cocos2d-x教程(18)-回调函数

在Cocos2d-x中,为我们提供了很多种类型的回调函数。之前我们提过,CCCallFunc就是一种看不见的动作,它的定义位于CCActionInstant.h文件中,属于瞬时动作的一种,它的作用就是回调某个类中的方法,今天我们来学习一下CCCallFunc系列函数的使用方法。1.CCCallFunc类派生自CCActionInstant类,typedef void (CCObject::

2014-09-22 17:16:22 388

转载 Cocos2d-x教程(20)-闪电效果

视频地址:http://www.tudou.com/programs/view/WNmDVt1NYEY/源码下载地址:http://download.csdn.net/detail/u012945598/6890965原文地址:http://krazydad.com/bestiary/bestiary_lightning.html原文是一篇讲解闪电路径算法的

2014-09-22 17:15:59 694

转载 Cocos2d-x教程(17)-Box2D 物理引擎

Cocos2d-x 3.x版本物理引擎的使用参考  http://blog.csdn.net/u012945598/article/details/38417333物理引擎并非每款游戏的必需品,但它却可以更好的模拟现实世界的真实感。此篇文章我们将初步讲解Box2D的使用方法。想要精通Box2D并非简单的事情,但简单的使用Box2D却并非什么难事,首先我们需要了解

2014-09-22 17:15:13 457

转载 Cocos2d-x教程(16)-自定义动作 圆周运动

在之前的文章中我们曾经讲过Cocos2d-x中的各种动作的使用方法,我们先来简单的回顾一下与动作相关的内容   1.Cocos2d-x中的所有动作类的文件都位于 Cocos2d-x-2.2.1/cocos2dx/actions 目录下   2.CCAction是所有动作类的基类,所有的动作类都派生自CCAction   3.CCFiniteTimeAction类中定义了有限时间内可以完

2014-09-22 17:13:46 917

Facebook开源fresco-v0.3.0图片加载库jar包

这是强大的图片加载工具,可以加载网络图片,网络渐进图片,网络gif图片。

2015-04-23

空空如也

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

TA关注的人

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