拦截 Struts(四)

拦截 Struts     前面提到过,通过将 Struts 动作委托给 Spring 框架而整合 Struts 和 Spring 的一个主要的优点是:您可以将 Spring 的 AOP 拦截器应用于您的 Struts 动作。通过将 Spring 拦截器应用于 Struts 动作,您可以用最小的代价处理横切关注点。     虽然 Spring 提供很多内置拦截器,但是我将向您展示如何创建自己的拦截器并把它应用于一个 Struts 动作。为了使用拦截器,您需要做三件事: …

jvm

JVM运行时数据区的内存模型由五部分组成: 【1】方法区 【2】堆 【3】JAVA栈 【4】PC寄存器 【5】本地方法栈   常量池是属于类型信息的一部分,类型信息也就是每一个被转载的类型,这个类型反映到JVM内存模型中是对应存在于JVM内存模型的方法区中,也就是这个类型信息中的常量池概念是存在于在方法区中,而方法区是在JVM内存模型中的堆中由JVM来分配的。     javac 把源码整成字节码 java 时,首先把…

C# 2.0泛型编程基础实例

泛型的基本概念。   最显著的一点就是它参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型安全,更高的效率,不过在约束方面,它只支持显示的约束,这样在灵活性方面就显得不是那么好了。我觉得它之所以能够提供更高的效率是因为泛型在实例化的时候采用了 "on-demand"的模式,即按需实例化,发生在JIT(Just In Time)编译时。 …

java Class和加载机制精华一页纸

Java 是一个解释型语言(使用了JIT后, 也有变成本地机器码的, 但一般意义上都是先预编译成字节码, 解释执行),那字节码里面包含了那些?解释的过程如何? 1、Class 字节码 I、基本信息 Class识别、版本信息 II、常量池 类似TLV表述的结构,数据类型主要是用 U1、U2 ... (对应 1,2,4,8个字节)的无符号数。 常量池并不是指类里面的常量,而是类里面所有名称和限定符(字面常量、编译常量) 因为,class中…

深入理解.NET 的JIT编译方式

    CLR只执行本机的机器代码。有两种方式产生本机的机器代码:实时编译(JIT)和预编译方式(产生native image)。 CLR使用类型的方法表来路由所有的方法调用。类型的方法表由多个入口项组成。每个入口项指向一个唯一的存根例程(stub routine)。 初始化时,每个存根例程包含一个对于CLR的JIT编译器的调用(它由内部的PreStubWorker程序公开)。在JIT编译器生成本机代码后,它会重写存根例程,插入…

Java Reflection (JAVA反射)

Java Reflection (JAVA反射)    Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。Jav…

JDK安装设置环境变量

未分类 , , , , , 发表评论
一、前言    JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK-1_5_0_06。考虑到我对Linux不熟悉,而且大多数都是在MS系统下,所以,在这里我用的是WinXP。    二、下载,安装    下载地址为JAVA官方站点:java.sun.com      JAVA中文站:http://www.java-cn.com/in…

JVM加载class文件的原理机制

Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java 的这种特性,我们可以在不重新编译其它代码的情况…

JPA 批注参考

未分类 , , , , , 发表评论
1 JPA 批注参考 版本: 5/12/06 作为 Java 企业版 5 (Java EE 5) Enterprise Java Bean (EJB) 3.0 规范的组成部分,Java 持续性 API (JPA) 显著简化了 EJB 持续性并提供了一个对象关系映射方法,该方法使您可以采用声明方式定义如何通过一种标准的可移植方式(在 Java EE 5 应用服务器内部以及 Java 标准版 (Java SE) 5 应用程序中的 EJB 容器外部均可使用)将 Java 对象映射到关系数据库表。 在 JPA …

Spring入门示例

转自: http://dev.yesky.com/238/2599738.shtml   应一位朋友的要求,写一个最简单的spring示例,使用spring的MVC,并应用了spring的依赖注入,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有涉及高级特性,比如与ORM框架的整合,事务管理,远程调用,代理等这些功能)   spring至关重要的一环就是装配,即配置文件的编写,接…

Hibernate mutable 属性分析

1、在class中声明mutable=”false” 或 @Immutable 这意味着对该类的更新将会被忽略,不过不会抛出异常,只允许有增加和删除操作。 在class中声明mutable=”false”:insert=允许,delete=允许,update=不允许 2、在集合中声明mutable=”false” 或 @Immutable 这意味着在这个集合中插入记录或删除孤行是不允许的,否则会抛出异常。只允许更新操作。不过,如果启用级联删除的话,当父类被删除时,其所有子类也…

Spring整合Hibernate的步骤

未分类 , , , , , 发表评论
为什么要整合Hibernate?1、使用Spring的IOC功能管理SessionFactory对象 LocalSessionFactoryBean2、使用Spring管理Session对象  HibernateTemplate3、使用Spring的功能实现声明式的事务管理 整合Hibernate的步骤:1、配置SessionFactory(可以自动完成) <bean id="sessionFactory"  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  <property name="configLocation…

Hibernate的Component的用法

      如果一张表的列太多了,那我们应该怎么做呢?可能有些人的做法就是:将一张一有拆分成两张表,那除了将表进行拆分,我们还能怎么样呢?在Hibernate对这种表的列太多,进行拆分,有一种非常好的解决方案,那就是基于Component技术,使用Component技术,我们可以将一种表,按照字段的类型进行分类,同一类的,可以使用一个对象进行封装,而这个封装的对象,就是一个Component。假如,一个用户他的…

maven 详解

未分类 , , , , 发表评论
Maven,发音是[`meivin],”专家”的意思。写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven缩短一些时间。 maven是什么 maven将自己定位为一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西: 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应用程序类型都定义好了一组构建规则和工具集。 输出管理 maven可以管理…

jad反编译jar

方法一:   1.解压jar文件为class   2.反编译   jad -d E:/temp/eucp -r -s java E:/temp/EUCPCommHTTPSingle/**/*.class   反编译E:/temp/EUCPCommHTTPSingle下的所有class文件到e:/temp/eucp目录下,扩展名为java文件。   方法二:   1 使用DJ java decompile 我用的是3.6,然后选择open->打开jar文件,decomile到e:/temp/eucp下   2 删除decompile目录下的class   cd e:/temp/eucp   DEL /S  *.c…