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

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

2014年3月14日 #

摘要: 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 刺猬的温驯 阅读(720) 评论(0) 推荐(0)

2014年3月13日 #

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

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

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

2014年3月11日 #

摘要: 算法思路:假如网页正文(过滤html标签后的)有n行,以k行为一行块,总共可构成n-k+1行块;以行号为索引号,以行块长度为索引值,形成行块稀疏矩阵;以上面的稀疏矩阵为基础,找出其骤升骤降点,分割成多个文本块;最后找出最大的文本块作为正文-------------------------------... 阅读全文
posted @ 2014-03-11 23:58 刺猬的温驯 阅读(476) 评论(0) 推荐(0)

2014年2月12日 #

摘要: 在 JSR 133 中 JMM 会有什么改变?活跃了将近三年的 JSR 133,近期发布了关于如何修复 Java 内存模型(Java Memory Model, JMM)的公开建议。在本系列文章的 第 1 部分,专栏作者 Brian Goetz 主要介绍最初的 JMM 中的几个严重缺陷,这些缺陷导致了一些难度高得惊人的概念语义,这些概念原来被认为很简单。这个月,他介绍在新 JMM 中 volatile 和 final 的语义是如何变化的,这些改变使它们的语义符合大多数开发人员的直觉。其中一些改变已经在 JDK 1.4 中出现了,另一些改变则要等到 JDK 1.5。请您在本文的讨论论坛上与作者及 阅读全文
posted @ 2014-02-12 01:41 刺猬的温驯 阅读(411) 评论(0) 推荐(0)

摘要: 活跃了将近三年的 JSR 133,近期发布了关于如何修复 Java 内存模型(Java Memory Model, JMM)的公开建议。原始 JMM 中有几个严重缺陷,这导致了一些难度高得惊人的概念语义,这些概念原来被认为很简单,如 volatile、final 以及 synchronized。在这一期的 Java 理论与实践 中,Brian Goetz 展示了如何加强 volatile 和 final 的语义,以修复 JMM。这些更改有些已经集成在 JDK 1.4 中;而另一些将会包含在 JDK 1.5 中。您可以在本文对应的论坛里与作者及其他读者分享您对本文的看法(您也可以点击文章底部或顶 阅读全文
posted @ 2014-02-12 01:39 刺猬的温驯 阅读(487) 评论(0) 推荐(0)

摘要: 本文章节:1.JMM简介2.堆和栈3.本机内存4.防止内存泄漏1.JMM简介 i.内存模型概述 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多,该语言针对多种异构平台的平台独立性而使用的多线程技术支持也是具有开拓性的一面,有时候在开发Java同步和线程安全要求很严格的程序时,往往容易混淆的一个概念就是内存模型。究竟什么是内存模型?内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,这点没有错,但是编译器、运行库、处理器或者系统.. 阅读全文
posted @ 2014-02-12 01:34 刺猬的温驯 阅读(553) 评论(0) 推荐(0)

2014年2月7日 #

摘要: 类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。类加载器基本概念顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.cl 阅读全文
posted @ 2014-02-07 02:39 刺猬的温驯 阅读(366) 评论(0) 推荐(0)

2014年1月8日 #

该文被密码保护。 阅读全文
posted @ 2014-01-08 21:27 刺猬的温驯 阅读(7) 评论(0) 推荐(0)

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 107 下一页