- 博客(25)
- 收藏
- 关注
原创 Scala Annotation (注解)
Annotation (注解)Scala中的注解语法与Java中类似。 标准库定义的注解相关内容在包scala.annotation中。
2017-08-31 12:51:38 6988 2
原创 Scala Reflect (反射)
Reflect (反射)Scala 2.10之后提供了自身的反射相关API。Java标准库中的反射API不支持Scala的专属特性。 Scala自身提供的反射API能完整地支持所有Scala语言特性。到目前版本(Scala 2.12)为止,反射相关功能依然是Expermental(实验性)的,相关API在后续版本中可能会有较大改动。
2017-08-31 12:50:15 3177
原创 Scala Enumerate (枚举)
Enumerate (枚举)在Scala中,没有语言级别的枚举类型,枚举的功能可以通过继承枚举类Enumeration实现。继承枚举类继承枚举类Enumeration可以在成员中使用无参方法Value给每个枚举成员赋值。
2017-08-31 12:47:53 6009
原创 Task类与async/await
Task 类Task类是.NET 4.0之后提供的异步操作抽象,完整路径为System.Threading.Tasks.Task。Task类用于表示无返回值的异步操作,对于带有返回值的异步操作应使用Task类的子类Task<TResult>。 Task类创建的任务会加入线程池中。Task/Task<TResult>类的主要构造函数如下:// 接收Action类型作为异步操作的执行内容public
2016-07-27 11:34:30 7958
原创 C#中的异步委托
异步委托默认情况下,执行一个委托实例操作是同步的,但委托实例同样可以使用成员函数BeginInvoke()进行异步回调。BeginInvoke()除了接收原有委托签名的参数之外,参数表尾部额外带有两个参数,分别为AsyncCallback委托类型和object类型。AsyncCallback委托在回调委托运行结束之后触发,AsyncCallback委托接收一个IAsyncResult类型的参数。
2016-07-27 11:30:04 2086 1
原创 Scala XML解析库
XML 解析Scala标准库中内置了XML支持,XML相关类在包scala.xml中。XML节点类型Node是最基础的XML节点类型(抽象类)。 Node类型是NodeSeq的子类,而NodeSeq继承自Seq[Node],用于记录节点的序列。 Node类型定义了一系列用于获取节点信息的方法:prefix成员方法,用于获取当前节点的标签前缀。child成员方法(抽象方法),用于获取子节点的序
2016-03-25 11:41:29 6905
原创 Scala Implicit Conversions (隐式转换)
隐式转换是Scala的强大特性之一,使Scala语法更加灵活,在构建类库时是一个强大的工具。
2016-03-20 03:46:15 1241
原创 Scala学习笔记(4) --輸入/輸出
输入/输出(IO)Scala终端输出与Java中类似,使用print()/println()函数。 Scala中终端输入需要导入包scala.io.StdIn。格式化输出使用print()/println()可以打印String类型的文本输出。 复杂文本可以使用类似Java的字符串拼接方式(使用操作符+)。 在Scala中,字符串依然使用Java中标准的String类型,但通过隐式转换特性,S
2016-03-20 03:40:59 3229
原创 Scala学习笔记(3)
Scala中的OOPScala是一门同时具有函数式与面向对象特性的多重范式的语言,除了具有函数式特性外,对OOP也有着完整的支持。
2016-03-20 03:19:05 2242
原创 Scala学习笔记(2)
Scala基本语言特性相比Java``C++等语言,Scala融合了OOP``FP等编程范式,同时语法上更灵活。语法基础(概览)Scala语言中不强制要求分号,可以依行断句,只有一行带有多个语句时才要求分号隔开。使用var``val定义变量``常量,类型可以由编译器推导,也可以显式指定。定义变量时甚至可以省略var``val关键字,无关键字时定义的变量默认即为val,在定义变量的同时就需要初始化
2016-03-19 09:02:53 3347
原创 Java8中的默认方法和Lambda的使用
Java8中的新特性Java8中的新特性接口默认方法Lambda表达式使用Lambda表达式表示函数接口Lambda表达式的一般用法方法引用使用类库中的函数接口接口默认方法在Java8中,接口允许拥有带有方法实现的默认方法,在方法前使用关键字default来区别于普通的抽象方法。 一个接口可以有多个默认方法,也可以只有默认方法而不含有传统的抽象方法,同时,默认方法不强制子类重写,并且
2015-11-21 23:18:17 2506
原创 Objective-C初学注记(c++ -> obj-c)
初学Objective-C,第一次见到这么反人类的语言。。。Objective-C是C语言的严格超集,与C++不同,完全兼容C语言。任何原始的C语言程序不经修改就可以直接通过Objective-C编译器,在Objective-C中使用C语言代码也是完全合法的。C++相对于C语言可以说是一门独立的语言,但Objective-C严格来说不能算是独立的语言,实际上只是一组由C语言写成的运行库。O
2015-01-08 19:57:19 808
原创 Unix环境下编译工具链使用注记
在Unix环境下,常用的编译环境为gcc/clang。二者的命令格式类似。编译源码的基本命令:$ cc [c源码文件] //cc为c语言编译器$ c++ [c++源码文件] //c++为c++编译器需要注意的是,不同的开发环境对于cc编译器的定义是不同的,一般情况下,cc指令是一个软链接,指向系统默认的编译器,即使用cc编译器实际调用的是开发环境的
2014-12-04 15:35:16 950
原创 Ubuntu常用软件推荐
Ubuntu常用软件开机启动:通过对grub2配置更改开机背景,配置多系统启动。通过修改/etc/fstab文件来实现分区的挂载。使用gparted作为分区工具。数据库:配置mysql及相关依赖包。安装mysql workbench和LibreOfficeBase。终端:gnome桌面环境推荐使用下拉式终端guake。KDE桌面环境下推荐使用下拉式终
2014-07-29 02:58:50 2006
原创 Ubuntu最小化安装详解
系统基本安装Ubuntu默认的是LiveCD安装方式,此种安装方式优点是安装简单,但安装过程中无法定制安装,安装结束后会有许多无用组件。だから、我选择Ubuntu Server版本,Server版本默认只会安装一些核心组件,并不会安装桌面环境及一些无用组件。正常使用Server版的LiveCD完成系统安装,默认情况下,Server版安装完成后会带有wpa_supplican
2014-07-29 02:51:39 16082
原创 ArchLinux使用中常见问题集锦
Archlinux是一个优秀的发行版,配置文件清晰透明,拥有较高的可定制性。但作为Linux发行版,在使用过程中难免会遇到一些蛋疼问题,本文记录了日常折腾Archlinux的一些经验和一些小问题的解决方法。。。
2014-07-26 15:24:01 12922 3
原创 寒假折腾Archlinux的一些经验(新手向)--桌面配置篇
Archlinux安装完成默认是没有桌面环境的,也没有建立普通用户账户,一切都要自己手动进行,虽然很麻烦,但是能够让自己更加熟悉命令行。安装完成后开始添加用户:# useradd -m illidan //用-m参数,创建用户的同时给用户创建home目录设置用户的密码:# passwd illidan安装sudo让普通用户执行root命令:# pac
2014-02-04 21:55:19 28509 1
原创 寒假折腾Archlinux的一些经验(新手向)--基本安装篇
玩Linux也有些时日了,一直以来都是使用Ubuntu,Fedora,OpenSUSE之类的自带GUI的发行版,这类发行版容易上手,却少了几分折腾的乐趣,同时不够精简,每次装完总要删掉不少无用的包。于是我便开始尝试ArchLinux、Gentoo之类的以“简洁”为特色的发行版,只是此类发行版难以上手,而平时在学校里没有多少时间折腾,现在寒假终于下决心把ArchLinux装到了硬盘里。。。至于Gen
2014-02-04 16:59:30 7612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人