Velocity的一种用法

一般在使用Velocity的时候都是指定一些模板,装载进来然后向VelocityContext中put变量名和方法,最后通过Template的merge方法输出。那天一个同事突然问我,如果提前不知道模板中会有什么变量,还能不能正常运行?这个问题我感觉很有意思,以前没想到过,不过手下还有别的工作,也没时间去看。下午那个同事和我说他已经试验出来了,经过一次merge()后,Template中的所有变量名同时会被加到VelocityContext实例中,虽然没有对应的对象值,但可以通过该VelocityContext实例的getKeys()...

我看Java的interface

Java的interface是什么?我想很多人都会给出很多解释其存在即合理的缘由。 我觉得interface更像是一种类的身份标记。Java是没多继承的,但可以实现多接口。一般对于每个接口都会有处理它的类或接口,而在它们的行为范围以内,所要需要处理的实例即使实现了1k个接口,也仍然只是它们可以处理的那个接口的实现,这就使得对系统的分析更容易专注于某一点,而因为Java类可以实现多接口,又不至于让整个系统变得过度设计。...