首先很高兴你能看到这段话,至少说明你是个对XBlink感兴趣的人,也希望你能持续的关注XBlink,你会慢慢的发现它是个有趣且实用的小工具,相信你不会失望的(*^_^*)
这样就需要一个XML与java对象间相互转化的工具,即XML序列化反序列化工具
在ME遇到的实际项目中选择了XStreamhttp://xstream.codehaus.org,一个成熟且强大的XML序列化工具。
但后来发现在OSGi环境下,XStream工作不正常,总是报ClassNotFoundException异常。
那个时候,这个问题没能解决,主要是对OSGi使用还不是很熟练,XStream也是刚上手,后来发现是ClassLoader的问题,只要把当前Bundle中的ClassLoader注进去就好了,或者在MANIFEST.MF中加入动态导入的配置语句。当然如果不是因为出了问题,XBlink也就不会出现了(*^_^*)
问题解决不了后,就决定寻找替代方案。
恰巧之前有个项目中做过一些关于使用XML做数据备份的,功能上已经实现了XML序列化与反序列。ME就向领导提议,可以自己实现这个工具,经过简单测试,发现OSGi环境下没有问题,就决定根据项目需求去完善它。
这个工具的最初组成可谓简单之极,只有五个类组成,两个注解,一个序列化类,一个反序列化类,一个写XML文件的类,并且没有使用任何第三方jar包,只需要JDK(个人认为这也算是个优点吧,哈哈)。
这些代码现在看来虽然写的很烂,功能很不齐全,局限性很大,但其核心思想跟核心算法已经出现了,而且非常精简,总共加起来也只有短短的一百行左右。
之后大家看到的XBlink也是以此为基础,对其进行的重新构建。
接口定义上大量的模仿了XStream,但比其更加简单易用(因为是先用了XStream,后面转XBlink,接口相似的话也就不会需要花费更多的精力去学习新的API)。
所以如果你用过XStream的话,当你转到XBlink下,会发现几乎没有难度。
以上就是XBlink的诞生过程了。
如果玩过Dota的话,你一定对Blink这个技能再熟悉不过了。
此技能真可谓居家旅行杀人越货谋财害命之必备佳品呀,哇咔咔咔咔……如果人物本身没有的话那就买把跳刀吧,同样的功能,让你飞来飞去,爽爽爽,怀念6.48的时代,人人跳刀的那份飘逸……
Blink意思是闪烁,即非常闪非常烁,非常快的意思。
所以在某局Dota结束后,力哥被ME风骚的跳刀打动了,接着说,那玩意儿就叫XBlink吧,于是它就叫XBlink了。