06 2009 档案
摘要: 6月25日,中国电信举行第二次3g终端产业链高峰论坛,这继2月召开首次终端会议刚刚过去4个月。与上次终端会议不同的是,此次规格更高,除了诸多终端公司老总悉数到场外,中 国电信董事长王晓初亲自出席并做了主题演讲。会上信息显示,中国电信的软件商店准备工作月底将结束,不日将推出。
摘要: permgen space的全称是permanent generation space,是指内存的永久保存区域outofmemoryerror: permgen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放class和meta的信息,class在被 load的时候被放入permgen space区域,它和和存放instance的heap区域不同,gc(garbage collection)不会在主程序运行期对permgen space进行清理,所以如果你的app会load很多class的话,就很可能出现permgen space错误。这种错误常见在web服务器对jsp进行pre compile的时候。改正方法:-xms256m -xmx256m -xx:maxnewsize=256m -xx:maxpermsize=256m 2、在tomcat中redeploy时出现outofmemory的错误. 可以有以下几个方面的原因:
摘要: 本文介绍了http消息的学用头字段的功能和用法,如host、connection、range、date、content-length等,本文的需要使用http模拟器进行测试,该模拟器请从如下地址下载:http://files.cnblogs.com/nokiaguy/httpsimulator.rar
摘要: ejb3可以通过拦截器对bean方法进行拦截和覆盖。这有些象aop中的around。通过aop的around方法,可以修改被拦截方法的返回值、参数值,甚至可以取消被拦截方法的执行。ejb3的拦截器可以用在无状态session bean、有状态session bean和消息驱动bean(mdb)的方法中。实现拦截器的最简单的方法是使用拦截器方法。也就是说,只要在当前的bean中使用 @aroundinvoke对某个方法进行注释(关于拦截器的类都在javax.interceptor包中),那么这个方法就会变成拦截器方法,该拦截器方法会拦截当前bean中的所有方法。
摘要: 在讨论http协议的具体请求和响应头字段之前,让我们先来利用以前所学的知识来实现一个http模拟器。所谓http模拟器就是可以在用户输入http的请求消息后,由这个模拟器将http请求发送给相应的服务器,再接收服务器的响应消息。这个http模拟器有几下特点:
1. 可以手工输入http请求,并向服务器发送。
2. 接收服务器的响应消息。
3. 消息头和实体内容分段显示,也就是说,并不是象telnet等客户端一样将http响
应消息全部显示,而是先显示消息头,然后由用户决定是否显示实体内容。
4. 集中发送请求。这个http模拟器和telnet不同的是,并不是一开始就连接服务器,而是将域名、端口以及http请求消息都输完后,才连接服务器,并将这些请求发送给服务器。这样做的可以预防服务器提前关闭网络连接的现象。
5. 可以循环做上述的操作。
摘要: 在前面的文章中给出的sessionbean的例子都是同步调用sessionbean方法的,也就是说,只有当方法中的代码都执行完,才能返回到客户端。但在某些情况下,由于sessionbean方法的执行时间比较长,这就需要异步地调用该方法,否则客户端就需要等待比较长的时间。要实现异步调用,就需要使用本要讲的消息驱动bean。消息驱动bean的基本原理是客户端向消息服务器发送一条消息后,消息服务器会将该消息保存在消息队列中。在这时消息服务器中的某个消费者(读取并处理消息的对象)会读取该消息,并进行处理。发送消息的客户端被称为消息生产者。
摘要: 当用户在浏览器中输入一个基于http协议的url时(以http://开头的url),就相当于通知器按着这个url组织生成一个http请求,并交过个请求发送到服务器;同时,等待服务器的响应。无论是请求还是响应,都统称为http消息。
摘要: 坐亦禅,行亦禅,一花一世界,一叶一如来,春来花自青,秋至叶飘零,无穷般若心自在,语默动静体自然。
摘要: http协议是一种应用层协议,http是hypertext transfer protocol(超文本传输协议)的英文缩写。http可以通过传输层的tcp协议在客户端和服务器之间传输数据。http协议主要用于web浏览器和 web服务器之间的数据交换。我们在使用ie或firefox浏览网页或下载web资源时,通过在地址栏中输入http://host:port /path,开头的4个字母http就相当于通知浏览器使用http协议来和host所确定的服务器进行通讯。
摘要: 在前面的文章中使用的都是容器管制的entitymanager对象。这类entitymanager对象是由ejb容器创建的,在这种情况下,entitymanager对象的生命周期完全由ejb容器来管理。在sessionbean中可以使用如下的代码来通知ejb容器创建 entitymanager对象:
@persistencecontext(unitname="myentity")
protected entitymanager em;
上面的代码需要放在任意一个sessionbean的类中,ejb容器会自动创建entitymanager对象。但如果要在servlet中直接访问 entitymanager对象,需要使用entitymanagerfactory接口的createentitymanager方法来创建 entitymanager对象,在使用完entitymanagerfactory和entitymanager对象后,可以使用相应的close方方关闭这两个对象。
摘要: 在ejb3中可以使用entitymanager对象的createquery方法来执行jpql(类似于hibernate中的hql),这非常简单。但使用createquery方法处理jpql时,在每次执行jpql的过程中系统都需要对jpql进行分析,这在一定程度上降低了系统运行时的性能。为此,ejb3提供了命名查询的概念。命名查询有些类型于数据库中的存储过程,在提交的过程中就已经被编译处理了。因此,在执行效率上要高一些。
摘要: 本文介绍了如何使用连接策略(joined strategy)对物理表进行划分。子表与父表共享主键。
摘要: sun microsystems公司(nasdaq: java)今天宣布第七届年度“duke选择大奖”(duke’s choice awards)获奖者名单。“duke选择大奖”计划旨在表彰过去一年里全球个人或公司开发的、最具影响力的java技术应用。这些获奖者是由sun公司副总裁兼sun研究院院士james gosling和一个由sun公司java技术专家组成的小组评选确定的。如需有关获奖者及其应用的详尽信息,请登录:http://www.java.com/en/dukeschoice/。
摘要: 如果以前使用过ejb1.x或ejb2.x的实体bean,会发现无法通过继承实体bean将单个表分成多表。而在ejb3中,我们可以很容易地使用@inheritance和@discriminatorcolumn注释来实现这个功能。
摘要: 本文介绍了如何使用@manytomany注释实现多对多的映射关系。在ejb3中多对多的映射关系需要使用一个连接表来描述。
摘要: 本文介绍了如使用@onetomany注释来实现一对多的映射,以及使用@jointable注释指定连接表来实现一对多的单向映射。
摘要: 一对一映射是很常用的。在一般情况下,一个主表通过外键和从表形成一对一的关系。在ejb3中使用@onetoone注释来映射。一对一关系除了使用外键进行关联外,也可以采用共享主键的方式连接两个表。
摘要: 在socket 类中有很多方法在声明时使用throws抛出了一些异常,这些异常都是ioexception的子类。在socket类的方法中抛出最多的就是 socketexception,其余还有七个异常可供socket类的方法抛出。这些异常的继承关系如图1所示。其中灰色背景框所描述的例外就是 socket类的方法可能抛出的异常。
摘要: 在java类中,getter和setter方法占了很大的比重。由于java中没有定义属性的关键字;因此,getter和setter方法用于获得和设置java类的属性值;如getname和setname方法用于设置name属性的值。如果某个属性只有getter方法,那这个属性是只读的;如果只有setter方法,那么这个属性是只写的。在socket类中也有很多这样的属性来获得和socket相关的信息,以及对socket对象的状态进行设置。