2010年11月24日
摘要: 什么是MBean Managed Bean (MBean) 描述一个可管理的资源.是一个java对象,遵循以下一些语义.java对象的属性(property)叫属性(attribute),方法(method)叫操作(operations).定义MBean一个MBean的语义必须是公用的,非抽象的类 必须有至少一个公用的构造器 必须实现它自己的相应的MBean接口或者实现javax.manageme... 阅读全文
posted @ 2010-11-24 21:30 aurawing 阅读(2181) 评论(0) 推荐(0) 编辑
摘要: 摘要JBoss是一个免费的开放的J2EE实现。它的架构是基于高标准的模块化和插入式设计。JBoss使用工业标准的JMX来管理,JBoss组件和为EJB提供服务。基于我们以前的开发经验,我们发现了不同的J2EE应用服务器间的存在着巨大的性能和可扩展性差异。我们相信架构的设计是决定类似于性能和可扩展性等质量指标的重要因素。分析和展现JBoss架构模型有助于我们了解其内部行为并帮助我们创建一个精确的最终... 阅读全文
posted @ 2010-11-24 21:30 aurawing 阅读(1456) 评论(1) 推荐(0) 编辑
摘要: MyEclipse版本:6.0.1JBoss版本:4.0.4 GATomcat版本:6.0.14一、创建EJB Project1. 2.3.Persistence Unit Name: 对应persistence.xml中Xml代码 <persistence-unitname="stuSystemPU"transaction-type="JTA">的信息。JNDI Data Sourc... 阅读全文
posted @ 2010-11-24 21:29 aurawing 阅读(1435) 评论(1) 推荐(0) 编辑
摘要: 我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的... 阅读全文
posted @ 2010-11-24 21:29 aurawing 阅读(20518) 评论(9) 推荐(5) 编辑
摘要: 前几天Oracle推出了Java 7官方的闭包与Lambda表达式的第一个实现,这基本上也是最终在正式版中的样式了。看了这个实现之后,我的第一感觉便是“丑”,当然不排除这是因为看惯了其他语言中实现的缘故。后来再仔细看了看又想了想,发现Java 7的实现也并非毫无可取之处,但似乎又感到某些做法上有一些问题。总之整个过程颇为有趣,决定将我的想法记录下来,希望可以吸引人来一起讨论... 阅读全文
posted @ 2010-11-24 21:29 aurawing 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台--因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些... 阅读全文
posted @ 2010-11-24 21:28 aurawing 阅读(659) 评论(0) 推荐(0) 编辑
摘要: Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻。但是很大部分人都还认为脱离Java EE应用服务器就无法使用JTA事务,这是一个误解。其实,通过配合使用ObjectWeb的JOTM开源项目,不需要Java EE应用服务器,Spring也可以提供JTA事务。正因为AOP让Spring拥有了脱离EJB容器... 阅读全文
posted @ 2010-11-24 21:28 aurawing 阅读(1865) 评论(0) 推荐(0) 编辑
摘要: 什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“ 失败接管 ”(failover)图一:负载均衡多个客户端同时发出请求,位于前端的负载均衡器根据特定算法,将请求分担给比较空闲的机器,从而实现较高性能和较好的扩展性 图二:失败接管当客户端连续向某个服务器发出请求时,该服务器可能处理到一半就宕机了,失败接管系统能... 阅读全文
posted @ 2010-11-24 21:27 aurawing 阅读(1695) 评论(2) 推荐(1) 编辑
摘要: 相对于其他的分布式对象模型 (CORBA,COM) ,RMI 显得很轻,很简单。但是有时候程序员想在RMI中加入各种服务(service)而不改变其interface,却不是那么简单。"Interceptor"作为一种重要的"Design Pattern"在现代软件技术中非常流行,它通常用来实现service,因此是实现FrameWork的关键技术之一。 下面是一个非常简单的RMI例子。我要在这个... 阅读全文
posted @ 2010-11-24 21:27 aurawing 阅读(562) 评论(0) 推荐(0) 编辑
摘要: (一)断点续传的原理其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。GET /down.zip HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, app... 阅读全文
posted @ 2010-11-24 21:26 aurawing 阅读(299) 评论(0) 推荐(0) 编辑
摘要: Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架。它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式。Apache MINA 2 可以作为开发网络应用程序的一个良好基础。下面将首先简单介绍一下 Apache MINA 2。Apache MINA 2 介绍Apache MINA 是 Apache 基金会的... 阅读全文
posted @ 2010-11-24 21:26 aurawing 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 文件锁JDK 1.4引入了文件加锁机制,允许我们同步访问一个共享文件,不过,竞争同一文件的两个线程有可能在不同的java虚拟机上,或者一个是java线程,另一个是操作系统中其他的某个线程,但文件锁对其他线程或其他操作系统进程都是可见的,因为java的文件加锁直接映射到了本地操作系统的加锁机制。注,这里讲的锁是指锁定其他应用程序,而不是锁定同一虚拟机里访问的同一文件的其他线程 。如果在同一虚拟机两次... 阅读全文
posted @ 2010-11-24 21:26 aurawing 阅读(2901) 评论(1) 推荐(0) 编辑
摘要: 发布Java程序(桌面程序)最直接的方法就是将jar文件打包交给用户。不过有时jar文件很多,也很大。为了方便,sun提供了另外一种方式来通过网络发布Java程序。这就是jnlp文件。可能很多读者曾经下载过很多jnlp文件,运行后会自动从指定的网站下载相应的文件。实际上,jnlp文件就是一个xml格式的脚本文件。假设我们有一个test.jar文件需要安装(该文件是一个基于SWT的桌面程序),那么要... 阅读全文
posted @ 2010-11-24 21:25 aurawing 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 第一次接触OSGi 是2006年看见的一则网上新闻,该新闻中提到BMW 汽车的通信-娱乐(infotainment)系统采用了OSGi 架构,这套系统主要用来控制汽车上的音箱、灯光、导航和通讯等设备,整个系统由1000多个模块组成,启动时间却只需要3.5秒钟,这对于一个基于Java 的框架来讲,具有两个重大意义:一、说明了Java 执行效率并不差;二、OSGi 框架的性能尤其优秀。因此笔者对OSG... 阅读全文
posted @ 2010-11-24 21:25 aurawing 阅读(530) 评论(0) 推荐(0) 编辑
摘要: (1)jvm的装载过程以及装载原理所谓装载就是寻找一个类或是一个接口的二进制形式并用该二进制形式来构造代表这个类或是这个接口的 class对象的过程,其中类或接口的名称是给定了的。当然名称也可以通过计算得到,但是更常见的是通过搜索源代码经过编译器编译后所得到的二进制形式来构造。 在JAVA中,类装载器把一个类装入JAVA虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准... 阅读全文
posted @ 2010-11-24 21:24 aurawing 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 一、准备工作:导入Junit jar包;在项目目录下新建一个SourceFold(一般命名为test);新建一个测试类(一般命名规则为:被测试类名+Test,例如: HelloWordTest)继承junit.framework.TestCase类;编写测试方法(方法名必须以test+用例方法名称);如下:二、使用Junit进行测试Junit被用来测试代码,并且它是由能够测试不同条件的断言方法(a... 阅读全文
posted @ 2010-11-24 21:24 aurawing 阅读(2553) 评论(0) 推荐(0) 编辑
摘要: (4) 目录服务操作 1、目录服务的操作 我们会用LDAP作为例子来讲解目录服务的操作。与命名服务不同,目录服务的内容上下文的初始化方式需要 改变:java 代码//Setuptheenvironmentforcreatingtheinitialcontext Hashtableenv=newHashtable(); env.put(Context.INITIAL_CONTEXT_FACTOR... 阅读全文
posted @ 2010-11-24 21:23 aurawing 阅读(563) 评论(0) 推荐(0) 编辑
摘要: (1) jndi 介绍你真的十分了解JNDI吗?真的知道命名服务和目录服务的区别吗?真的知道为什么有的时候 new InitContext() 会出错?原因是什么?JNDI是J2EE的重要组成部分,让我们来好好学习一下Sun的JNDI教程吧,把这些疑惑一一解开。这些资料都来自Sun的JNDI教程,我会每天坚持翻译一点,但是不会全部翻译的,例如如何操作LDAP部分。有的地方原文档有些啰嗦,我就改成简... 阅读全文
posted @ 2010-11-24 21:19 aurawing 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 概述当我们调用一个基于Spring的Service接口方法(如UserService#addUser())时,它将运行于Spring管理的事务 环境中,Service接口方法可能会在内部调用其它的Service接口方法以共同完成一个完整的业务操作,因此就会产生服务接口方法嵌套调用的情况, Spring通过事务传播行为控制当前的事务如何传播到被嵌套调用的目标服务接口方法中。事务传播是Spring进行... 阅读全文
posted @ 2010-11-24 21:16 aurawing 阅读(21798) 评论(5) 推荐(1) 编辑
摘要: 摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。  关键词 对象池;对象池技术;Java 对象;性能   Java对象的生命周期分析  Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3。其中T1表示对象的创建时间,T2表示对象... 阅读全文
posted @ 2010-11-24 21:15 aurawing 阅读(482) 评论(0) 推荐(0) 编辑