- 浏览: 190899 次
- 性别:
- 来自: 杭州
最新评论
-
静夜独窗:
你确定你这个回调对应的是模板方法模式,而不是策略模式?
Java回调与模板方法模式 -
jzp12:
while (keySetIterator.hasNext( ...
keySet 与entrySet 遍历HashMap性能差别 -
LyAn_爱踢爱死:
那个Context是哪个包下的。
Java回调与模板方法模式 -
jhy_wind:
请问,你的mtrat插件是windows的吗?我在网上只找到了 ...
Spring中的ThreadPoolTaskExecutor -
ysushiwei:
差别确实不大,基本上可以忽略。我测试的是10万的数据量级别的。 ...
keySet 与entrySet 遍历HashMap性能差别
文章列表
又到天猫双十一,亲,想不想多拿几个红包。用你手机中的微信或其它应用扫一下下面的图片,获取来往地址,下载安装后登录即可获得天猫 红包。最多10000元,让你双十一买到手软。
什么样的代码才是真正好的、整洁的代码?iteye.com上的文章很多:
Grady Booch,《面向对象分析与设计》作者:
引用
• 整洁的代码是简单、直接的;
• 整洁的代码,读起来像是一篇写得很好的散文;
• 整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行。
Dave Thomas,OTI公司创始人,Eclipse战略教父:
引用
• 整洁的代码可以被除了原作者之外的其他开发者阅读和改善;
• 具备单元测试和验收测试;
• 有一个有意义的名字;
• 使用一种方式来做一件事情 ...
一.Java回调与模板方法模式
模板方法模式很常用,其目的是在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。在标准的模板方法模式实现中,主要是使用继承的方式,来让父类在运行期间可以调用到子类的方法。 其实在Java开发中,还有另外一个方法可以实现同样的功能,那就是Java回调技术,通过回调在接口中定义的方法,调用到具体的实现类中的 方法,其本质是利用Java的动态绑定技术,在这种实现中,可以不把实现类写成单独的类,而使用内部类或匿名内部类来实现回调方法。
二.回调方法应用举例
1.应用场景: ...
一.问题描述
在用spring-dm对某bundle进行测试时,报了如下错误。于是便对spring-osgi-test.jar中的几个测试类做了下研究。
java.io.FileNotFoundException: C:\Users\boy\.m2\repository\org\aopalliance\com.springsource.org.aopalliance\1.0.0\com.springsource.org.aopalliance-1.0.0.jar (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native M ...
一.Runtime.addShutdownHook理解
在看别人的代码时,发现其中有这个方法,便顺便梳理一下。
void java.lang.Runtime.addShutdownHook(Thread hook)
该方法用来在jvm中增加一个关闭的钩子。当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才会执行添加的shutdownHook线程。其中shutdownHook是一个已初始化但并不有启动的线程,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以可通过这些钩子在jvm关 ...
maven常用的命令不多,无耐记忆力不佳,工作中生成新项目的机会也不多,每次生成新项目,总要查看maven手册。借些机会,将生成多模块项目的过程记录下来,供下次查阅。
一.创建项目
(1)mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng
(2)生成的pom.xml内容如下,这时需将 <packaging>jar</packaging>改为 <packaging>pom</packaging>,这样这个pom.xml才成为父po ...
一. 概述:
LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。LinkedHashMap实现与HashMap的不同之处在于,LinkedHashMap维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序(insert-order)或者是访问顺序,其中默认的迭代访问顺序就是插入顺序,即可以按插入的顺序遍历元素,这点和HashMap有很大的不同。
二.LinkedHashMap的accessOrder
1.访问顺序
Linke ...
一.Ehcache简介
EhCache是一个纯Java的进程内缓存框架,具有如下特点:
1. 快速简单,非常容易和应用集成。
2.支持多种缓存策略 。
3. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 。
4. 缓 ...
项目中用到了cheduledExecutorService中的一个方法,就顺便把其中几个关重要的方法学习下:1.schedule
schedule(Runnable command, long delay, TimeUnit unit),schedule方法被用来延迟指定时间后执行某个指定任务。
a.代码如下:
public class Job implements Runnable {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
pu ...
XML我们并不陌生,在企业级应用中有很广的用途。具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用。
1.DTD(Documnet Type Definition)
DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属 ...
在项目中使用到了HBASE,我也只是用到了其中一点API,更深层的东西了解不多,还需要以后继续学习和研究.
1.Hbase Shell常用命令
(1)创建表:create '表名称', 'family','列名称1','列名称2'
以student表为例,创建以下表结构:
create 'student','name','fistname','lastname'
(2)查看表结构: describe '表名'
查看student表:
describe 'student'
(3)表中增加记录:put '表名','rowkey','family:column' ...
在观察线上系统的运行情况下,发现在错误日志中有这类错误信息,org.springframework.core.task.TaskRejectedException,于是便对ThreadPoolTaskExecutor类做下梳理.
1.ThreadPoolExecutor
Spring中的ThreadPoolTaskExecutor是借助于JDK并发包中的java.util.concurrent.Thre ...
在阅读spring源码的过程中,想看下spring对xml的解析,发现是用的jaxp相关API实现的.于是想写个小demo,以加深对代码的理解.
1.用JAXP解析XML文档
Java有多种方法可以分析XML文档,你可以选择现在已经成熟的标准技术,比如DOM和SAX,或者你可以选择专用于处理XML的
Java API (Java API for XML Processing,JAXP)。JAXP是一种专门提供XML文档解析的Java接口,下面简单介绍下.
2.用JAXP解析XML的步骤
(1)得到DocumentBuilderFactory解析器的工厂实例
Docum ...
1.概述
Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean,这两种Bean都被容器管理,但工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该FactoryBean的getObject方法所返回的对象。在Spring框架内部,有很多地方有FactoryBean的实现类,它们在很多应用如(Spring的AOP、ORM、事务管理)及与其它第三框架(ehCache)集成时都有体现,下面简单分析FactoryBean的用法。
2.实例
以下SimpleFactoryBean类实现了FactoryBea ...
在使用vm做为视图展示时,Spring框架本身提供了一些定义好的宏让开发者重用.如在spring.vm文件中,如页面表单绑定常用的宏:
#macro( springBind $path )
#if("$!springHtmlEscape" != "")
#set( $status = $springMacroRequestContext.getBindStatus($path, $springHtmlEscape) )
#else
#set( $status = $springMacr ...