易截截图软件、单文件、免安装、纯绿色、仅160KB

将Flex集成到Java EE应用程序的最佳实践

构建高性能的J2EE应用不但需要了解常用的实施技巧。下面介绍最常用的10种有效方法,可帮助架构设计师们快速成为这方面的专家。
Java性能的基础—内存管理
任何Java应用,单机的或J2EE的性能基础都可归结到你的应用是如何管理内存的问题。Java的内存管理包括两个重要任务:内存的分配和内存的回收。在内存的分配中,目标是要减少需要创建的对象。
内存回收是导致性能下降的普遍原因。也就是说,内存中的对象越多,垃圾回收越困难。所以我们对创建对象的态度应该越保守越好。
在J2EE应用中常见的两个内存有关的问题是:游离的对象(也被称为内存泄露)和对象循环(指大量频繁创建和删除-在Java中体现为解除引用—对象)。
我们应注意确保所有可到达的对象实际是活的,即这些对象不但在内存中,而且也要在执行的代码中是存在的。当对象在应用中已经没有用了,而我们却忘记了删除对该对象的引用时,游离的对象就出现了。
我们知道垃圾回收会占用CPU时间。短期对象的大量创建增加了垃圾回收的频率会造成性能下降。
不要在Servlet中实现业务逻辑
在构建J2EE应用时,架构工程师通常会使用到J2EE的基本部分——Servlet。如果架构师不使用Session Beans,
Entity Beans, 或 Message Beans,
那么改进性能的方法就很少。只能采用增加CPU或更多的物理服务器等方法。EJB使用了缓存(cache)和资源池等方法可以提高性能和扩展性。
尽可能使用本地接口访问EJB
在早期的J2EE
(遵循EJB1.X规范)应用中,访问EJB是`通过RMI使用远程接口实现的。随着EJB2.0的出现,可以通过本地接口访问EJB,不再使用RMI,
在同一个JVM中使用远程方法已经少多了。但是现在还是有一些使用EJB1.X实现的应用和不知道使用本地接口的一些EJB新手。为说明这点,我们作个比
较:
1、客户端应用调用本地Stub
2、该Stub装配参数
3、该Stub传到skeleton
4、该skeleton分解参数
5、该skeleton调用EJB对象
6、EJB对象执行容器服务
7、EJB对象调用企业BEAN实例
8、企业BEA执行操作
9、执行组装/分解步骤然后返回
与远程接口处理相比较,本地接口的EJB方法是:
1、客户端调用本地对象
2、本地对象执行容器服务
3、本地对象调用企业Bean实例
4、企业Bean实例执行操作
5、没有其他返回步骤!
如果你不需要从远程的客户端访问一个特殊EJB,就应该使用本地方法。
在实现Session Bean的服务中封装对实体EJB的访问
从Servlet访问实体EJB不但效率低而且难


相关文档:

java中的反射机制中invoke典型用法

java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名")
Class.forName ("类名").newInstance
Class.getMethod ("调用的方法名",class[]{参数类列表})
instance.getClass
Method.invoke ("对象名","参数封装成的对象")
具体怎么实现,让我们来看一个简单的例子: ......

传智播客的JAVA SE基础视频 1 5 自学笔记

昨天晚上开始学习传智播客的JAVA SE基础视频,到今天晚上已经把基础视频1-5看完了,因为之前段段续续的自学过C和JAVA,所以前面这几讲都看得挺快的,第5讲讲多线程,就有些复杂了。
2009-12-20  00:08:37
OS环境变量:OS定义的变量,可被应用程序使用。
set:查看
set path=%path%;....\jdk\bin;    ......

Flex组件(对话框)

java开发的总想尽快把flex和java结合起来,我也是,但这容易忽视一些基础的东西,刚把flex和java整合的第一步做完,忽然想在flex页面中弹出个对话框,不知道怎么写了,网上查了半天才出来.
原来这一句话就搞定了
Alert.show(content,title,flags,parent,closeHandle,iconClass,defaultButtonFlag);
以下是网上找到资料,供参考. ......

J2SE Java环境变量

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。
JAVA_HOME指向的是JDK的安装路径,如D:\JDK\jdk1.5.0_12,在这路径下你应该能够找到bin、lib等目录。
JAVA_HOME=D:\JDK\jdk1.5.0_15
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时 ......

Java堆和栈的区别

栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号