- 浏览: 45334 次
- 性别:
- 来自: 上海
最新评论
-
headsen:
鄙视一下。HessianTest.rar 6.5兆下载下来,里 ...
菜鸟 Spring 源码解读 推荐流程
文章列表
get 和 load 区别
load加载方法:
Java代码
1. Users user = (Users)session.load(Users.class, userId);
Users user = (Users)session.load(Users.class, userId);
get 加载方法:
Java 代码
1. Users user = (Users)session.get(Users.class, userId);
Users user = (Users)session.get(Users.class, userId);
两加载方法 ...
上图来源于Struts2官方站点,是Struts 2 的整体结构。
一个请求在Struts2框架中的处理大概分为以下几个步骤
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 如果ActionMapper决定 ...
插入排序
1.直接插入排序
原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。
要点:设立哨兵,作为临时存储和判断数组 ...
适配器模式的宗旨是:保留现有类提供的服务,向客户提供接口,使得原本接口不兼容而功能相同的类一起工作。客户提供接口让实现一些个功能,而我们已经有类实现了相同的功能,但是两者的接口是不兼容的。现在可以实现一个新的类,利用已有类的功能去实现客户所希望的功能。
分为类适配与对象适配。
类适配:新的类继承已有类而实现期望的接口:
class NewClass extends SomeClass implements interface{};
对象适配:新类继承客户所期望的类,而在内部组合已有的类,也就是将已有类作为自己的属性,利用已有类的方法实现所继承下来的方法。
class NewC ...
饰模式应用场景举例】
比如在玩“极品飞车”这款游戏,游戏中有对汽车进行喷涂鸦的功能,而且这个喷涂鸦是可以覆盖的,并且覆盖的顺序也影响到最后车身的显示效果,假设现在喷涂鸦具有2种样式:(1)红色火焰 (2)紫色霞光如果使用“继承父类”设计这样的功能,那么类图就像如下的这样:
从图中可以看到使用继承来实现这种功能,并且是2种涂鸦样式,就需要创建4个子类,如果喷涂鸦有3种,4种呢?这种情况就是典型中学课程学习过的“排列与组合”,那简直就是“Head First设计模式”书中讲的“类爆炸”。
显然继承“奥迪汽车类”的这个办法是无效,而且是非常徒劳,繁琐的。
那么如何才能 ...
线程的同步
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。
由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。
1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:
public synchro ...
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:
bootstrap classloader
|
extension classloader
|
system classloader
bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。在Sun的JVM中,在执行java的命令中使用-Xbootclasspath选项或使用 - D选项指定sun.boot.class.path系统属性值 ...
在JAVA中,有六个不同的地方可以存储数据:
1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制 ...
Java 中的堆和栈
Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存 ...
Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。
一. Input和Output
1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO系统中,所有的stream(包括Input和Out stream)都包括两种类型:
1.1 以字节为导向的stream
以字节为导向的stream,表示以字节为单位从st ...
数组类Array。是JAVA中最基本的一个存储结构。它用于存储一组连续的对象或基本类型的数据。其中的元素的类型必须相
同。array是最有效率的一种。1、效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中 ...
毕业到现在,都好久没有好好的写过自己的心情感想了,一直是忙于工作,最主要的是住的地方不能连上网络,最近总算是开通了网络,当我想写点东西的时候,才发现,可恶的GWF居然连Google 的 Blogger 都给我封了,真是恼火的很,虽然我能翻墙过去,但是考虑到某些原因,还是决定再给自己找一个新家了,于是我来到了一直在这里潜水学习的javaeye.我要把这里记录成一个我学习的技术博客,促进自己的成长.