千里冰封
JAVA 浓香四溢
posts - 151,comments - 2801,trackbacks - 0
posted @ 2012-10-19 23:51 千里冰封 阅读(852) | 评论 (2)编辑 收藏
posted @ 2009-10-23 21:44 千里冰封 阅读(3316) | 评论 (2)编辑 收藏
     摘要: 刚才在VirtualBox下装起了liveAndroid ,可是在利用wget下载apk包的时候,总是提示Read-only file system,也就是说系统是只读的,什么也写不了。于是在网上到处找了一下,发现解决起来挺容易的。一条命令就可以了  阅读全文
posted @ 2009-08-13 16:38 千里冰封 阅读(29540) | 评论 (4)编辑 收藏
     摘要: 本项目的所有代码已移到google code,此前在sourceforge和java.net项目不再维护了,现在项目的地址为:
http://code.google.com/p/yoyoplayer
在使用过程中有任何问题,都欢迎在此留言。

1.2更新[2009-08-02]
1,全新的歌词搜索方式,使搜索率大大提高。
2,把整个代码全部移到google code上去。以前的sourceforge和java.net已经不再维护了。
  阅读全文
posted @ 2009-08-03 09:10 千里冰封 阅读(12681) | 评论 (66)编辑 收藏
     摘要: 在写JAVAME程序的时候,我们经常需要保存一些数据到手机里面,也经常希望能把对象也保存到手机里面,但是JAVAME里面没有反射机制,也没有java.io.Serializable接口,所以没有序列化的机制,要保存对象的话,就得自己动手了。
在 JAVAME中,程序的数据保存的地方,无外乎两种,一种是把数据保存在RMS里面,这是所有的JAVAME的手机都支持的,还有一种就是把数据保存在手机的文件系统里面,这个不是所有手机都能支持的,只有支持JSR075的手机,才支持把数据保存在文件系统里面,并且如果你的程序没有经过签名的话,你每次保存或者读取,手机都会弹出恼人的提示,是否允许程序访问文件系统。所在我一般都是把数据存在RMS里面,因为读写RMS是安全的,并且也是不需要手机提示的。因为我们的RMS数据是存在一个特殊的地方。但是JAVAME的RMS功能非常底层,为了保存一些数据,我们必须和byte[]打交道,所以我就产生了,在此之前封装一层自己的程序的想法,这样封装好以后,使用起来就非常方便了。只要实现了相关接口,就可以享受到比较易用的方法了。

此框架总共包括了四个  阅读全文
posted @ 2009-03-01 10:13 千里冰封 阅读(4826) | 评论 (3)编辑 收藏
     摘要: 在使用JSF的时候,它的事件驱动模式是一个很好的开发方法,但是由于JSF毕竟现在的版本才1.2,所以对于有些细节上面处理就不一定如人意了,一般来说,当JSF的页面验证有错或者有其它的错误的时候,我们以前输入的值会在渲染页面的时候,恢复回来,也就是说,一个域我们绑定在后台的属性是一个int 值,但是我们前台输入了“abcd”,这个时候,后台在验证阶段就过不去了。然后直接渲染页面,JSF 会把我们输入错误的abcd渲染出来。而不是把我们以前绑定在后台的那个属性的值,取出来,这样也正是我们想要的结果,但是当我们的页面包括了 dataTable的时候,并且DataTable里面的值是可以编辑的时候,当页面上有错误的时候,别的域都会显示刚才我们输入的值,唯有 DataTable里面的输入域的值没有还原为我们刚才输入的值,而是绑定在后台的值,这显然不是我们想要看到的。但是当DataTable有错误的输入的时候,DataTable才会把它的值恢复回来。说了这么说,感觉有点语无伦次了,还是拿代码说话吧。  阅读全文
posted @ 2009-02-28 11:17 千里冰封 阅读(5626) | 评论 (2)编辑 收藏
posted @ 2009-01-12 20:34 千里冰封 阅读(6367) | 评论 (8)编辑 收藏
posted @ 2008-12-03 21:00 千里冰封 阅读(11306) | 评论 (2)编辑 收藏
     摘要: 在hibernate里面调用session的delete方法以后,无论这个被删除的对象有没有被人外键引用到,都可以被删除,并且此时的外键设为 null,也就是说他会自动帮我们去查看他被谁引用到了。然后把引用全部去掉后,再把自己删掉。而在JPA里面,如果调用 EntityManager.remove方法时,传进去的对象,有被外键引用到,则会失败。因为JPA里面的实现就是直接执行delete语句,也不管他有没有被外键引用,此时,当然会出错了。  阅读全文
posted @ 2008-10-21 08:23 千里冰封 阅读(5680) | 评论 (6)编辑 收藏
     摘要: 以前使用JPA的实现是toplink,现在改为hibernate,所以要修改persistence.xml文件,两者的配置有一些不一样,并且在 EE环境下面和SE的环境下面也有不一样,还有一点,那就是当persistence.xml里面有些格式出错的时候,虽然出错的不是我们需要的那个单元,但也会使得整个persistence.xml报废。  阅读全文
posted @ 2008-10-19 18:38 千里冰封 阅读(4823) | 评论 (3)编辑 收藏
     摘要: 在开发的过程中,我们可能需要将生产环境和调试环境分开来,这样才能保证安全性,但是安装两个glassfish又不太可能,因为它太庞大了。另外做为一个工程发布也不太方便,每次都要将工程名改来改去,并且绑定的EJB在同一个域内里是不能同名的。这样的话,要改变的东西实在是太多了。
我们可有以第三种方法,那就是为glassfish添加另外的domain,一个domain跑我们的真实环境,一个domain跑我们的测试环境,因为是同一个glassfish,所以也不会存在从测试到真实环境的移植问题。以后只要改一个domain就可以了。我们在安装glassfish的时候,它已经默认为我们安装了一个domain,那就是domain1.  阅读全文
posted @ 2008-10-14 22:59 千里冰封 阅读(5695) | 评论 (2)编辑 收藏
posted @ 2008-09-18 21:07 千里冰封 阅读(1629) | 评论 (1)编辑 收藏
     摘要: 天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
吾资之昏,不逮人也;吾材之庸,不逮人也;旦旦而学之,久而不怠焉,迄乎成,而亦不知其昏与庸也。吾资之聪,倍人也;吾材之敏,倍人也;屏弃而不用,其与昏与庸无以异也。圣人之道,卒于鲁也传之。然则昏庸聪敏之用,岂有常哉!
蜀之鄙,有二僧:其一贫,其一富。贫者语于富者曰:"吾欲之南海,何如?"
富者曰:"子何恃而往?"
曰:"吾一瓶一钵足矣。"
富者曰:"吾数年来欲买舟而下,犹未能也,子何恃而往!"
越明年,贫者自南海还,以告富者 。富者有惭色。
西蜀之去南海,不知几千里也,僧富者不能至而贫者至焉,人之立志,顾不如蜀鄙之僧哉? 是故聪与敏,可恃而不可恃也;自恃其聪与敏而不学者,自败者也 。昏与庸,可限而不可限也;不自限其昏与庸而力学不倦者,自力者也。  阅读全文
posted @ 2008-08-13 17:40 千里冰封 阅读(1033) | 评论 (0)编辑 收藏
     摘要: 今天使用glassfish部署一个EJB的应用,这个EJB又引用到了第三方库,并且第三方库又使用了本地方法,需要导入两个DLL动态链接库.反反复复部署了很久,终于还是部署成功了.  阅读全文
posted @ 2008-08-07 22:55 千里冰封 阅读(2360) | 评论 (3)编辑 收藏
     摘要: 在写J2ME程序的时候,我们一般都希望在真机运行的时候能有一些调试信息,一般在模拟器上运行的话,可以通过System.out.println来输出一些信息,但是在真机上运行的话,就看不到了,因为手机没有控制台啊.那时候如果想确认一些代码的执行情况,经常会用Alert弹出对话框的形式来实现,但是它也有一个不好的地方,那就是当有多个Alert的时候,后面的Alert会把前面的Alert给覆盖掉.后来想,能不能以日志的形式保存起来呢,然后再查看日志呢.参考了LWUIT的框架的LOG,好像它现在的源码还下载不到,只是查看了它的API,觉得用一个管理类通过静态方法统一来管理 LOG是很好的一种方法,并且还支持自定义的LOG记录器以及自定义的log显示器.  阅读全文
posted @ 2008-08-04 15:24 千里冰封 阅读(3137) | 评论 (7)编辑 收藏
posted @ 2008-08-02 16:17 千里冰封 阅读(6233) | 评论 (8)编辑 收藏
     摘要: 在JAVAME开发的时候,可能会需要浏览手机的文件目录,但是又没有和JAVASE里面的JFileChooser一样的组件可以用,只有自己写一个了,在写的过程中,发现了一些问题,在此与大家分享一下.  阅读全文
posted @ 2008-07-31 23:00 千里冰封 阅读(2095) | 评论 (3)编辑 收藏
     摘要: 1.1.3更新[2008-07-28]

1,完全去除了其它的搜索部分,因为有些网页格式经常会变动,所以一段时间以后可能又搜不到歌词了,现在搜索歌词用的是百度的filetype:lrc 歌曲名-歌手名 的方式进行搜索.
2,更新了在线搜索歌词的时候,只能下载一首的情况,以前点了下载之后,整个界面就不可用了,要重新输入歌曲信息才可用,现在已经不做限制了.
3,修补了当以前下载并匹配的歌词文件不见的时候,会出现既不下载新的歌词也不提示出错,现在当以前的歌词文件不存在时,会自动上网搜索新的歌词.
  阅读全文
posted @ 2008-07-29 13:04 千里冰封 阅读(34796) | 评论 (127)编辑 收藏
posted @ 2008-07-28 20:37 千里冰封 阅读(603) | 评论 (1)编辑 收藏
posted @ 2008-07-27 20:34 千里冰封 阅读(2221) | 评论 (0)编辑 收藏
posted @ 2008-07-27 20:32 千里冰封 阅读(1931) | 评论 (6)编辑 收藏
     摘要: 在软件的“关于”窗口中,我们常会看见软件的版本号后有一些由英文和数字组成的后缀,这就是软件的版本标志。了解这些标志,可以使我们在下载时对软件的类型有个大致的了解。  阅读全文
posted @ 2008-07-04 20:08 千里冰封 阅读(3302) | 评论 (0)编辑 收藏
     摘要: 昨天XP自动更新,提示的时候,我不经意间看到了有一项更新是有关时区的更新,当时也没管什么,因为WINXP的自动更新总不会给电脑带来什么危害吧,谁知道,过了一段时间,正好我的程序要获取电脑的时候,却整整比我电脑上显示的时候少了八个小时.  阅读全文
posted @ 2008-06-09 12:48 千里冰封 阅读(2491) | 评论 (6)编辑 收藏
     摘要: 本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍):  阅读全文
posted @ 2008-05-31 17:32 千里冰封 阅读(3409) | 评论 (0)编辑 收藏
     摘要: 上一篇大概说了一下WEB工程里面要添加的配置文件以及要引用到的库文件,现在来对EJB工程进行一些改造,让它可以成为SEAM工程的一部份.  阅读全文
posted @ 2008-05-07 14:03 千里冰封 阅读(2819) | 评论 (2)编辑 收藏
     摘要: Seam是一个挺不错的框架,但是用netbeans来开发它,却有点难度,因为目前netbeans没有seam插件,不像eclipse有jboss 提供的官方插件,但是插件是死的,人是活的,它要能跑起起来,一定有它的配置,下面我们就用netbeans做为IDE来开发一个seam的应用.  阅读全文
posted @ 2008-05-06 15:53 千里冰封 阅读(4044) | 评论 (5)编辑 收藏
     摘要: 美国中央情报局一直是推行对华战略的急先锋。早在1951年,在中央情报局的极其机密的“行事手册”中,就详细撰写了对华战略的一系列条目,以后随着中美关系的不断变化,而不断修改,至今形成十条,号称“十条诫令”。其内容如下:   阅读全文
posted @ 2008-04-19 22:37 千里冰封 阅读(3114) | 评论 (0)编辑 收藏
     摘要: Java 和C 依然占据榜首一二名的位置,不过C 的指数同比去年略有下降。(Visual) Basic上升到第3名,C++ 下降到第5名,Ruby 和Delphi 则保持继续上升的良好态势。详情见下图:  阅读全文
posted @ 2008-04-12 15:08 千里冰封 阅读(2648) | 评论 (11)编辑 收藏
     摘要: 1.1.2更新[2008-04-03]
1,更改了精品网页的歌词搜索部分,因为精品网页的内容发生了改变,如果不更改对应的搜索方式的话
将不能从精品网页上查询到歌词,无论怎么样,都对精品网页表示感谢,它的网址是:http://www.jpwy.net/gc
2,修正了程序在某些LINUX版本上的系统上打开会抛出异常而影响程序使用的BUG.
3,在歌词秀窗口去掉了作者的名字:),此前的不便,望各位用户原谅.
4,在使用过程中,有任何的建议,可以加作者的QQ:24325142,注明yoyoplayer,或者
登录http://www.blogjava.net/hadeslee上留言,此博客为作者的博客,再此感谢大家对yoyoplayer的支持.  阅读全文
posted @ 2008-04-03 16:33 千里冰封 阅读(28550) | 评论 (88)编辑 收藏
     摘要: 歌曲介绍:

这首歌我清楚得记得是写于我大三暑假的时候,那天晚上正好在下雨,听着外面的雨声,想着自己那段时间经历过的一些事情,在酒吧唱歌的辛苦,人情的一些不如意,混在一起就变成了这首歌,并且词曲也是同时写好的,记得那时坐在房间里,抱着一把电吉他,一个BOSS效果器,弹着弹着,竟不时有泪涌出来......

  阅读全文
posted @ 2008-03-24 16:54 千里冰封 阅读(2645) | 评论 (4)编辑 收藏
     摘要: 歌曲介绍:

确切的说,这首歌是完全的一首词而已,我写歌有时候挺奇怪的,有时候写出词后立马就能把曲谱出来,有时候一首词当时写完后,由于种种原因,当时的心境就淡漠了,以后可能就很难找到当时的那种感觉了,所以曲就一直留到现在都没有写.其实做人何尝不是如此呢,有时候我们年轻时认为天大的问题,但当我们慢慢长大之后,以我们现在的心态去分析当时的问题,也会觉得,如此而已......  阅读全文
posted @ 2008-03-17 13:19 千里冰封 阅读(1847) | 评论 (3)编辑 收藏
     摘要: 因为工作需要,要架设一个Subversion和Apache一起工作的源码管理器.以便协同工作.于是网上找了一些资料,在找资料的过程中,也走了一些弯路,于是自己整理了一下安装的过程和一些注意的事项,希望能对大家有些帮助.  阅读全文
posted @ 2008-03-12 18:59 千里冰封 阅读(35672) | 评论 (40)编辑 收藏
     摘要: 加上上一次NetBeans IDE 5.5获此殊荣,NetBeans IDE已经连续两次获得Jolt“最佳开发环境”大奖。
  阅读全文
posted @ 2008-03-11 22:45 千里冰封 阅读(3403) | 评论 (6)编辑 收藏
     摘要: 注: TIOBE 世界编程语言排行榜展现了编程语言的流行趋势。每个月,都有最新的数据被更新。这份排行榜的数据取样来源于互联网上富有经验的程序员、商业应用、著名的搜索引擎(诸如谷歌、 MSN 、雅虎)的关键字排名、 Alexa 上的排名等。请注意这个排行榜只是反映了某个编程语言的热门程度 ,这并不代表它是一个最好的编程语言或是可以写出某些令人称赞的好程序。  阅读全文
posted @ 2008-03-01 16:25 千里冰封 阅读(6675) | 评论 (9)编辑 收藏
     摘要: 歌曲介绍:

这首歌是写于大三的时候,是写给我的女朋友的,和她在一起,我们经历了很多,一起历尽了艰辛,在我很潦倒的时候,对我不离不弃,很感谢她在我的生命中给了我一段如此难忘的时光.  阅读全文
posted @ 2008-02-27 12:06 千里冰封 阅读(1535) | 评论 (5)编辑 收藏
     摘要: 歌曲介绍:

这首歌是我真正意义上的第一首歌.要从大二刚开始的时候说起,那个时候我是校记者团的工作人员,那个时候正好是新生在军训,我们记者团正好也要招新,我负责那几天的招新,这时,有一个女孩来报名记者团,她有银铃般的声音,当时就对她产生了些许好感.后来,做为吉他协会的会长的我,也要忙着自己协会的招新,她也来报名了,呵呵,也许这就是缘吧,后来才知道她就是和我一个学院的,并且和我一个专业,都是学化工的.以后我经常我教她弹吉他,我们一起去校音乐室唱歌.那年冬天,我为她写下了这首歌,第一时间弹给她听,后来这首歌编曲成乐队版本,那段时间经常演出这首歌曲....
蓦然回首,六年过去,往事不胜唏嘘,如今的她,又在哪里呢,希望她能过得很好  阅读全文
posted @ 2008-02-26 11:03 千里冰封 阅读(1849) | 评论 (2)编辑 收藏
     摘要: 歌曲介绍:

这首歌是我昨天翻我的写歌本时,偶然发现的,我也不太确却这首歌写于何时,现在想来大概是读大二的时候吧,因为一直没有发现这首歌(或者说没有重视这首歌),所以它一直都没有曲,也就是一首歌词而已.当时的心境我可能已经不太记得了,还好,这首歌如今还静静地躺在我的歌本里.....  阅读全文
posted @ 2008-02-23 11:47 千里冰封 阅读(1379) | 评论 (0)编辑 收藏
posted @ 2008-01-31 23:38 千里冰封 阅读(566) | 评论 (4)编辑 收藏
posted @ 2008-01-30 22:17 千里冰封 阅读(3484) | 评论 (14)编辑 收藏
     摘要: 歌曲介绍:
这首歌是写于我大学毕业的时候,回首我的大学四年生活,有感而发的,临近毕业的时候,看着同学们考研的考研,找到工作的找到了工作,而我第一次发现我的未来竟是如此的迷茫,一时间,竟然不知道我该做什么,就这样,我糊里糊涂的就大学毕业了,然后因为本专业一直都不喜欢,可是除了会弹吉他我竟什么都不会,那时候才发现自己是多么的无助,于是只能选择跑业务的工作,一跑就是一年多,后来自学编程,然后就走上了程序员之路...  阅读全文
posted @ 2008-01-25 12:17 千里冰封 阅读(2745) | 评论 (14)编辑 收藏
     摘要: 歌曲介绍
这首歌是写于2003年春天,那年为了参加冰力先锋的比赛而写的一首歌曲,后来在我们学校的演出中,也经常唱过此歌.我记得最初的成型是住在慧苑的6栋的时候,我和我的朋友半夜跑到楼顶,拿把吉他,就这样弹出来了,歌词也几经修改,主要是为了配曲而修改的,因为录音设备不太好,效果还得改进...  阅读全文
posted @ 2008-01-23 13:27 千里冰封 阅读(1923) | 评论 (4)编辑 收藏
     摘要: 歌名:不再遥远
歌曲介绍:
这首歌记得是写于2003年的暑假,那一年因为参加冰力先锋的乐队选拔赛,将要于7月底参加在武汉的华中区总决赛,那几天,天天排练,记得那时天气真的很热,我们乐队的朋友一起度过了那一段难忘的时光,并且那个时候我们也很落魄,穷得连饭都没有吃,只能买绿豆熬汤喝,现在想起当时的那段时光,忽然会觉得很温暖....
这首歌是一首反战的歌曲,不是为了什么,也不是为了什么大流,而是发自内心的一种感觉写出了这首歌,这首歌的旋律,是我自己的作品中自己比较喜欢的一首...  阅读全文
posted @ 2008-01-22 14:17 千里冰封 阅读(2049) | 评论 (5)编辑 收藏
     摘要: 前几天通过了,于是把代码通过svn上传到了sf的项目下,大家可以通过如下网址访问yoyoplayer的项目:
http://sourceforge.net/projects/yoyoplayer

SVN的地址是:https://yoyoplayer.svn.sourceforge.net/svnroot/yoyoplayer

大家可以通过subversion签出代码,也可以在项目页下面下载代码,也欢迎大家参与到项目中来.有需要参与的朋友请留下你们在sf上面的ID,以及自己要做的方面.  阅读全文
posted @ 2008-01-17 13:54 千里冰封 阅读(3971) | 评论 (22)编辑 收藏
     摘要: 在YOYOPlayer的设置里面,开始每个单独的设置用的是JtabbedPane来分隔,后来觉得不太好看,于是就模仿千千静听的设置一样,做了一个ListBar的效果,把所有设置选项的标头放在左边,并加了一些效果,这样看上去更漂亮一些,呵呵.  阅读全文
posted @ 2008-01-16 13:12 千里冰封 阅读(2938) | 评论 (2)编辑 收藏
     摘要: 在做了歌词同步显示以后,还必须得做歌词搜索的动作,搜索分两种,一种是在搜索本地的特定目录,当然这些目录是可以设置的,还有一种是当本地搜索不到的时候,再到网络上去进行进一步的搜索,当然这些搜索都是起了一个新的线程在做的,否则就会卡到主线程播不出音乐来了.

说到歌词的搜索,就得说说什么样的歌词才叫匹配了呢,这个时候,就得提起前面写的标签读取器了,第一步是从音频文件里面读取标签,根据标签里的歌手名和歌曲名去本地搜索完全匹配的歌词文件,如果没有,则第二步,根据标签里面的歌曲名去本地搜索匹配的歌词文件,如果这一步还没有找到,就可能是确实没有这首歌的歌词,也可能是这首歌的标签是不合法的或者标签是错的,第三步就取歌曲的文件名做为歌曲名再去搜索一遍,如果还没有搜到,则说明本地没有了,这个时候再去网络上重复以上三个步骤,如果还没有搜索,那就直接显示歌词名在歌词面板了.
  阅读全文
posted @ 2008-01-15 13:22 千里冰封 阅读(2960) | 评论 (3)编辑 收藏
     摘要: 相信是男人系列的游戏大家都很熟悉,于是我把它移植到手机上来了,坚持20秒的游戏做得差不多了,但是下100层的还有些细节没有处理好,其实用JAVA写手机游戏还是挺方便的,这得益于JAVA优秀的架构和实现,虽然不同的手机型号表现可能会不太一样,但是只要不用到专用的API或者用底层的画图,一般来说移植是没有问题 ,本游戏用到了midp2.0里面的game包,因为用它来组织精灵以及图层非常方便中,可以抽象出许多的东西.本游戏是在MOTO E680G上测试通过,规范是MIDP2.0以及CLDC1.1  阅读全文
posted @ 2008-01-14 12:39 千里冰封 阅读(4293) | 评论 (10)编辑 收藏
     摘要: 在最开始写netbeans插件的时候,就已经开始在想如何实现同步的歌词显示,并且当时也差不多实现了大概的框架,所以YOYOPlayer的歌词显示模块基本上和netbeans插件的歌词显示模块是一样的,只不过一些细节做了一些改进,比如每行歌词的渐入渐出,以后单行歌词实现的卡拉OK效果等等,并把一些设置集成到了整个YOYOPlayer的设置里面去了.
  阅读全文
posted @ 2008-01-10 21:52 千里冰封 阅读(7733) | 评论 (15)编辑 收藏
     摘要: 在写netbeans的音乐插件的时候,为了读取ID3v1标签,曾经写了一个ID3v1格式的标签读写器,但是ID3v1格式的扩展性却不太好,这个时候APEv2格式就很适合了,首先它的编码是很标准,都是统一UTF-8编码,不会出现乱码的问题,其次它的扩展性很好,并不像ID3v1一样限制128个字节.但是找了很多都没有找到APEv2的标签读写器,没办法,只能自己动手写了,在写之前必须了解APEv2格式标签的文件结构,具体的文件结构可以参见http://wiki.hydrogenaudio.org/index.php?title=APEv2_specification,刚看到这个网页的时候,看得云里雾里的,看了好久才明白它的结构.
  阅读全文
posted @ 2008-01-09 23:42 千里冰封 阅读(5531) | 评论 (5)编辑 收藏
     摘要: 在刚开始编码的时候,不知道从何下手,由于写YOYOPlayer之前用JMF写过一个类似的播放器,但是由于要安装JMF并且还需要另外安装MP3 plugin,总体来说不太方便,并且JMF的项目也是Sun的一个已经停止维护的项目了,并且用JMF有一个非常不好的地方,那就是经常会在播放的时候crack掉,我以前用JMF写的netbeans音乐插件就会出现这种问题,有时候音乐播得好好的,就突然netbeans退出了,基于这些考虑,所以放弃了使用JMF做为音乐播放框架的想法.  阅读全文
posted @ 2008-01-08 20:11 千里冰封 阅读(7601) | 评论 (12)编辑 收藏
     摘要: 从最初的一无所有,到后来的丰富,都是一个过程,也许有些人能经历这些过程,有些人经历不了这过程,但是我们都可以体会这个过程.在写YOYOPlayer 的一个多月的时间里,经历过的事情,写下来算是一个纪念吧.也不至于自己在多年以后的某天回首往事的时候会恍然若失.  阅读全文
posted @ 2008-01-07 19:49 千里冰封 阅读(8986) | 评论 (14)编辑 收藏
     摘要: YOYOPlayer1.0版推出之后,得到了一些朋友的认可和反馈,经过这段时间的修改,现在推出YOYOPlayer1.1版.相对于1.0版,改进的地方如下:  阅读全文
posted @ 2007-12-31 07:54 千里冰封 阅读(63204) | 评论 (114)编辑 收藏
     摘要: 从最初的写第一个简单的Netbeans音乐插件,到现在的YOYOPlayer,中间经历了一些时间.感谢我的女朋友对我的帮助,所以此播放器取名为 YOYOPlayer,因为YOYO是她的名字,这个播放器的所有界面的图片也都是她做的.她刚刚学会PS,所以界面方面可能还不太完美,但至少也是一个尝试了,欢迎大家试用,并提出宝贵意见.
YOYOPlayer的主要用处还是在linux下的使用,虽然我大部份时间是在windows下面编写的,因为WINDOWS下的音乐播放软件已经很完美了,只不过用JAVA写的比较少而已,并且这个版本是完全的JAVA的版本,只要电脑装了JAVA就可以跑了,不需要再另外下载JMF的框架了,因为没有用到JMF里面的东西.在LINUX下面播放器好像都不太好用,特别是播放音乐的,要么就会出现乱码的问题,要么就会没有歌词同步的功能,而 YOYOPlayer经过我在ubuntu7.10下面的初步测试,并没有发现乱码问题,因为我默认是使用GBK的编码读取标签的,而LINUX默认的编码是UTF-8.  阅读全文
posted @ 2007-12-17 10:27 千里冰封 阅读(15772) | 评论 (64)编辑 收藏
posted @ 2007-12-14 22:55 千里冰封 阅读(1473) | 评论 (0)编辑 收藏
posted @ 2007-12-13 11:57 千里冰封 阅读(1814) | 评论 (6)编辑 收藏
     摘要: 从最初写Netbeans的音乐插件,到现在写成JAVA的一个简单的音乐播放器,是在使用了插件版的之后,为了更方便与大家分享再写的,因为毕竟不是每个人都在用NB,虽然我个人很希望大家都用NB做为JAVA IDE,呵呵.运行截图如下:  阅读全文
posted @ 2007-12-07 16:53 千里冰封 阅读(6236) | 评论 (19)编辑 收藏
posted @ 2007-12-06 10:13 千里冰封 阅读(1321) | 评论 (3)编辑 收藏
     摘要: 经过长达半年多的等待,Netbeans6.0终于正式发布了.太高兴了

今天一直在刷新Netbeans的官方网站,首页现在也变了,首推6.0的下载了

大家赶快去试用吧.下载地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/final/bundles/netbeans-6.0-windows.exe  阅读全文
posted @ 2007-12-03 17:46 千里冰封 阅读(4004) | 评论 (31)编辑 收藏
     摘要: 前几天写了一个NB的音乐插件,后来想增加一些功能,比如同步显示歌词,最好能自动搜索歌词:),经过这几天的修修改改,终于可以初步实现这些功能了。
目前能实现的功能有:
1,自动保存当前配置。
2,同步显示歌词功能。
3,ID3V1标签编辑。
4,歌曲进度。
5,校正歌词进度。
6,拖放。  阅读全文
posted @ 2007-11-28 08:48 千里冰封 阅读(4145) | 评论 (14)编辑 收藏
     摘要: 前几天写了一个NB的音乐插件,自己用了一下,还是挺方便的,后来想想,如果能把歌词也显示出来那就更好了。呵呵,怎么办呢,只有自己写了,在显示歌词之前,必须要知道目前正在播放的MP3是什么内容啊,一点可以从文件名得到一些信息,还有一点就是从MP3文件里面得到这个MP3的信息,我这里实现的 ID3V1的格式标签,APEV2也想实现,无奈找不到相关的资料,不知道APEV2的数据结构是怎么样的,所以也无从分析。目前已经写完了ID3V1格式标签的读取和写入。并且NB的音乐插件也实现了本地歌词的搜索,先把ID3V1的文件结构的类文件帖一下,大家一起分享。  阅读全文
posted @ 2007-11-27 08:51 千里冰封 阅读(5126) | 评论 (30)编辑 收藏
     摘要: 在写程序的时候,有时候需要静下心来,如果环境比较嘈杂的话,就可以听听歌了,由于一直以来都是用netbeans写程序的,而NB又可以开发插件,于是就想到在NB上开发一个播放音乐的插件,那岂不是更好,一打开NB就可以听音乐了,也不用打开别的什么播放器了,并且即使老板看到也无所谓,我只是打开了一个IDE在那里写程序而已.好了,先帖截图来看一看吧:  阅读全文
posted @ 2007-11-26 08:56 千里冰封 阅读(3670) | 评论 (8)编辑 收藏
     摘要: 一、验证类
1、数字验证内
1.1 整数
1.2 大于0的整数 (用于传来的ID的验证)
1.3 负整数的验证
1.4 整数不能大于iMax
1.5 整数不能小于iMin
2、时间类
2.1 短时间,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 长时间,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-Z或  阅读全文
posted @ 2007-11-24 19:01 千里冰封 阅读(12080) | 评论 (4)编辑 收藏
     摘要: 大家赶快去下载试用吧。期待12月3日的正式版的发布。。。

RC2的下载地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc2/bundles/netbeans-6.0rc2-windows.exe  阅读全文
posted @ 2007-11-22 21:30 千里冰封 阅读(2014) | 评论 (5)编辑 收藏
     摘要: 在网页里面,我们经常要用到一些比较小而实用的效果,下面就收集了一些大家都喜欢用的一些效果  阅读全文
posted @ 2007-11-20 09:17 千里冰封 阅读(9191) | 评论 (7)编辑 收藏
     摘要: Java SE 6 引入了对 Java Specification Request(JSR)223 的支持,JSR 223 旨在定义一个统一的规范,使得 Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在 Java 平台上调用各种脚本语言的目的。javax.script 包定义了这些接口,即 Java 脚本编程 API。Java 脚本 API 的目标与 Apache 项目 Bean Script Framework(BSF)类似,通过它 Java 应用程序就能通过虚拟机调用各种脚本,同时,脚本语言也能访问应用程序中的 Java 对象和方法。Java 脚本 API 是连通 Java 平台和脚本语言的桥梁。首先,通过它为数众多的现有 Java 库就能被各种脚本语言所利用,节省了开发成本缩短了开发周期;其次,可以把一些复杂异变的业务逻辑交给脚本语言处理,这又大大提高了开发效率。  阅读全文
posted @ 2007-11-19 08:57 千里冰封 阅读(2593) | 评论 (2)编辑 收藏
     摘要: Java SE 6 做为一个开发平台,针对不同的应用开发需求,提供了各种各样的技术框架。XML 处理框架是 JDK 6 的重要组成部分之一。它为应用程序开发人员提供了一个统一的 XML 处理 API。这种框架结构有两个作用:一方面,开发人员透过这些框架,可以透明的替换不同厂商提供的 XML 处理服务;另一方面,服务提供商可以透过这些框架,将自己的产品插入到 JDK 中。这种框架一般被称为 Service Provider 机制。Java SE 6 的 XML 处理功能分为两个部分:XML 处理(JAXP)和 XML 绑定(JAXB)。在 XML 处理框架之上,Java SE 6 结合了注释(Annotation)技术,提供了强大的针对 Web 服务的支持。

本文首先介绍 Service Provider 机制及其在 XML 框架中的应用。然后介绍 Java SE 6 中 XML 框架的功能,包括 SAX,StAX,DOM 三种机制。最后介绍在此基础之上构建 Web 服务的技术。JAXB 和 Web 服务的开发关系紧密,故 JAXB 的介绍也放在 Web 服务部分介绍。  阅读全文
posted @ 2007-11-17 08:52 千里冰封 阅读(2504) | 评论 (2)编辑 收藏
     摘要: 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何使用 Java 语言高效、可靠、简洁地访问数据库一直是程序员们津津乐道的话题。新发布的 Java SE 6 也在这方面更上层楼,为编程人员提供了许多好用的新特性。其中最显著的,莫过于 Java SE 6 拥有了一个内嵌的 100% 用 Java 语言编写的数据库系统。并且,Java 6 开始支持 JDBC 4.0 的一系列新功能和属性。这样,Java SE 在对持久数据的访问上就显得更为易用和强大了。  阅读全文
posted @ 2007-11-16 08:51 千里冰封 阅读(2650) | 评论 (6)编辑 收藏
     摘要: 在写程序的过程中,有些时候需要对一些数据进行加密或者编码,下面就是一些JS编码和加密的整理  阅读全文
posted @ 2007-11-16 08:50 千里冰封 阅读(15214) | 评论 (9)编辑 收藏
     摘要: 今天上NB的官方网站首页已经看到正式的RC1版已经出来了,终于盼到了,希望尽快能看到正式版的出现

下载地址如下:

http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc1/bundles/netbeans-6.0rc1-windows.exe

大家赶快去体验吧  阅读全文
posted @ 2007-11-15 09:04 千里冰封 阅读(2090) | 评论 (13)编辑 收藏
     摘要: 新 API 功能简介

JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中。在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤:

1. 分析 JSP 代码;
2. 生成 Java 代码;
3. 将 Java 代码写入存储器;
4. 启动另外一个进程并运行编译器编译 Java 代码;
5. 将类文件写入存储器;
6. 服务器读入类文件并运行;

  阅读全文
posted @ 2007-11-15 08:53 千里冰封 阅读(1565) | 评论 (0)编辑 收藏
     摘要: 前言

在 Java 程序的运行过程中,对 JVM 和系统的监测一直是 Java 开发人员在开发过程所需要的。一直以来,Java 开发人员必须通过一些底层的 JVM API,比如 JVMPI 和 JVMTI 等,才能监测 Java 程序运行过程中的 JVM 和系统的一系列情况,这种方式一直以来被人所诟病,因为这需要大量的 C 程序和 JNI 调用,开发效率十分低下。于是出现了各种不同的专门做资源管理的程序包。为了解决这个问题,Sun 公司也在其 Java SE 5 版本中,正式提出了 Java 管理扩展(Java Management Extensions,JMX)用来管理检测 Java 程序(同时 JMX 也在 J2EE 1.4 中被发布)。

JMX 的提出,让 JDK 中开发自检测程序成为可能,也提供了大量轻量级的检测 JVM 和运行中对象/线程的方式,从而提高了 Java 语言自己的管理监测能力。
  阅读全文
posted @ 2007-11-15 08:52 千里冰封 阅读(1468) | 评论 (2)编辑 收藏
posted @ 2007-11-14 13:48 千里冰封 阅读(582) | 评论 (1)编辑 收藏
posted @ 2007-11-14 13:45 千里冰封 阅读(591) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:44 千里冰封 阅读(717) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:44 千里冰封 阅读(725) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:43 千里冰封 阅读(789) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:43 千里冰封 阅读(704) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:42 千里冰封 阅读(796) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:42 千里冰封 阅读(763) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:41 千里冰封 阅读(815) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:41 千里冰封 阅读(768) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:40 千里冰封 阅读(773) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:40 千里冰封 阅读(758) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:40 千里冰封 阅读(777) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:39 千里冰封 阅读(554) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:39 千里冰封 阅读(716) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:38 千里冰封 阅读(902) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:38 千里冰封 阅读(980) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:37 千里冰封 阅读(923) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:37 千里冰封 阅读(913) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:37 千里冰封 阅读(914) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:36 千里冰封 阅读(956) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:36 千里冰封 阅读(912) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:31 千里冰封 阅读(979) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:30 千里冰封 阅读(1113) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:30 千里冰封 阅读(1117) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:29 千里冰封 阅读(1110) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:29 千里冰封 阅读(1110) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:28 千里冰封 阅读(1100) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:28 千里冰封 阅读(1082) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:27 千里冰封 阅读(523) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:27 千里冰封 阅读(1114) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:26 千里冰封 阅读(1585) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:26 千里冰封 阅读(3113) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:25 千里冰封 阅读(88) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:25 千里冰封 阅读(101) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:24 千里冰封 阅读(25762) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:24 千里冰封 阅读(1063) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:23 千里冰封 阅读(2121) | 评论 (0)编辑 收藏
posted @ 2007-11-14 13:22 千里冰封 阅读(12806) | 评论 (0)编辑 收藏
     摘要: 概述

Java 语言从诞生的那天起,就非常注重网络编程方面的应用。随着互联网应用的飞速发展,Java 的基础类库也不断地对网络相关的 API 进行加强和扩展。在 Java SE 6 当中,围绕着 HTTP 协议出现了很多实用的新特性:NTLM 认证提供了一种 Window 平台下较为安全的认证机制;JDK 当中提供了一个轻量级的 HTTP 服务器;提供了较为完善的 HTTP Cookie 管理功能;更为实用的 NetworkInterface;DNS 域名的国际化支持等等。
  阅读全文
posted @ 2007-11-14 09:12 千里冰封 阅读(1557) | 评论 (0)编辑 收藏
     摘要: Instrumentation 简介

利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了。
  阅读全文
posted @ 2007-11-13 10:16 千里冰封 阅读(1353) | 评论 (0)编辑 收藏
     摘要: 三个大类ClientView,ClientModel,ClientControl就讲到这里.登录窗口以及播放声音的实现,还有公共包面的一些共用类,以及枚举的各种实现,各位可以自行下载源代码查看,欢迎大家参与讨论。本工程是用NetBeans开发的,由于工程里面用了很多声音以及图片,所以工程比较大,有二十多M,所以上传不了,有需要的朋友,可以在下面留言,我会用Email的形式发给大家.  阅读全文
posted @ 2007-11-13 09:07 千里冰封 阅读(3033) | 评论 (112)编辑 收藏
     摘要: 下面我们再来看看ClientControl类,这个类代码量是最多的,这个类负责整体的游戏流程和游戏逻辑,由于写这个游戏的时候并没有很好的思考,所以代码可能会比较乱:(,希望大家不要介意  阅读全文
posted @ 2007-11-13 09:06 千里冰封 阅读(2536) | 评论 (0)编辑 收藏
     摘要: 下面我们再来看看ClientModel类,这个类负责保存游戏中的一些数据,这些数据可能需要Control类去更改然后需要由View类去呈现的,说白了,它就是一个包含有很多setter/getter的类.它的代码如下:  阅读全文
posted @ 2007-11-12 09:31 千里冰封 阅读(1408) | 评论 (0)编辑 收藏
     摘要: 3. 游戏的开发与编码

在我们开发这个游戏之前,我们先讲一个这个游戏的实现所采用的方法,那就是经典的MVC模式,因为在开发游戏的时候,结构很重要,必须要理清楚每一块负责什么,每一个类负责什么,而MVC模式正好就是解决这种问题的很好的方案,我们可以把游戏的运行流程交由一个类去统一调度,游戏的呈现也就是绘图用专门一个类去负责,而绘图所需的数据可以从一个模型类里面去取,控制的类负责更改模型里面的数据并调用视图类去更新当前的视频,这样整个游戏的流程就很清晰明了。所以我们设计了如下几个类,它们之间互相交互,形成整个游戏的框架。
  阅读全文
posted @ 2007-11-10 08:57 千里冰封 阅读(1923) | 评论 (5)编辑 收藏
     摘要: 1. JAVA2D简介

SUN的API对JAVA2D的描述是这样的:

Java 2D API(Application Programming Interface,应用程序接口)是一套用于高级图形和图像处理的类。它将艺术线条、文本和图像囊括在一个综合模型中。该 API 提供了对图像复合和 alpha 通道图像的广泛支持,同时也提供了一套进行精确颜色空间定义和转换的类,以及大量面向显示的图像操作符。这些类以 java.awt 和 java.awt.image 包附件的形式提供(而不是单独的包)。  阅读全文
posted @ 2007-11-09 09:11 千里冰封 阅读(1549) | 评论 (2)编辑 收藏
     摘要: 一提起JAVA,可能大多数人都会想起如下几个词汇。运行慢,解释执行,绝对不适合桌面开发。更不要说开发游戏了。其实这些都是对JAVA的偏见,JAVA刚出来的时候你这样说还是可以的,但是现在的JAVA已经是今非昔比了。  阅读全文
posted @ 2007-11-09 09:10 千里冰封 阅读(1924) | 评论 (11)编辑 收藏
     摘要: 做文件传输的时候,为了保证文件是合法的有效的,经常会对文件做MD5校验,以确保和原始的文件是一样的.并且做断点续传的时候这一点也是挺重要的,其实 JAVA处理这方面也挺不错的,可是我搜了半天,也没有搜到一个用JAVA写的文件MD5生成程序,有的也只是命令行模式下的,没有一个GUI模式的,所以就写了一个GUI的,方便使用,只用了两个类,一个是工具类,除了生成MD5外还可以生成SHA码,大家可以通过改源文件达到这一点,并且文件支持拖放,可以把要生成的文件拖到文本区,就可以显示这个文件的信息了.  阅读全文
posted @ 2007-11-08 10:11 千里冰封 阅读(7011) | 评论 (8)编辑 收藏
     摘要: 早就听说JAVA的NIO比IO牛一些,可是牛在哪里一直都不知道,并且NIO比IO难学,搞了半天终于用NIO弄了两个程序,一个是服务器端,一个是客户端,都是用NIO连接的,代码如下,注释比较少,输出比较多:)  阅读全文
posted @ 2007-11-05 10:50 千里冰封 阅读(16564) | 评论 (8)编辑 收藏
     摘要: 今天无意看到一个帖子,里面讨论JAVA能不能写操作系统,才发现有确实有JAVA写的操作系统。叫JNode.它的官方网站是
http://www.jnode.org/node/573,我现在正在下载它的文件,先安装试试看。
  阅读全文
posted @ 2007-10-30 15:50 千里冰封 阅读(2535) | 评论 (2)编辑 收藏
     摘要: 一些话可以让我们学到很多东西,  阅读全文
posted @ 2007-10-29 10:12 千里冰封 阅读(855) | 评论 (3)编辑 收藏
     摘要: 博客更新不如以前勤了,因为最近比较忙,忙的东西不好整理成一篇一篇的文字,等以后能写的时候再写吧.我喜欢写这些东西,是因为人为以前留下些什么对以后总是有帮助的  阅读全文
posted @ 2007-10-29 09:16 千里冰封 阅读(397) | 评论 (1)编辑 收藏
     摘要: NetBeans IDE 6.0 Beta 2 Information
The NetBeans IDE is a modular, standards-based, integrated development environment (IDE) written in the Java programming language. The NetBeans project consists of an open source IDE and an application platform, which can be used as a generic framework to build any kind of application.

The focus of NetBeans IDE 6.0 is improved developer productivity through a smarter, faster editor, and the integration of all NetBeans products into one IDE. Pleas  阅读全文
posted @ 2007-10-26 10:17 千里冰封 阅读(1001) | 评论 (2)编辑 收藏
     摘要: 在SUN的J3D里面并没有提供对3DS格式的文件的导入。但是3DS格式的文件又很常见。为此,我们需要借用第三方的工具,来把3DS里面的模型导入到程序中。
我们用的是Loader3ds这个工具,可以点击这里下载

我们还是看一个简单的例子吧  阅读全文
posted @ 2007-10-25 16:15 千里冰封 阅读(2401) | 评论 (0)编辑 收藏
     摘要: 前几天写了一个如何写JNI的文章,说的是调用本地方法,昨天在ruislan的博客里面看到了他写的一个关于窗体的透明和变换的,里面提到了JNA,然后我去JNA的网站一看,呵呵,还真不错,它不但可以做到窗体的透明和变换,还可以完全调用本地的动态链接库文件,并且还在一定的程度上跨了平台。

以下是官方网站的介绍:https://jna.dev.java.net  阅读全文
posted @ 2007-10-24 09:37 千里冰封 阅读(6169) | 评论 (4)编辑 收藏
     摘要: 昨天我们讲了要开发JNI的几个工具的安装和下载,今天我们讲它们的基本使用.为了验证我们昨天的PATH确实设好了.我们可以进入CMD下面,输入如下语句:gcc --version
如果输出类似如下的话,就说明安装正确了:

gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  阅读全文
posted @ 2007-10-20 10:09 千里冰封 阅读(1896) | 评论 (1)编辑 收藏
     摘要: 我们在开发JAVA应用的时候,有时会遇到一些JAVA所不能解决的问题,对此我们有两种解决方法,一是用本地方法JNI,二就是exec一个进程来帮我们做事,一般来说exce一个进程是非常不跨平台的行为,而JNI而是不得已而为之的事情.因为如果你想为JNI跨平台的话,你必须得提供几个平台的代码本地实现.下面我们就利用Netbeans的C/C++开发工具,以及cygwin库来实现多平台的JNI实现.  阅读全文
posted @ 2007-10-19 19:55 千里冰封 阅读(1875) | 评论 (1)编辑 收藏
     摘要: 我也不知道自己今天为什么会选择写这么一个内容,可能是我长久以来的一个累积吧.

相信这句很经典的话,我们在读书的时候都看过,恐怕现在很多人已经把它还给老师了吧.不过不管有没有还,如果你还能时常记起这句话,那是最好了.
  阅读全文
posted @ 2007-10-17 00:38 千里冰封 阅读(8430) | 评论 (17)编辑 收藏
     摘要: install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。  阅读全文
posted @ 2007-10-15 09:24 千里冰封 阅读(39173) | 评论 (492)编辑 收藏
     摘要: exe4j是一款很经典的把JAVA打包成EXE的软件.昨天发布了它的4.0破解版有,需要的朋友可以留言,我可以通过邮件发给你们.由于话筒坏了,所以是无声版的,由于此软件的使用并不复杂,所以只是演示了普通的步骤,像加上程序信息的步骤我没有加进来.大家在使用过程中有什么不清楚的问题,可以留言,我会尽量解决:)  阅读全文
posted @ 2007-10-13 09:30 千里冰封 阅读(15696) | 评论 (348)编辑 收藏
     摘要: 用exe4j把java打包成exe

在我们写程序的时候,有时会有一种需求,那就是希望我们的程序是一个可执行文件,而不是一个jar文
件,其实大部份时候,可执行的jar文件都可以满足要求,但是如果我们的程序是需要保护的,那么打包
成jar文件就不太安全了,因为jar文件就是一个解压缩文件,一解压就什么都能看到了,当然也可以选择
混淆,但是混淆了以后排错就没那么容易了,因为混淆的时候,把一些类的信息都混淆了。如何既保证代
码的安全又容易排错呢?那么打包成exe就是一种很好的办法了,其实我今天介绍这个方法并不是希望大
家去打包成exe文件,因为exe文件毕竟不是跨平台的,用了exe的格式就失去了java的初衷了。  阅读全文
posted @ 2007-10-12 09:45 千里冰封 阅读(36670) | 评论 (620)编辑 收藏
     摘要: 说话要用脑子,敏事慎言,话多无益,嘴只是一件扬声器而已,平时一定要注意监督、控制好调频旋钮和音控开关,否则会给自己带来许多麻烦。讲话不要只顾一时痛快、信口开河,以为人家给你笑脸就是欣赏,没完没了的把掏心窝子的话都讲出来,结果让人家彻底摸清了家底。还偷着笑你。  阅读全文
posted @ 2007-10-12 08:53 千里冰封 阅读(667) | 评论 (4)编辑 收藏
     摘要: 非实体的基类映射

最近我们都说了很多继承方面的映射策略,可是有时候我们却需要继承一个非实体的类,这个类存在于我们的工程项目中,但是我们又不希望它成为一个实体类,这个时候怎么办呢?这个时候我们可以用@javax.persistence.MappedSuperclass来注释它,我们现在就修改一下我们前几天的例子,把Person类定义成一个不持久化的类。代码如下:
  阅读全文
posted @ 2007-10-11 00:23 千里冰封 阅读(1079) | 评论 (0)编辑 收藏
     摘要: 继承映射策略之----每个子类一张表

在每个子类一张表的映射策略中,每一个子类都有一张属于自己的表,但是这张表只包括了定义在这个子类上面的属性而已,定义在它的父类的属性它的表里面是没有的,所以这样的方式映射的话,就不会浪费一点资源了,每一张表,每一列都是不可少的,也不会出现冗余。这种格式是有点像TABLE_PER_CLASS的策略,只不过这种方案是规范的,没有像TABLE_PER_CLASS一样重复定义列,在这里我们叫它JOINED策略。

按我们的例子,这种策略映射出来的话,数据库的结构将如下所示:
  阅读全文
posted @ 2007-10-10 00:35 千里冰封 阅读(1019) | 评论 (0)编辑 收藏
     摘要: 继承映射策略之----每个具体类一张表

昨天我们看了继承关系中的实现,昨天是用一张表保存所有级别的类,今天我们来了解一下第二种实现方法,每一个类一个单独的表的实现,在数据库我们的例子表现如下:  阅读全文
posted @ 2007-10-09 00:21 千里冰封 阅读(884) | 评论 (0)编辑 收藏
     摘要: 【简介】

《滕王阁序》全称《秋日登洪府滕王阁饯别序》。一名《滕王阁诗序》。骈文篇名。唐王勃作。滕王阁在今江西省南昌市赣江滨。唐始建,后阎伯屿为洪州牧,宴群僚于阁上,王勃省父过此,即席而作。文中铺叙滕王阁一带形势景色和宴会盛况,抒发作者“无路请缨”的感慨。对仗工整,言语华丽。  阅读全文
posted @ 2007-10-08 00:36 千里冰封 阅读(784) | 评论 (5)编辑 收藏
     摘要: 单个实体BEAN的映射到数据库的方式很简单,但是如果我们的实体BEAN之间存在着继承关系呢?在数据库里面将如何表现这种继承关系?
JAVA持久化规范里面提供了三种方式去处理继承实体的映射方式:
一,所有继承层次共单独一张表
二,每个具体的类一个单独的表
三,每个子类一张表

为了更好的举例说明,我们构造出如下的继承层次,以做为例子使用。
  阅读全文
posted @ 2007-10-08 00:11 千里冰封 阅读(872) | 评论 (0)编辑 收藏
     摘要: 今天在利用JAVA3D播放声音的时候,碰到一个很奇怪的问题,那就是声音设备无法初始化。它抛出如下异常:
java.lang.UnsupportedOperationException: No AudioDevice specified

但是教程上面包括SUN的例子里面都是这样写的,他那样写肯定有它的道理,他不可能写一个错误的代码吧?那心里就纳闷了,为什么我的电脑就是播放不了呢,难道又像播放MIDI一样,因为装了JMF的原因?我把JMF也缷了,电脑也重启了,还是不行,该不会是人品问题吧:(

后来查看错误的调用顺序,发现是这句话抛出了异常:  阅读全文
posted @ 2007-10-06 09:02 千里冰封 阅读(1860) | 评论 (8)编辑 收藏
     摘要: JAVA3D之HelloWorld


很早就听说了JAVA3D,可惜一直都没有去看,那个时候JAVA3D还是1.4是最新版,转眼一年多过去了,JAVA3D都到了1.5.1版了,在感慨时间易逝的同时也不免对自己没有努力而感到叹息。现在又重新拾起对JAVA3D的激情与希望,希望在以后的日子里,少一些虚度,多一份充实,与大家互勉。

对于有JAVA基础的人来说,学习JAVA3D并不会很困难,一般来说涉及到3D都是比较底层的东西了,但是JAVA3D却把它抽象的非常好,很符合面向对象的思维,并且JAVA优秀的架构也使JAVA3D更加强大。我们还是先来看代码吧,看了代码才好讲话:
  阅读全文
posted @ 2007-10-05 00:54 千里冰封 阅读(5150) | 评论 (7)编辑 收藏
     摘要: 实体之间的级联关系

我们在以前的七种关系映射中经常会在注释中看到如下方法:cascade(),它表示级联,也就是有关联的一些实体,当我们对其中的一些进行操作的时候,与它相关联的实体应该怎么办。这样时候,就需要我们定义cascade的属性了,cascade一共有五种属性,我们可以用其中的一种,也可以用其中的多种混合,其中可用的属性如下:

  阅读全文
posted @ 2007-10-04 00:50 千里冰封 阅读(1505) | 评论 (2)编辑 收藏
     摘要: 使用VC,VB或者C#的开发者们对于在程序里面嵌入一个网页来说,那真是小事一桩。但是在JAVA里面,却几乎是不可能实现的任务。JEditorPane虽然说可以打开网页,但是它那解析速度以及解析质量,对于今天日益复杂的网页内容来说,就像没有一样。今天我们就使用一个开源的组件(jdic)来实现在JAVA程序里面嵌入网页的效率,运行界面如下:
  阅读全文
posted @ 2007-10-03 08:55 千里冰封 阅读(13193) | 评论 (15)编辑 收藏
     摘要: EJB中的集合映射

我们在前面的一对多以及多对多的情况可以看到,我们会需要对集合进行映射,对于基于List的映射我们在前面已经看过了。但是如果我们想对Map进映射呢,那该怎么办?
  阅读全文
posted @ 2007-10-02 13:55 千里冰封 阅读(1038) | 评论 (2)编辑 收藏
     摘要: 提前祝各位国庆快乐

在国庆期间好好地放松一下自己。每个人都拥有一个美好的假期。好好利用吧

  阅读全文
posted @ 2007-09-29 09:48 千里冰封 阅读(562) | 评论 (1)编辑 收藏
     摘要: 实体BEAN的七种关系之---------多对多单向
Many-to-Many Unidirectional Relationship

多对多的单向关系,一般来说只是为了节省数据库的空间而已,因为它只需要查询关系的一端就可以了,并且它和一对多的不同之处就在于,一对多可以用被控端维护一个对主控端的外键就可以搞定,而它不行,必须要有一张中间的表来进行关系的映射,在某种程度上,它也是挺像一对多的关系的.这种关系在现实中可以用如下关系来说明它:  阅读全文
posted @ 2007-09-29 08:42 千里冰封 阅读(872) | 评论 (0)编辑 收藏
     摘要: 有些网页是屏蔽了鼠标右键的,不让我们查看它的源代码或者不让我们点击鼠标右键,在此我们可以写一个程序,让它获得这个网页的流,然后我们不就什么都能看到了吗?此程序就是这样写的,先获得网页的输入流,然后得到这个输入流的一些参数,比如这个流的长度,这个流所使用的编码.然后根据这些参数来进行获取,并根据不同的情况提供不同的进度条,比如有些网页它的长度返回的是-1,这个时候就用一个无状态的进度条来表示,如果长度大于0的话,那就用可以实时显示目前读取网页的进度.正好借这个机会又把swing复习了一下.呵呵.
  阅读全文
posted @ 2007-09-28 11:33 千里冰封 阅读(2972) | 评论 (8)编辑 收藏
     摘要: 数字验证码很多地方都会用到,我前段时间也写过一篇有关于生成验证码的文章,那是随机生成大小不一,颜色不一,形状不一的数字图片,本文主要是针对那些比较规范的验证码的识别,何谓规范?规范就是数字的大小几乎一致,颜色对比度挺高,没什么干扰线.识别的依据就是最最最基础的办法,比对,先取样,保存成字模,再用字模去和将要识别的图片进行比较,取最接近的那个结果.不过在比较之前必须得到图片里面的数据提取出来并适当地去除一些干扰.

下面就是识别部份的代码:  阅读全文
posted @ 2007-09-28 09:02 千里冰封 阅读(8079) | 评论 (7)编辑 收藏
     摘要: 在程序运行的过程中,我们可能需要更改一些配置,如果配置更改得很大的话,就可能会需要程序重新启动,但是JAVA并没有提供给我们直接的可以重启的方法.在这里我们将利用JDK1.5新增的ProcessBuilder来创建一个重启进程,然后自己的进程退出.  阅读全文
posted @ 2007-09-27 11:55 千里冰封 阅读(7821) | 评论 (2)编辑 收藏
     摘要: 在我们在写程序的过程中,有些时候需要知道一些电脑的硬件信息,比如我们写一些需要注册的程序的时候,就需要得到某个电脑特定的信息,一般来说,网卡的物理地址是不会重复的,我们正好可以用它来做为我们识别一台电脑的标志.那如何得到网卡的物理地址呢?我们可以借助于ProcessBuilder这个类,这个类是JDK1.5新加的,以前也可以用Runtime.exce这个类.在此我们将演示一下如何在Windows和Linux环境下得到网卡的物理地址.  阅读全文
posted @ 2007-09-27 09:22 千里冰封 阅读(3757) | 评论 (16)编辑 收藏
     摘要: 引言  

  在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等。作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系。   阅读全文
posted @ 2007-09-26 09:12 千里冰封 阅读(923) | 评论 (3)编辑 收藏
     摘要: 今天晚上公司组织博饼,厦门的博饼风俗还是蛮好玩的,唉,可是运气依然不好,和去年差不多,总是拿最末的奖。
虽然奖没博到什么,但是气氛还是挺好的。
仅此一记,留做纪念。好了,去看中秋晚会去了:)   阅读全文
posted @ 2007-09-25 20:44 千里冰封 阅读(598) | 评论 (6)编辑 收藏
     摘要: 实体BEAN的七种关系之---------多对多双向
Many-to-Many Bidirectional Relationship

一般来说,多对多的双向发生在双方都持有对方的很多引用,A可能持有很多个B,B也可能持有很多个A,并且A和B之间还要求能够互相查询.在现实中,我们可以用如下的例子来说明这种关系:

人和航班,一个人可以订很多次航班,可以是订了今天的,也可以订明天的,因为他工作繁忙,同样的,一个航班不可能只为一个人而开,也可以接受很多个人的预订.并且这种查询是双向的,一个人他可以查询他订了多少个航班,一个航班也可以查询它被多少人订了,这样才好根据订的情况进行安排.

先看看代码吧.  阅读全文
posted @ 2007-09-25 09:00 千里冰封 阅读(974) | 评论 (3)编辑 收藏
     摘要: 前几天我写了一个类的加载机制,也就是有关类的加载顺序问题,这一次我们将了解一下如何利用自定义的类加载器实现类的隐藏,然后再运行的时候动态的读出被隐藏的类.这样就可以在一定的程度上保护我们的类了,我们还是先看看代码吧.  阅读全文
posted @ 2007-09-24 11:04 千里冰封 阅读(887) | 评论 (3)编辑 收藏
     摘要: 我前天写了一篇文章,是关于播放MIDI音乐的,可是看到留言却发现,我那段代码在他的电脑上竟然播不出声音来,这个时候我想,是不是我的电脑不正常,因为我看到网上的例子,得到播放器都是通过这种方法得到的,
MidiSystem.getSequencer(),而我用这种方法却会抛出异常,无奈,我只好退而求其次了,用了这个方法,MidiSystem.getSequencer(false),得到一个看似没有连接上设置的MIDI播放器,可是在我的电脑上却能播.于是我就输出我电脑上所有的MIDI设置,代码如下:  阅读全文
posted @ 2007-09-24 09:29 千里冰封 阅读(1127) | 评论 (2)编辑 收藏