自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝猫的专栏

在实践中积累经验,不断求索

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

原创 Programming Clojure学习笔记——与Java一起工作

3.4  异常处理异常处理的目的:(1) 包装检查异常(2) 使用finally块清理非内存资源如文件或网络句柄(3) 响应问题:忽略异常,重新操作,转换异常为非异常结果简化异常处理在Clojure中,检查异常不是必须进行try..catch处理,如果不处理则直接忽略异常资源清理如果需要是否的资源有close方法,则可以使用with-open宏:(wit

2011-12-18 09:31:48 855

原创 Programming Clojure学习笔记——与Java一起工作

3.3  使用Clojure创建和编译Java类Clojure的所有对象都实现了Java的特定接口:1. Clojure数据结构实现了Java集合接口2. Clojure函数实现了Runnable和Callable接口Clojure可以在需要时很方便地在磁盘上生成一次性的代理或类,使用必要的一些Java代码片段。创建Java代理在Clojure中,可以使用代理来扩展

2011-12-18 09:25:27 2709

原创 Programming Clojure学习笔记——与Java一起工作

3.2  性能优化使用原始类型示例:第一种计算方法:user=> (defn sum-to [n]   (loop [i 1 sum 0]     (if (       (recur (inc i) (+ i sum))       sum)))#'user/sum-touser=> (dotimes [_ 5] (time (sum-to 10000))

2011-12-18 09:22:29 1148

原创 Programming Clojure学习笔记——与Java一起工作

3.1  调用JavaClojure提供了简单直接的语法调用Java代码:创建对象,调用方法,访问静态方法和属性。访问构造函数,方法和属性Clojure提供了new形式调用构造函数创建实例(new classname)下面的代码创建Ramdom对象,赋给rnd变量:user=> (def rnd (new java.util.Random))#'user/rnd

2011-12-17 19:08:05 3367

原创 Programming Clojure学习笔记——探索Clojure

2.6  元数据在Clojure中,元数据(metadata) 是与对象逻辑值正交的数据。如person的firstname 和 lastname是普通旧数据。而person对象可以被序列化到XML文件的信息就是元数据。同样person对象被更改需要保存到数据库的信息也是元数据。可以使用with-meta给集合(collection)和符号(symbol)添加元数据:(with

2011-12-17 19:00:25 905

原创 Programming Clojure学习笔记——探索Clojure

2.5  流控制ifClojure的if计算第一个参数值,如果第一个参数值为true,则返回第二个参数值;如果为false,则返回nil或第三个参数值(如果有第三个参数)user=> (defn is-small? [number]              (if (#'user/is-small?user=> (is-small? 50)"yes"user=>

2011-12-17 18:58:23 1284

原创 Programming Clojure学习笔记——探索Clojure

2.4 变量(var)当你使用def和defn定义一个对象时,对象就存贮在变量中,如:user=> (def foo 10)#'user/foo定义变量foo,其值为10。说明:这里的对象可以是数,也可以是函数变量的初始值称为根绑定。使用var特殊形式可以直接获取变量而不是变量的值:(var a-symbol)示例:user=> (var foo

2011-12-17 18:54:51 814

原创 Programming Clojure学习笔记——探索Clojure

2.3  函数在Clojure中,函数调用是一个列表,其第一个元素为函数名。如:user=>  (str  "hello"  "  "  "world")"hello  world"在Clojure中,函数名习惯用连字符(-)连接个部分,如clear-agent-errors。如果一个函数是谓语,那么它的名字习惯性以问号(?)结尾。如:user=>  (string?  "he

2011-12-17 18:52:18 1285

原创 Programming Clojure学习笔记——探索Clojure

2.2  读者宏(Reader  Macros)读者宏是被前缀macro触发的特殊读者行为。最熟悉的读者宏是注释,它被分号(;)触发,特殊的读者行为是忽略分号开头的行。读者宏是长列表形式的缩写,被用来减少复杂度,使代码看起来更简洁。下面是读者宏列表:Reader  Macro   Example(s)Anonymous  function   #(.toUpperCas

2011-12-17 18:37:26 838

原创 Programming Clojure学习笔记——探索Clojure

2.1  形式形式Clojure代码即数据。Clojure程序由读者(readers)和形式(forms)组成。当你运行Clojure程序时,读者读入形式并将之转换为Clojure数据结构。然后Clojure编译并执行该数据结构。以下为Clojure形式:Form   Example(s)Boolean   true,  falseCharacter   \aKey

2011-12-17 18:34:27 2648

原创 Programming Clojure学习笔记——开始

1.3 探究Clojure库Colujure代码都打包进库,每个库属于一个命名空间namespace,命名空间类似Java包。可以使用require来加载Clojure库:(require quoted-namespace-symbol):user=> (require 'examples.introduction)nil说明:前导单引号必须,它将库名引起来使用库中函数

2011-12-17 18:29:07 945

原创 Programming Clojure学习笔记——开始

1.2 Clojure编程快速开始Clojure的运行条件:(1) Java运行环境,JDK5.0及以上(2) Clojure包运行REPL(read-eval-print-loop):>set PATH=D:\Java\jdk1.5.0\BIN>set CLOJURE_HOME=G:\Downloads\Clojure\clojure-1.3.0>java -cp

2011-12-17 18:26:49 1291

原创 Programming Clojure学习笔记——开始

1.1 为什么选择Clojure?1. Clojure是优雅的相对其他语言,实现相同的功能,Clojure程序更短。因此Clojure程序更加容易构建发布和维护。如以下分别为Java和Clojure实现判断字符串是否为空白字符串的函数:Java代码:public class StringUtils {public static boolean isBlank(String st

2011-12-17 18:22:49 1231

原创 Programming Clojure学习笔记——前言

Clojure是一种JVM上运行的动态编程语言,具有一下特性:1. 优雅Clojure的精心设计让你可以只关注解决问题本身2. 是Lisp的一种实现,继承了Lisp的强大功能,但不被Lisp语言的限制3. 是一种函数编程语言Clojure的数据结构都是不可变的,并且绝大部分函数都没有副作用4. 简化了并行编程Clojure提供了多种可选的锁:软件事务性存贮,代理,原子和

2011-12-17 18:19:15 773

原创 用SVN Importer实现CSVNT到SVN的转换

用SVN Importer实现CSVNT到SVN的转换 SVN Importer简介SVN Import是纯java编写,不但支持cvs to svn,而且还支持cvsrcs、pvcs、vss、cc、mks等转移到svn服务器。SVN Importer有两种转换CVS仓库的方式:(1)普通RCS直接处理 CVS 仓库:需要指定rlog.exe,co.exe或是cvs.exe

2011-12-16 23:17:57 1592

原创 获取调用堆栈信息

在Java中可以通过异常堆栈信息来获取Java对象方法的调用堆栈信息:Throwable throwable = new Throwable("获取调用堆栈信息");StringWriter sw = new StringWriter();throwable.printStackTrace(new PrintWriter(sw));System.out.println(sw.toS

2011-12-16 23:16:20 1039

转载 XPath介绍

XPath 术语节点(Node)在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。基本值(或称原子值,Atomic value)基本值是无父或无子的节点。项目(Item)项目是基本值或者节点。选取节点XPath 使用路径表达式在 XML

2011-12-16 23:06:06 550

Servlet-2.4技术文档 英文

这是介绍Servlet的官方文档,值得收藏

2007-09-29

JSTL.pdf 英文

一篇介绍JSP标准标签库的好文章,适合初学者学习,也可以作为开发者参考文档。

2007-09-29

空空如也

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

TA关注的人

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