- 博客(35)
- 资源 (9)
- 收藏
- 关注
翻译 Disruptor入门
翻译自Disruptor git库教程 英文地址:https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started 获得Disruptor 可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar放在Java classpath就可以了。 基本的事件生产和消费 我们从一个简单的例子开始学
2014-07-12 15:38:00
1595
原创 动态语言比较学习--基础
前言 写这个系列文章的目的就是在每一个小小的语法上面对于Python和Ruby进行比较。注意,我并不是简单的列一列他们的好处。这个过程首先非常有趣,而且是一个学习的好途径。为了比较,我把我的Python和Ruby的学习比较合成了一个学习笔记。通过比较两个语言里面的的长处和对方是怎么实现的,让我更加熟悉了。 源程序 命令行参数 Ruby: ARGV存放了所有的命令行参数 例
2013-11-25 23:29:05
1342
原创 我的Python3学习笔记(3):面向对象
面向对象 模块 导入 Python导入有两种形式 一是importmodule,这种形式还得写全名。不同于Java 例如: import cmath cmath.sqrt 另一种是 from module import function. from somemodule import somefunction, anotherfunction, yetanotherfunction
2013-11-21 12:09:59
1870
原创 我的Python3学习笔记(2):python函数式编程
函数式编程 深拷贝 >>>from copy import deepcopy >>>d = {} >>>d['names'] = ['Alfred', 'Bertrand'] >>>c = d.copy() >>>dc = deepcopy(d) >>>d['names'].append('Clive') >>>c {'names':['Alfred', 'Bertrand', 'Clive'
2013-11-21 11:38:02
1146
原创 我的Python3学习笔记(1):python基础
Python基础 数学运算 新旧除法 在新的Python中,使用的不是传统C语言中的地板除,而是用的完整数学意义上的除法。原来的地板除则使用//来代替。在新的Python中,使用的不是传统C语言中的地板除,而是用的完整数学意义上的除法。原来的地板除则使用//来代替。 整数 在Python,ruby和Scala中,都可以用int型来表示大数。 标准输入输出 输入
2013-11-21 10:53:27
1842
原创 计算机程序的构造与解释作业:练习1.16到1.19
1.16 这个题目就是直译一下题目里面的公式。看开始我看了一下前面的题目,就高高兴兴的写出来了。如下: (define (even? n) (= (remainder n 2) 0)) (define (fast-expt b n) (cond((= n 0) 1) ((even? n) (fast-expt (* b b) (/ n 2))) (else (* b (
2013-11-11 17:05:42
1111
原创 计算机程序的构造与解释作业:练习1.11到1.13
1,11 首先使用递归就是把这个函数直接翻译成Scheme (define (f n) (cond ((< n 3) n) (else (+ (f (- n 1)) (f (- n 2)) (f (- n 3)))))) 如果使用的是递归,那么这个思路就是首相给每个计算中间值设定一个状态变量。 (define (f n) (f-iter n)) (d
2013-10-28 09:25:15
1097
原创 计算机程序的构造与解释作业:练习1.9到1.10
1.9 第一个过程显然是递归,用替换模型张开后,这个过程是一个先增大后减小的过程。从状态变量的反面来说,a在这个过程里面存储了一个状态,他是一个计数器(判断是不是变量一个状态变量的基本方法就是这个变量是不是可变)。但是b则完全没有状态,这个程序的结果依赖于每一个中间步骤,这个过程的执行也不能停下来。 而第二个过程则是铁定的过程,因为a和b都是一个状态变量。a是一个计数器,b则就是结果。因此这
2013-10-19 20:42:42
1229
原创 计算机程序的构造和解释作业:1.6到1.8
(define (new-if pre then-clause else-clause) (cond (pre then-clause) (else else-clause))) (define (sqrt-iter guess target) (new-if (good-enough? guess target) guess (sqrt-iter (improve guess t
2013-10-19 18:32:55
1293
原创 计算机程序的构造与解释作业:练习1.1到1.5
1.1,我用的是kawa,这是用java实现的一个scheme的解释器,kawa(在window下直接双击打开就可以运行) #|kawa:1|# 10 10 #|kawa:2|# (+ 5 3 4) 12 #|kawa:3|# (- 9 1) 8 #|kawa:4|# (/ 6 2) 3 #|kawa:5|# (+ (* 2 4) (- 4 6)) 6 #|kawa:6|#
2013-10-18 20:16:05
1216
原创 Ruby,Scala和JavaScript中的函数式编程(一)
函数式编程(英语:Functional programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。 从具体的编程语言实现来来看,数据的不变性,一等函数,高等函数,lambda运算,闭包,
2013-09-29 20:42:19
1807
原创 Ruby和JavaScript对象模型的比较
概要 Ruby和JavaScript都是动态脚本语言,他们有许多地方是类似的。比如函数都是一等对象,都有高阶函数等等。。。但是我觉得最像的要属他们的对象模型,比如:他们的类型不伦不类,对象非要搞得像一个属性槽。 Ruby的对象模型 Ruby,一种为简单快捷面向对象编程而创的脚本语言。他的最大的特点就是面向对象的模型和元编程的能力,Ruby是完全面向对象的,没有任何的原始类型。要注意的是:Ru
2013-09-28 20:43:52
1631
原创 求贤(Scala,Groovy,Clojure)
我本人学过Scala,故现在求一个会Groovy 或Clojure的大神同时做这个项目(注意不是合作,是各做各的)。为的就是比较一下Scala和其他JVM语言的方方面面。到时候我会把项目的各个文件都放到优快云上(会把Matlab函数打包成jar提供,还有项目原型),然后每天的进度和代码也都会贴到优快云上。这个系统是用来识别邮票的,有一个标准的邮票库DataSet,还有一些从淘宝上得到的邮票图片用来做算法的测试。
2013-09-28 13:34:40
478
原创 Scala学习笔记之Scala标准库
IO 1.打开Source.fromFile(filename,encoding) 2.关闭source.close 3.获取所有行,getLines 4.迭代行用source.getLines 5.迭代字符用source 5.buffered不移动文件指针但是可以读取字符 @注意文件读取有一个文件的指针,如果文件都到结尾就不能在读到文件了。 隐
2013-09-28 12:52:15
2404
原创 Scala学习笔记之面向对象
创建对象 val greetStrings = new Array[String](3) 如果类还实现了apply方法,那么可以简写 val greetStrings = Array[String](3) object 1.object声明时和类声明时一样 2.一个object可以继承一个类的实现,并可以覆盖方法 3.java中的所有接口在scala中都可以用做特
2013-09-28 12:46:26
3978
原创 Scala学习笔记之Scala函数及函数式编程
Scala函数及函数式编程 函数声明 函数相当于Java中的静态方法:除了递归之外不需要声明返回类型 as:def as(x:Double)={if(x>=0) x else -x} as2:def fac(n:Int):Int={if(n as3:def fvb(){ 注意:一,函数声明中并没有声明变量是否可变。 二.不写没有返回值的方法必须用大括号
2013-09-28 12:40:06
8543
原创 Scala学习笔记之Scala基础
Scala基础 Scala中的每一个表达式都有一个值 变量声明 1.val不变量,var变量,建议使用val,申明不用加类型 2.加类型申明:val xmax,ymax:String = null val细节 val声明的变量仅仅不允许引用重新分配,而不阻止对象内部的变化 Unit scala中的()叫做Unit类,相当于其他语言中的vo
2013-09-28 12:34:31
1738
原创 Scala学习笔记之Scala特性
Scala scala特性 动态性 scala 就像动态语言,使用了类型推测 scala不需要分号 输入输出内建 scala输入readXXX,输出print或者println,注意不需要引入任何东西 没有break和continue 默认参数 scala有默认参数,规则和C++一样 重载操作符 类型转换 由于scala中的所
2013-09-28 12:31:36
1358
原创 Ruby学习笔记之反射和元编程
反射和元编程 匿名Class对象 如果把一个Class对象,赋值给一个常量,那么这个常量就是一个类名。因此在Ruby中每一个类都是一个Class常量对象。因此Object.class = Class 例子: C = Class.new # A new class with no body, assigned to a constant c = C.new # Create a
2013-09-28 12:09:02
3042
原创 Ruby学习笔记之面向对象
面向对象 创建对象 a_book = BookInStock.new another_book = BookInStock.new 类声明 class BookInStock def initialize(isbn, price) @isbn = isbn @price = Float(price) end def to_s "ISBN: #{@i
2013-09-28 12:01:52
1551
原创 Ruby学习笔记之标准库
标准库 Strings 字符串嵌入表达式 在ruby中,如果在创建字符常量时使用双引号,那么可以在#{}中嵌入一个表达式,Ruby会自动把表达式的值和字符串连接起来 result = "Good night, #{name.capitalize}" puts "now is #{ def the(a) 'the ' + a end the('time') }
2013-09-28 11:47:07
1321
原创 Ruby学习笔记之函数
函数 代码块 在Ruby中一个代码块就是把几个Ruby语句打包到一起 如{puts "hello"}和 do club.enroll(person) person.socialize end block_given? 判断是否已经给出一个快,这样方法可以有两个行为 传递块对象 一个块是一个Proc对象,使用call方法可以调用这个块对象
2013-09-28 11:37:37
1374
原创 Ruby学习笔记之基础
Ruby基础 字符编码 Ruby中字符串中的编码依赖于其文件的字符编码,可以在文件开头设定文件编码如下: #encoding: utf8 # -*- coding: utf-8 -*- # Specify Unicode UTF-8 characters 标准输入输出 puts和putc 用来输出 printf用来格式化输出 gets用来读取,但是还要转换成其他
2013-09-28 11:28:53
1148
原创 Ruby学习笔记一之概要
这个暑假回家没事干闲的蛋疼,正好手头有一本《七周七语言》,然后就开始从Ruby学起,到scala结束。中间的Io和prolog就被华丽丽的跳过了,因为prolog语法太奇葩,Io有没什么好的资料可以看,尽管我觉的Io应该会是一个强大的工具,而且语法超级简单。对象模型比起JavaScript好的不是一点两点,clone关键字真是为原型式编程量身打造的,new就显得不伦不类了,尤其是我从Java开始的。恩,废话就少提,下面我学习Ruby的各个部分。其中Ruby风格这一部分是开放的,因为我暂时还没有形成自己的风格
2013-09-28 11:10:26
1076
原创 Ruby和Scala的对比
类型声明 Scala在函数和类声明时,必须写上类型声明,而scala的类型声明由于泛型的缘故,使得类型变得晦涩和不必要,这是静态类型要求的,为的是控制类型的安全,但是借助现代IDE的帮助,动态类型也可以实现相对的类型安全。另一方面,静态类型的每一方法在开始写的时候都有预设使用的类,这也意味着必须在开始的时候就要设想好继承层次,同时也意味着可扩展性的缺失。而Ruby用鸭子类型就不用预先设定接口,每
2013-09-23 15:42:25
1725
Java 泛型问与答
这几天一直在读Think In Java里面的有关泛型的部分,对于Java泛型实现的类型擦除很是迷惑,比如为什么一个泛型的ArrayList可以创建,而一个泛型的类本身却不可以创建。既然Think In Java的作者读的是Java Generics FAQ,那我就冒一次
2013-06-06 10:06:13
85
原创 Java protected关键字的新发现
以前常常在Java书籍里面看到protected关键字保证了只有子类才可以访问到父类的protected所修饰的域或方法,今天突然想到,其实在子类中有两种方法可以调用父类方法,protected对于这两种的调用是不同的。 package test1; public class Test1 { protected String getHello(){ return "hello world
2013-05-30 19:11:08
177
原创 ubuntu 12.10 调节屏幕亮度的一点发现
我一直用的是ubuntu,刚开始,我不知道ubuntu屏幕亮度过亮,每次到学校机房的XP上都觉得其桌面太丑了(亮度所致)^-^. 这几天我才发现我眼睛有时候受不了,到网上一查才知道是屏幕太亮所致。于是蛋疼经历开始了,我一发现有这个问题,每次开电脑就要查解决方法。 于是找到两类方法:一是跟维基上一样的改 点击打开链接,改/sys/class/backlight/acpi_video0
2012-11-22 19:32:41
1212
原创 先序、中序构造一棵唯一的二叉树
直接上代码: public class BinaryTree { public BinaryTree(String pre,String in) { makeTree(pre,in); } public static void main(String[] args) { BinaryTree tree=new BinaryTree("ABDCEGFHI","DBAEGCHF
2012-11-02 18:04:42
871
原创 Linux 下好玩的命令
sl,不是ls,在ubuntu下可以用命令sudo apt-get install sl来安装,用sl来启用会出现一个文本界面的小火车如截图
2012-10-01 21:19:00
814
原创 Linux下好玩的命令
sl,不是ls,在ubuntu下可以用命令sudo apt-get install sl来安装,用sl来启用会出现一个文本界面的小火车如截图
2012-10-01 21:15:14
114
原创 Eclipse开发C/C++ (CDT安装详解)和汉化包安装的一点发现
以前在eclipse中进行c或c++语言开发时都需要安装cdt,汉化时需要汉化包。我从网上找教程一般都是用eclipse更新或者下载cdt包本地安装,本地安装有两种方法一是用link的方式指定cdt包的位置,二是把cdt下的包复制到eclipse相应文件夹下,本人网速太慢,都是本地下载安装。但是这两种方法的很麻烦且不稳定,在安装tomcat插件时发现有这样的一段话 Unzip it in
2012-09-08 09:41:53
2165
Core Java. Volume I. Fundamentals, 8th Edition
2012-09-18
Ruby学习笔记
2013-09-28
Scala学习笔记
2013-09-28
MySQL技术内幕(第四版)
2012-09-08
Core Java. Volume II. Advanced Features, 8th Edition
2012-09-18
C++标准程序库
2012-09-08
算法导论中文版
2012-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人