使用 Apache MINA 2 开发网络应用
摘要: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
阅读(458)
推荐(0)
文件锁(Filelock) 与锁定映射文件部分内容
摘要:文件锁JDK 1.4引入了文件加锁机制,允许我们同步访问一个共享文件,不过,竞争同一文件的两个线程有可能在不同的java虚拟机上,或者一个是java线程,另一个是操作系统中其他的某个线程,但文件锁对其他线程或其他操作系统进程都是可见的,因为java的文件加锁直接映射到了本地操作系统的加锁机制。注,这里讲的锁是指锁定其他应用程序,而不是锁定同一虚拟机里访问的同一文件的其他线程 。如果在同一虚拟机两次...
阅读全文
posted @
2010-11-24 21:26
aurawing
阅读(2986)
推荐(0)
如何使用脚本文件(JNLP)来发布Java程序
摘要:发布Java程序(桌面程序)最直接的方法就是将jar文件打包交给用户。不过有时jar文件很多,也很大。为了方便,sun提供了另外一种方式来通过网络发布Java程序。这就是jnlp文件。可能很多读者曾经下载过很多jnlp文件,运行后会自动从指定的网站下载相应的文件。实际上,jnlp文件就是一个xml格式的脚本文件。假设我们有一个test.jar文件需要安装(该文件是一个基于SWT的桌面程序),那么要...
阅读全文
posted @
2010-11-24 21:25
aurawing
阅读(1079)
推荐(0)
初探Java企业级开源框架OSGi
摘要:第一次接触OSGi 是2006年看见的一则网上新闻,该新闻中提到BMW 汽车的通信-娱乐(infotainment)系统采用了OSGi 架构,这套系统主要用来控制汽车上的音箱、灯光、导航和通讯等设备,整个系统由1000多个模块组成,启动时间却只需要3.5秒钟,这对于一个基于Java 的框架来讲,具有两个重大意义:一、说明了Java 执行效率并不差;二、OSGi 框架的性能尤其优秀。因此笔者对OSG...
阅读全文
posted @
2010-11-24 21:25
aurawing
阅读(551)
推荐(0)
MyEclipse下使用Junit
摘要:一、准备工作:导入Junit jar包;在项目目录下新建一个SourceFold(一般命名为test);新建一个测试类(一般命名规则为:被测试类名+Test,例如: HelloWordTest)继承junit.framework.TestCase类;编写测试方法(方法名必须以test+用例方法名称);如下:二、使用Junit进行测试Junit被用来测试代码,并且它是由能够测试不同条件的断言方法(a...
阅读全文
posted @
2010-11-24 21:24
aurawing
阅读(2576)
推荐(0)
ClassLoader整理总结
摘要:(1)jvm的装载过程以及装载原理所谓装载就是寻找一个类或是一个接口的二进制形式并用该二进制形式来构造代表这个类或是这个接口的 class对象的过程,其中类或接口的名称是给定了的。当然名称也可以通过计算得到,但是更常见的是通过搜索源代码经过编译器编译后所得到的二进制形式来构造。 在JAVA中,类装载器把一个类装入JAVA虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准...
阅读全文
posted @
2010-11-24 21:24
aurawing
阅读(653)
推荐(0)
jndi step by step(2)
摘要:(4) 目录服务操作 1、目录服务的操作 我们会用LDAP作为例子来讲解目录服务的操作。与命名服务不同,目录服务的内容上下文的初始化方式需要 改变:java 代码//Setuptheenvironmentforcreatingtheinitialcontext Hashtableenv=newHashtable(); env.put(Context.INITIAL_CONTEXT_FACTOR...
阅读全文
posted @
2010-11-24 21:23
aurawing
阅读(592)
推荐(0)
jndi step by step
摘要:(1) jndi 介绍你真的十分了解JNDI吗?真的知道命名服务和目录服务的区别吗?真的知道为什么有的时候 new InitContext() 会出错?原因是什么?JNDI是J2EE的重要组成部分,让我们来好好学习一下Sun的JNDI教程吧,把这些疑惑一一解开。这些资料都来自Sun的JNDI教程,我会每天坚持翻译一点,但是不会全部翻译的,例如如何操作LDAP部分。有的地方原文档有些啰嗦,我就改成简...
阅读全文
posted @
2010-11-24 21:19
aurawing
阅读(404)
推荐(0)
Spring事务传播机制
摘要:概述当我们调用一个基于Spring的Service接口方法(如UserService#addUser())时,它将运行于Spring管理的事务 环境中,Service接口方法可能会在内部调用其它的Service接口方法以共同完成一个完整的业务操作,因此就会产生服务接口方法嵌套调用的情况, Spring通过事务传播行为控制当前的事务如何传播到被嵌套调用的目标服务接口方法中。事务传播是Spring进行...
阅读全文
posted @
2010-11-24 21:16
aurawing
阅读(21888)
推荐(1)
深入了解Java ClassLoader、Bytecode 、ASM、cglib
摘要:一、Java ClassLoader1,什么是ClassLoader 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。 而且,Java ClassLoader 就是用 Java 语言编...
阅读全文
posted @
2010-11-24 21:15
aurawing
阅读(1463)
推荐(0)
Java对象池技术的原理及其实现
摘要:摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。 关键词 对象池;对象池技术;Java 对象;性能 Java对象的生命周期分析 Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3。其中T1表示对象的创建时间,T2表示对象...
阅读全文
posted @
2010-11-24 21:15
aurawing
阅读(517)
推荐(0)
MVC架构探究及其源码实现
摘要:(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
阅读(1579)
推荐(0)
freemarker中实现自定义标签(包含处理参数以及循环变量)
摘要:Java代码 importjava.io.IOException; importjava.io.Writer; importjava.util.Iterator; importjava.util.Map; importfreemarker.core.Environment; importfreemarker.template.SimpleNumber; importfreemarker.templ...
阅读全文
posted @
2010-11-24 21:10
aurawing
阅读(10140)
推荐(2)
全面探索 FreeMarker 模版引擎的扩展性
摘要:本文全面介绍了在 Java 语言中功能十分强大的模版引擎 — FreeMarker,以及对 FreeMarker 的可扩展性进行了全面探索。FreeMarker 模版引擎简介FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具。 FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMar...
阅读全文
posted @
2010-11-24 21:10
aurawing
阅读(703)
推荐(0)
FreeMarker2.3.10 ―Programmer's Guide(中文版)
摘要:FreeMarker2.3.10―Programmer's Guide(中文版)翻译:Magice(魔冰)QQ: 8163090前言.........................................................................3一、快速入门.........................................................
阅读全文
posted @
2010-11-24 21:09
aurawing
阅读(1046)
推荐(0)
Spring 的优秀工具类盘点
摘要:第 1 部分: 文件资源操作和 Web 相关工具类 Spring 不但提供了一个功能全面的应用开发框架,本身还拥有众多可以在程序编写时直接使用的工具类,您不但可以在 Spring 应用中使用这些工具类,也可以在其它的应用中使用,这些工具类中的大部分是可以在脱离 Spring 框架时使用的。了解 Spring 中有哪些好用的工具类并在程序编写时适当使用,将有助于提高开发效率、增强代码质量。在这个分为...
阅读全文
posted @
2010-11-24 21:09
aurawing
阅读(628)
推荐(0)
Spring MVC框架的高级配置
摘要:本文将为您提供关于Spring MVC框架的配置技巧,以帮助管理基于Spring的web应用程序的多个实例。本配置管理主题常被学术界所忽略,但是,这对于现实的web开发尤为重要。本主题并不直接关联任何具体的技术,因此,我们将从最基本的概念开始对这个问题进行说明。下面,我们将根据Spring MVC框架,为基于本技术开发的项目提供一系列的解决方案。 Spring配置 人们经常会在一台以上的主机上配置...
阅读全文
posted @
2010-11-24 21:08
aurawing
阅读(1025)
推荐(0)
使用 Spring 2.5 基于注解驱动的 Spring MVC
摘要:基于注解的配置有越来越流行的趋势,Spring 2.5 顺应这种趋势,为 Spring MVC 提供了完全基于注解的配置。本文将介绍 Spring 2.5 新增的 Sping MVC 注解功能,讲述如何使用注解配置替换传统的基于 XML 的 Spring MVC 配置。概述继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注...
阅读全文
posted @
2010-11-24 21:07
aurawing
阅读(232)
推荐(0)
Spring AOP使用整理:使用@AspectJ风格的切面声明
摘要:要启用基于@AspectJ风格的切面声明,需要进行以下的配置:Xml代码 <!--启用@AspectJ风格的切面声明--><aop:aspectj-autoproxyproxy-target-class="true"/><!--通过注解定义bean。默认同时也通过注解自动注入--><context:component-scanbase-package="c...
阅读全文
posted @
2010-11-24 21:07
aurawing
阅读(1646)
推荐(1)
mina中文教程
摘要:现在已经是World Wide Web的时代,无数的web应用框架被创造出来从而大大的提高了web开发的速度。抛开WWW的这个优势,我们知道还有很多协议是HTTP协议所无法替代的。有时,我们仍然需要构造c/s应用来实现适当的协议。=== MINA是什么? ===你有没有曾经使用java或者其他语言实现过某个协议栈?就像你所经历过的那样,编写网络应用即使对于有经验的开发者也不是容易的事情。这归咎于以...
阅读全文
posted @
2010-11-24 21:06
aurawing
阅读(2264)
推荐(0)