君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 106 下一页

2014年4月30日 #

摘要: 日本程序员norahiko,写了一个排序算法的动画演示,非常有趣。这个周末,我就用它当做教材,好好学习了一下各种排序算法。排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中"... 阅读全文
posted @ 2014-04-30 16:21 刺猬的温驯 阅读(289) 评论(0) 推荐(0) 编辑

2014年4月20日 #

摘要: 波兰式、逆波兰式是《数据结构》课程中讲解关于栈的时候提到的,栈是很简单的一种数据结构。但是这些理论的提出却是计算机早期发展领域的重大突破,值得仔细回味。1. 中缀表达式我们在数学中学到的表达式被称为中缀表达式,操作符号在操作数中间,比如2 + 3 * (5 - 1)。对人类而言,这种表达方式显而易见... 阅读全文
posted @ 2014-04-20 03:56 刺猬的温驯 阅读(12032) 评论(0) 推荐(1) 编辑

摘要: 汉诺塔问题是源于印度一个古老传说的益智玩具。要求将圆盘从A柱移动到C柱规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。可以先通过3个盘子的hanoi游戏得出其算法步骤如下:if n=1 , 直接将圆盘移到c棒if n>1 ,将A棒上的n-1个圆盘移到B棒上将A棒上的1个圆盘移到C棒... 阅读全文
posted @ 2014-04-20 01:07 刺猬的温驯 阅读(1770) 评论(0) 推荐(0) 编辑

2014年4月1日 #

摘要: 脚本语言有良好的快速开发,高效率的执行,解释而非编译执行等优点,并且具有与其他语言编写的组件之间强大的通信功能。JavaScript 一直是脚本语言中的领头羊,它是一门具有非常丰富特性的语言。除了浏览器之外,JavaScript 也可以应用在其他场合,比如服务器端程序中。Rhino 是使用 Java 语言实现的 JavaScript 引擎,本文将介绍如何利用 Rhino 来使您的应用程序提供 JavaScript 脚本的支持。引言JavaScript 与浏览器完美配合,使得 JavaScript 成为世界上最流行的语言之一。随着 Web 应用的发展,AJAX 功能实现越来越丰富,JavaScr 阅读全文
posted @ 2014-04-01 00:32 刺猬的温驯 阅读(1611) 评论(0) 推荐(1) 编辑

摘要: 1、下载Rhino安装包,下载地址:官网http://www.mozilla.org/rhino。2、rhino环境配置,把解压出来的js.jar文件加入到系统的环境变量classpath3、在命令提示符窗口下,调用javascript引擎,如:java org.mozilla.javascript.tools.shell.Main,即可进入js shell.4、将javascript代码文件加载到引擎的内存缓冲区中,如:load("C:/ws/job/vqq1.0/WebRoot/js/mergeJsFile.js");5、执行合并操作,会一些相关js文件合并到一个js文 阅读全文
posted @ 2014-04-01 00:30 刺猬的温驯 阅读(14255) 评论(0) 推荐(0) 编辑

2014年3月14日 #

摘要: Template Methodis abehavioral design patternand it’s used to create a method stub and deferring some of the steps of implementation to the subclasses.Template methoddefines the steps to execute an algorithm and it can provide default implementation that might be common for all or some of the subclas 阅读全文
posted @ 2014-03-14 17:11 刺猬的温驯 阅读(529) 评论(0) 推荐(0) 编辑

摘要: Avoid coupling the sender of a request to the receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.The main intention in Chain Of Responsibility is to decouple the origin of the request and 阅读全文
posted @ 2014-03-14 16:58 刺猬的温驯 阅读(679) 评论(0) 推荐(0) 编辑

2014年3月13日 #

摘要: 设计模式之状态模式这篇文章是关于状态模式的,它是一种行为设计模式。你不需要太多理论知识就能理解这个模式的主旨。这篇文章分成几个部分,我会列出状态模式适用于哪些情况,它的优缺点都是什么,还有一些使用的例子。有的时候当一个对象的内部状态发生改变的时候,你需要改变这个对象的行为。状态模式就是用来干这个的。你也可以创建不同的类来代表不同的状态和功能。当然这些类得继承一个抽象类或者实现一个接口。使用状态模式,我们可以通过在在运行时传递给对象不同的状态子类,来改变对象的状态。这是把双刃剑,好处是我们清晰的剥离出了不同的状态子类,坏处是类的数量开始膨胀。我们来看下这个例子。每年有四个季节,春夏秋冬。每个季节 阅读全文
posted @ 2014-03-13 02:04 刺猬的温驯 阅读(351) 评论(0) 推荐(0) 编辑

摘要: 设计模式:装饰者模式装饰者模式是不太常用的一种设计模式。我不太明白为什么它没能流行起来,虽然它用起来很方便。装饰者模式让你能够在可控的范围内往一个对象添加功能。这个在运行时也是靠谱的,甚至在静态类型的语言里也是如此。装饰者模式可以当作子类的一个替代品。子类化在编译期的时候添加新的特性,这个改动影响到原始类的所有实例;装饰者模式能在运行时给指定的对象提供新的行为。它是坚持开闭原则的一个很好的工具。下面的一些例子将让它看到这种模式的魅力:示例1:HTTP认证假设这里有个HTTP客户端 ,它访问的是一个RESTful的服务。服务有一部分是能直接访问的,有一些则需要用户进行登录。当客户端试图访问一个受 阅读全文
posted @ 2014-03-13 02:03 刺猬的温驯 阅读(308) 评论(0) 推荐(0) 编辑

摘要: 有的时候我们需要拦截方法的调用,来执行我们自己的逻辑。如果你不是Java EE CDI规范的拥趸,也不想使用类似aspectj的AOP框架,你还可以用别的简单有效的方式。JDK1.5引入了java.lang.reflect.Proxy,你可以通过它给一个指定的接口创建动态代理。程序每次调用动态代理类的时候,都会调用到代理类的InvocationHandler。因此在框架或者库的代码执行之前,你可以动态控制应该执行什么代码。另外一个JDK代理的实现是字节码框架,比如javassist或者cglib,它们都提供了类似的功能。你可以通过子类来决定你应该调用父类的哪个方法,或者你想要拦截哪个方法。这当 阅读全文
posted @ 2014-03-13 00:05 刺猬的温驯 阅读(428) 评论(0) 推荐(0) 编辑

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 106 下一页