2010年11月24日
摘要: 第一次接触OSGi 是2006年看见的一则网上新闻,该新闻中提到BMW 汽车的通信-娱乐(infotainment)系统采用了OSGi 架构,这套系统主要用来控制汽车上的音箱、灯光、导航和通讯等设备,整个系统由1000多个模块组成,启动时间却只需要3.5秒钟,这对于一个基于Java 的框架来讲,具有两个重大意义:一、说明了Java 执行效率并不差;二、OSGi 框架的性能尤其优秀。因此笔者对OSG... 阅读全文
posted @ 2010-11-24 21:25 aurawing 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 发布Java程序(桌面程序)最直接的方法就是将jar文件打包交给用户。不过有时jar文件很多,也很大。为了方便,sun提供了另外一种方式来通过网络发布Java程序。这就是jnlp文件。可能很多读者曾经下载过很多jnlp文件,运行后会自动从指定的网站下载相应的文件。实际上,jnlp文件就是一个xml格式的脚本文件。假设我们有一个test.jar文件需要安装(该文件是一个基于SWT的桌面程序),那么要... 阅读全文
posted @ 2010-11-24 21:25 aurawing 阅读(1016) 评论(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) 编辑
摘要: 一、Java ClassLoader1,什么是ClassLoader 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。 而且,Java ClassLoader 就是用 Java 语言编... 阅读全文
posted @ 2010-11-24 21:15 aurawing 阅读(1411) 评论(0) 推荐(0) 编辑
摘要: (1)-理论基础MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。  模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的... 阅读全文
posted @ 2010-11-24 21:14 aurawing 阅读(1569) 评论(0) 推荐(0) 编辑