需要解决的问题:
作用于某一个对象群时,对象本身不变化,对象可以通过与它交互的对象获取不同的行为。
具体事例:
当你去银行办理业务的时候,会发现银行内部开设了不同的窗口(普通业务、代办业务、基金保险等等),你可以根据实际的需要选择自己需要的窗口办理业务。比如:你去了普通窗口,工作人员会认为你就是来办理普通业务的;而你去了代办业务窗口,工作人员会认为你就是来办理代办业务的;否则你就失去错了窗口。
具体实施步骤:
1、定义一个对象群,此处容易误解,可以这样说:定义一个容纳所有业务需要的对象。
2、定义一个接口,处理对象群与固定对象的业务关系。
3、实现固定对象与对象群的对象交互,定义所有的业务实现 ...
需要解决的问题:
由于对象的某些状态发生了变化,而要通知其他与此状态有关联的对象进行更新。
具体事例:
当我对设置的姓名以及密码(观察对象)进行更改时,希望有关由此保密信息的其他对象(观察者)感知到,进而进行更新处理或者其他业务处理。
具体实施步骤:
1、注册需要对象观察的信息。(本例即姓名以及密码)
2、实现于此信息相关的对象的接收方法。(本例即姓名密码更改后,需要更新的对象)
代码模板:
需要感知的对象。
import java.util.Observable;
public class MyObservable extends Observable {
private ...
说明:
昨天看到一篇关于谈类初始化问题的,转载了一下,没有发表成功,现在自己将自己的理解整理了一番,希望探讨一下。
由于前面的一篇文章http://zangweiren.javaeye.com/blog/208122没有谈到内部类,现就这个测试一下。
public class TestA {
static class A {
static String string1 = "内部类--静态数据";
String string2 = "内部类--实例数据";
static {
System.out.println(string1);
}
{
...
说明:
前几天写了一篇关于堆栈的文章,提出了一系列问题,终于找到一篇比较全面介绍这方面的东西,还是比较有可信性的,供大家参考可以继续讨论。
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配 ...
用eclipse,在导入相应的包后(有人说不导包也有提示,因为默认的eclipse导入了jdk的包),eclipse会有代码提示功能。
那么XML文件能不能也这样呢?其实也是可以的,只不过导包的地方不一样。下面以spring为例(虽然Myeclipse6.5中已经集成了,这里只是示范说明)。
进入:window -> Preference... -> MyEclipse -> Editors -> XML ->XML Catalog
选择:选中“User Specified Entries”,点击“Add...”按钮
填入:
URI: 请选择本地文件系统上SPRING_HOME\dis ...
Egothor Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。
Nutch Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
Lucene
Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一 ...
关键字: j2ee
引用本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三种核心技术的一个简介。本文分门别类的对J2EE中的服务,组件,层次,容器,API都做了比较详细的介绍,相信看完此文,读者会对J2EE有一个更清晰的认识。
一. J2EE的概念
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Stand ...
由String看Java堆栈问题,包括==以及equal()。
首先看代码:
1
public class TestString {
public static void main(String[] args) {
String a0 = "abc";
String b0 = "abc";
if (a0 == b0) {
System.out.print("==");
} else {
System.out.print("!=");
}
}
}
执行结果为:
==
2
public class TestString ...
1、到底在哪用cascade="..."?
cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有cascade的关系就会被自己动的插入或是删除。便是为了能正确的cascade,unsaved-value是个很重要的属性。Hibernate通过这个属性来判断一个对象应该save还是update,如果这个对象的id是unsaved-value的话,那说明这个对象不是persistence object要save(insert);如果id是非unsaved-value的话,那说明这个对象是per ...
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器。
我们也可以通过下面的测试代码来验证这一点:
Java代码
public class InitialOrderTest {
// 静态变量
public static String staticField = "静态变量";
// 变量
public String field = "变量";
// 静态初始化块
static {
...
- 浏览: 1657 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
由String看Java堆栈问题, ...
几天没有来了,呵呵。 感谢各位的支持。 让高手们见笑了。
-- by gao_20022002 -
由String看Java堆栈问题, ...
今天是第二次看到这样的内容了!其实他们原理是很简单的没必要这么深究!《JAVA优 ...
-- by zhangxi123 -
由String看Java堆栈问题, ...
JVM的实现不保证具有相同内容的字符串一定具有相同的引用,一般来说,在类初始化时 ...
-- by bearice -
Java栈与堆的思考(转载)
不错 学到很多东西啊,谢谢
-- by mwbsky -
由String看Java堆栈问题, ...
其实要搞清楚拿==和equals()去进行比较的时候,比较的基准是什么?“==” ...
-- by storm0912






评论排行榜