自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 一些英文词的标准缩写

有些词可能共用一些缩写。带星号的缩写或词来源于PeopleSoft标准。The following standard word abbreviations should be used in naming records, fields, and SQRs:Word(s)AbbreviationDescription Abbre...

2018-12-04 17:04:35 447

原创 巧用Java匿名类,实现Windows编程中回调函数的效果

以前在编写Win32程序时(如C++、Delphi等),我们常会用到回调函数,来实现“注册/调用”的功能。在Java中,一切都是对象,因此并不存在回调函数这样的概念(除非硬用反射来获取Method对象),在实现“注册/调用”这样的功能时,我们必须借助观察者模式,也就是Listener的概念。// 自定义排序器public interface ICustomSorter<T> {...

2018-11-30 17:07:46 78

原创 shiro-quartz的坑

用过Shiro的朋友应该知道,我们在进行Session有效性验证的时候,常会用到QuartzSessionValidationScheduler这个类,它用了quartz的计划任务,定时触发检查Session是否已失效问题是,现在Quartz已经出到2.2了,shiro-quartz这个包(哪怕是最新版本)所调用的quartz还停留在Quartz 1.x的阶段(Quartz 2.x里面的结构大...

2018-11-30 16:57:38 920

转载 遗传算法资料整理

从入门到掌握(第一篇):http://blog.csdn.net/emiyasstar__/article/details/6938608从入门到掌握(第二篇):http://blog.csdn.net/emiyasstar__/article/details/6938715遗传算法例子:http://blog.csdn.net/b2b160/article/details/4...

2018-11-30 16:54:00 68

原创 乱谈程序自测与玩RPG

这几个月真是非常忙,经常都要加班,原来自己的一些打算都基本没怎么实施,也很久没写过日志了,今天上来随便聊几句。无可否认的是,BUG越早消灭,所需要的代价越低。撇除需求不明确,设计不正确所带来的BUG,最早能发现BUG的时间,理所当然就是自测了。首先,自己必须要端正态度,有些程序员的态度很差,对自己的程序不负责,甚至测都不测就提交测试,这样的人是必须给予BS的。其次,一定要在写程序的时候...

2018-11-29 13:27:40 82 2

原创 Parameter和Argument的区别

之前在用Delphi的时候,凡是涉及到参数的类的时候,几乎别人都是把它命名成Parameter的。在看一些Java和.NET的框架,却发现别人很喜欢把变量命名为Argument。既然它们的中文都是参数,那到底有什么不同呢?谁才更标准呢?今天查了一下别人的英英翻译,才发现,原来Parameter就是我们所熟悉的“形式参数”,而Argument则是“实际参数”。这下完全明白了。...

2018-11-29 13:18:38 249

原创 跨单元访问其它类protected下的属性方法

我们知道,对于DELPHI来说,同一个单元中的类都互为友元,可以互相访问彼此的非public方法和属性,子类也可以访问父类private下的属性方法。虽然从单元内部讲,这似乎不是很符合封装的原则,容易引起初学者的混乱。只有在某些特殊设计(如刘艺举例的那个备忘录模式),或为了让两个类更紧耦合一点时,才应使用此“特性”。不过跨单元后,此“特性”便会消失,一切重新遵循回标准的面向对象原则。然而,是不...

2018-11-29 11:42:51 194

原创 如何让控件在编译时,自动添加所需的单元

在开发控件的时候,常会类似碰到这样的情况:我某个方法或事件的参数的类型,并不在Delphi默认添加的单元中,如果此时直接编译,必然会报错。但是让用户逐个把所需的单元添加回来,又显然太麻烦了,甚至用户也不知道该添加哪些单元。有没有办法让它自动化一点,在编译时,让控件自动给单元添加所需的单元呢?答案是肯定的。 首先引用DesignEditors和DesignIntf单元。然后在控件单元,编写一个...

2018-11-29 11:39:21 102

原创 一种较为高效的TreeList生成算法(Delphi实现)

记得不久前曾写过篇关于TreeList生成的文章。虽然那个算法里,我已经有对叶节点做判断,避免无用的Filter操作。但是非叶节点的Filter操作依然是无可避免的。而Filter又是影响整个生成的最重要因素,因此当带子节点的节点很多时,速度还是要被拖下去的。后来我看到了一种觉得不错的思路,就是用调整节点的方法来形成树。先一次过把所有数据当根节点加进TreeList中,然后再根据它们之间的ID...

2018-11-29 11:35:51 277

原创 在JAVA中如何根据枚举索引值来获取枚举值(范型适用)

我们知道在JAVA编写一个枚举类之后,在调用时系统就会自动给它生成一个values()的数组,通过这个数组就可按索引获取枚举值但是如果我们声明的是一个枚举的范型类呢?我们知道所有的JAVA枚举类,其实都是继承Enum类的,然而Enum只有一个静态的方法valueOf(),用于把字符串转化成枚举值。可是如果想把索引值转化成枚举值呢,怎么办?咋一看,Enum下面似乎真的没有这么一个方法可以让你实现...

2018-11-29 11:15:38 4941

原创 Java函数返回值的“魔术”转型

先看一段代码:public Object get(String name) {  return map.get(name);}其中获取的返回值,可能是字符串,也可能是数字等等。那么调用它的代码,可能就充斥着各种各样的转型:String value1 = (String)get("key1");Integer value1 = (Integer)get("key2");Dat...

2018-11-29 11:06:37 131

原创 MyBatis的UnsupportedOperationException解决方法

在编写一个返回列表类型的ResultMap时,ResultType设置为List.class后报错。原来,即使返回列表,这个ResultType是指列表元素的类型,而不是列表类型。。。太具有欺骗性了。。。...

2018-11-29 11:02:43 655

原创 不通过构造函数来创建类的实例 - Unsafe类的使用

我们知道,当使用反射构造类的实例时,我们常会用到xxx.class.newInstance()这个方法。但是这个方法有一个限制,就是要求类必须有默认的构造函数。但我们在做框架的时候,很难保证要动态构造的类实例,都是有默认构造函数的,那怎么办呢?其实用过C++或者Delphi的都知道,其实构造一个对象,分配内存和调用构造函数实际是两个不同的步骤。我们要创建一个对象,实际只需要分配它的内存就可以了...

2018-11-29 11:00:59 516

原创 Java中static final“常量”的坑

在Java中,其实语言本身并没有“常量”这样的概念。但是我们根据常量的特点(不可修改),经常会使用“static final”关键字,对一个变量进行修饰,以达到不创建类就可直接使用,并且该变量不允许修改的目的,看起来就跟“常量”一样。无论是教科书,还是上网查资料,都会教我们这样写这样的写法在纯class文件发布的环境,没有问题,因为class文件只要一修改就会被eclipse重新编译。但在Ja...

2018-11-29 10:50:44 2534

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