千里冰封
JAVA 浓香四溢
posts - 151,comments - 2801,trackbacks - 0
09 2007 档案
国庆快到了      摘要: 提前祝各位国庆快乐

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

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

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

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

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

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

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

先看看代码吧.  阅读全文
posted @ 2007-09-25 09:00 千里冰封 阅读(1094) | 评论 (3)  编辑
类加载机制实现类的隐藏      摘要: 前几天我写了一个类的加载机制,也就是有关类的加载顺序问题,这一次我们将了解一下如何利用自定义的类加载器实现类的隐藏,然后再运行的时候动态的读出被隐藏的类.这样就可以在一定的程度上保护我们的类了,我们还是先看看代码吧.  阅读全文
posted @ 2007-09-24 11:04 千里冰封 阅读(962) | 评论 (3)  编辑
JMF和MIDI冲突的解决办法      摘要: 我前天写了一篇文章,是关于播放MIDI音乐的,可是看到留言却发现,我那段代码在他的电脑上竟然播不出声音来,这个时候我想,是不是我的电脑不正常,因为我看到网上的例子,得到播放器都是通过这种方法得到的,
MidiSystem.getSequencer(),而我用这种方法却会抛出异常,无奈,我只好退而求其次了,用了这个方法,MidiSystem.getSequencer(false),得到一个看似没有连接上设置的MIDI播放器,可是在我的电脑上却能播.于是我就输出我电脑上所有的MIDI设置,代码如下:  阅读全文
posted @ 2007-09-24 09:29 千里冰封 阅读(1211) | 评论 (2)  编辑
JAVA播放MIDI音乐      摘要: JAVA在多媒体处理方面的确优势不大,但是我们在程序中有些时候又需要一些音乐做为点缀,如果播放的音乐是wav等波形音频文件,又挺大,所以背景音乐最好就是MIDI了,可是网上很多播放MIDI的教程都是简单的几句话的例子,并且没有考虑资源的释放问题,如果程序长久运行的话,就会出现内存越耗越多的情况,以至于最后抛出一个java.lang.OutOfMemoryError,整个程序就挂了.  阅读全文
posted @ 2007-09-22 13:52 千里冰封 阅读(2294) | 评论 (3)  编辑
EJB学习日记(12)      摘要: 实体BEAN的七种关系之---------一对多双向
One-to-Many Bidirectional Relationship

在实际生活中,一对多的双向关系也是有的,我们在这里举一个人和车的例子,人可以有很多车,车也必须要有一个主人(只要它是合法的),我们可以知道一个人有多少辆车,我们也可以通过任意一辆车牌号查到这辆车的主人是谁,这种关系不像人和电话,电话是很容易换的,并且很多号码是不用身份证的,但是车必须要上牌并且要用身份证的,这样才好管理嘛.下面我们来看代码吧  阅读全文
posted @ 2007-09-22 09:20 千里冰封 阅读(1106) | 评论 (1)  编辑
随机数字验证码的生成      摘要: 有时候在我们的网络应用中,防止程序自动登录搞破坏,我们一般都会加上验证码,这些验证码一般来说都是由人来识别的,当然,如果验证码很有规律,或者说很清楚,漂亮,那么也是可能被程序识别的,我以前就识别过某网站的验证码,因为比较有规律,所以被识别了,并且识别率达到99%左右,其实我们可以制作很复杂一点的验证码,添加一些干扰的线条或者字体变形,使程序识别的难度加大,这样,我们的目的也就达到了.  阅读全文
posted @ 2007-09-21 13:05 千里冰封 阅读(2218) | 评论 (10)  编辑
类加载机制初探      摘要: 记得在刚学JAVA的时候,类的加载机制和初始化顺序经常被弄的糊里糊涂,其实当我们不太了解某些事情的时候,不防去做一做实验,让代码的运行结果说话,这或许能帮助我们更好地了解一些事情.今天我们就用一些代码来看一下类是如何被加载的,并且当有继承关系的时候,类的加载顺序又是怎么样的.  阅读全文
posted @ 2007-09-21 09:59 千里冰封 阅读(1674) | 评论 (2)  编辑
EJB学习日记(11)      摘要: 实体BEAN的七种关系之---------多对一单向
Many-to-One Unidirectional Relationship

多对一单向在某种程度上不但和一对一单向相似并且还和一对多单向挺相似的,但是又不完全相同。多一对单向一般应用在很多实体对应一个实体,被对应的那个实体并不需要知道谁对应它了,典型的例子就是人对应国家,很多人可以是同一个国家的人,但是一个国家却不可能统计那么多它的人民。我们还是用代码来说话吧。
  阅读全文
posted @ 2007-09-21 09:14 千里冰封 阅读(841) | 评论 (0)  编辑
JAVA操作windows注册表      摘要: 在我们写程序的时候,有时会要求保存一些数据,比如用户名或者别的,但是这样数据又不是保存在程序同一目录下,这样做太明显了,也不太安全,那怎么办呢?这个时候,如果能把数据保存到注册表里面去,那该多好,一来隐蔽,二来方便,不至于在程序目录下生成一大片文件.
在JAVA里面,可以利用java.util.prefs.Preferences来对注册表进行操作,我们先看一下例子吧  阅读全文
posted @ 2007-09-20 19:15 千里冰封 阅读(5210) | 评论 (12)  编辑
查看手机对JAVA的支持信息      摘要: 我们在开发J2ME的时候,都需要知道手机到底支持JAVA到哪种程度,比如CLDC1.0还是CLDC1.1对于简表的支持是MIDP1.0还是MIDP2.0或者是最新的MIDP2.1.
如果有一个程序它在手机上一运行就知道这些配置的话,在某种程度上也方便了开发,其实要实现这个一点都不难,下面就是我写的用于检测手机的一些参数.程序里面只检测了一部份,大家可以根据需要加上自己需要知道的内容.  阅读全文
posted @ 2007-09-20 16:19 千里冰封 阅读(1186) | 评论 (3)  编辑
EJB学习日记(10)      摘要: 实体BEAN的七种关系之---------一对多单向
One-to-Many Unidirectional Relationship

一对多单向最典型的应用莫过于人和电话的关系了,我们一个人可以有很多个电话,有时候还经常会换号码,我们可以既有小灵通也有手机,家里还有固定电话,这就是很典型的一对多关系,为什么要是单向的呢,因为电话的易变性,这个号码可能今天是你的,明天就可能是别人的了,并且现在买手机号码是不需要身份证的,所以从电话号码是不可能查到你的身份证了.并且电话号码也不应该和人绑定,一般我们都是问别人电话是多少,却比较少去问一个号码是谁的(这种情况也有,就是你收到陌生人的电话或短信的时候).那我们还是先看代码吧.  阅读全文
posted @ 2007-09-20 08:53 千里冰封 阅读(1111) | 评论 (0)  编辑
JAVA6.0操作脚本语言      摘要: JDK6.0里面加了一个很实用的包,javax.script,它是JAVA新增的操作脚本的包,利用它我们可以对脚本语言进行操作,比如修改,或者调用,并且可以和JAVA语言交互,如果我们利用好的话,我们利用它来实现一些经常要改的部份,这样我们就可以把一些算法写到js文件里面,然后再在运行的时候读取出来并执行,这样就省去了更改一些东西需要重新编译的过程了.
  阅读全文
posted @ 2007-09-19 16:19 千里冰封 阅读(1736) | 评论 (4)  编辑
EJB学习日记(9)      摘要: 实体BEAN的七种关系之---------一对一双向
One-to-One Bidirectional Relationship

一对一双向的情况其实在现实生活中也是挺常见的,最常见的就是人和身份证的关系了,我们每个人都有一个身份证(只要你年满16岁,并且申请了),并且每个身份证都对应一个人,我们可以根据一个人查到他的身份证号码,也可以根据一个身份证号码查到一个人的具体情况,(第一代身份证重码的情况还是有的:( ) .好了,闲话不多说,还是看看代码吧.  阅读全文
posted @ 2007-09-19 10:50 千里冰封 阅读(1004) | 评论 (1)  编辑
EJB学习日记(8)      摘要: 实体BEAN的七种关系之---------一对一单向

一对一单向,顾名思义,就是只要求从A方到达B方,而不需要从B方到达A方,典型的例子就是,一个人对应一个地址,因为现实生活中,一个地址可能住很多人,所以一般我们只需要根据人查到它的地址,而不太会需要从一个地址去查谁住在那里,不过,真的有这种需求的话,我们就要以用另外一种关系来实现了,这个以后再讲  阅读全文
posted @ 2007-09-18 19:44 千里冰封 阅读(1124) | 评论 (0)  编辑
男人25岁前的忠告      摘要: 男人25岁前的忠告
这是忠告也是建议.   阅读全文
posted @ 2007-09-17 14:58 千里冰封 阅读(585) | 评论 (7)  编辑
EJB学习日记(7)      摘要: 七种映射关系

在实体BEAN中,互相之间的关系有七种,分别是如下七种
  阅读全文
posted @ 2007-09-17 09:47 千里冰封 阅读(1185) | 评论 (6)  编辑
JAVA元数据注释初探      摘要: 今天了解一下JAVA元数据的用法和一些作用,拿出一些例子,给自己看,怕自己以后忘了

JAVA的元数据功能是JDK1.5才开始支持的,以前都没有,正因为是新支持的,所以有关于它的介绍挺少,用处也不太多,最近发现很多框架都可以把它用来配置一些东西,以代替以前比较复杂的XML配置.想像一下,在JAVA代码中直接写入注释来配置,那该是多么好的事情,让我们写习惯了代码和看习惯了代码的人来说,这无疑是一件很爽的事情.
  阅读全文
posted @ 2007-09-15 09:22 千里冰封 阅读(4288) | 评论 (3)  编辑
EJB初学日记(6)      摘要: 实体BEAN的关联

今天自己写了一个例子,有关实体BEAN的关联问题,我写的这个例子是一对多的情况  阅读全文
posted @ 2007-09-14 09:33 千里冰封 阅读(789) | 评论 (0)  编辑
利用POI操作EXCEL文档(2)      摘要: 昨天,我们看了一下POI操作EXCEL的简单例子,我们只是插入了一些字符串而已,但是现实的应用中,经常需要在EXCEL中插入图片或者图形.这个时候,应该怎么办呢,我们先看一下下面的例子  阅读全文
posted @ 2007-09-13 09:49 千里冰封 阅读(2177) | 评论 (2)  编辑
利用POI操作EXCEL文档(1)      摘要: 众所周知,EXCEL是微软的office套件里的一个产品,使用比较广泛,由于微软产品的特殊性,JAVA标准

库里面并没有提供操作EXCEL文档的类,可是在程序开发过程中,如果能将数据输出成一个电子表格的形式,

那将有利于用户分析和查看数据.
虽然标准类库没有提供操作方法,但是得益于JAVA是开源的,所以我们可以找到第三方的开源的类库来

进行EXCEL的读写操作.我们选用apache的POI库来进行EXCEL的操作.
在POI里面,它把很多EXCEL里面的元素都对象化了,很符合的JAVA的编程风格.
在使用POI之前,我们得下载一个POI的库,我们可以去apache的网站上去下载,目前最新的版本是3.0.1,

下载后,把它加入到 classpath中就可以使用它了.
下面我们就来看一下最简单的一个例子,生成我们第一个EXCEL文档.  阅读全文
posted @ 2007-09-12 15:53 千里冰封 阅读(2638) | 评论 (5)  编辑
JAVA中的时间操作      摘要: java中的时间操作不外乎这四种情况:

1、获取当前时间

2、获取某个时间的某种格式

3、设置时间

4、时间的运算

好,下面就针对这四种情况,一个一个搞定。
  阅读全文
posted @ 2007-09-11 23:56 千里冰封 阅读(39698) | 评论 (14)  编辑
EJB初学日记(5)      摘要: 以前看到一本书上写的,有关定义实体BEAN的一些细节,直到今天才知道其中的差别

  阅读全文
posted @ 2007-09-11 15:45 千里冰封 阅读(979) | 评论 (0)  编辑
EJB初学日记(4)      摘要: 关于session bean的一些问题
EJB里面,session bean是占了挺重要的地位的,一些重要的事情都是交给session bean来处理的

session BEAN一般用于操作一些对外的方法,供客户调用.会话BEAN分两种,一种 是有状态的会话BEAN,一种 是无状态的会话BEAN,它们有什么不同呢?
  阅读全文
posted @ 2007-09-10 14:31 千里冰封 阅读(886) | 评论 (0)  编辑
JAVA代理机制初探      摘要: 今天上午写了一个有关于EJB的拦截例子,其实EJB的拦截用的就是JAVA的代理机制.说广一点,EJB的实现就是利用代理实现的远程方法调用.
EJB会在服务器端生成一个实现了所有的接口的类的代理,然后在里面监听你所做的所有事情,并与之反应,这样就实现了远程调用的效果,你在这边调用,而EJB容器在别的地方也可以知道你调用了什么,并返回与之对应的结果,这一切都是用代理来实现的.  阅读全文
posted @ 2007-09-08 18:12 千里冰封 阅读(6515) | 评论 (11)  编辑
EJB初学日记(3)      摘要: 今天主要是看了一下拦截器的实现,在EJB3.0里面,实现拦截非常简单.加一个注释就可以了,这样就可以随时监视某个方法的调用了,拦截器可以是拦截某一个方法也可以是拦截一个类的所有方法的.具体如下

首先写一个拦截器方法,拦截器方法并不需要实现什么接口,只要符合一定的规范就可以了,
  阅读全文
posted @ 2007-09-08 10:24 千里冰封 阅读(1015) | 评论 (0)  编辑
EJB初学日记(2)      摘要: 其实在学习EJB之前,就听说过EJB,有人说他很复杂,也有人说一般般而已,但是几乎所有的人都说EJB3.0确实是简单了许多.
一般讲起JAVA EE,一般人都认为是应用在网页里面的,甚至有人把JAVA EE和JSP等同起来,要知道,JAVA EE是一个很庞大的结构,而JSP只是里面一部份中的一部份而已.

今天我就把JAVA EE的EJB应用到JAVA SE中看一看,在JBOSS里面布署好EJB,然后在swing里面调用EJB,并且观察一些特性.
  阅读全文
posted @ 2007-09-07 10:18 千里冰封 阅读(1353) | 评论 (2)  编辑
EJB初学日记(1)      摘要: 今天终于还是下定决心看看EJB,看着SPRING看了两天,觉得一点头绪都没有,我不是一个讲究速成的人,但是总是感觉和它们的理念不太一样,唉,真可怜,都怪自己,初学JAVA的时候就把J2SE看得太重了.  阅读全文
posted @ 2007-09-06 17:01 千里冰封 阅读(1794) | 评论 (6)  编辑
作一个真正合格的程序员      摘要: 作为一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。
1:团队精神和协作能力  阅读全文
posted @ 2007-09-06 16:11 千里冰封 阅读(996) | 评论 (2)  编辑
JAVA截屏程序(第四版)      摘要: 昨天看到留言,于是今天又把一些功能加进进去了

比如,
1,程序可以最小化到系统托盘区
2,程序可以批量保存所有截过的图片
3,修正了以前的一个小BUG,那就是输入保存图片的文件名时,如果没有输入后缀名,将保存正常,如果输入了后缀名,将会保存格式出错
打包文件请点击这里下载,dist文件夹里面的JAR文件是可以双击执行的

感谢朋友们的建议,谢谢.  阅读全文
posted @ 2007-09-04 10:51 千里冰封 阅读(2871) | 评论 (11)  编辑
JAVA模仿屏保      摘要: 这也是以前写的一个东西,全屏下运行,很像是WINDOWS下的屏保,会显示时钟,并且会随机自然地碰撞.全屏状态下如需退出,请按小键盘上的0退出.  阅读全文
posted @ 2007-09-03 09:18 千里冰封 阅读(1572) | 评论 (1)  编辑