Java Technology
文章平均质量分 68
Jackiezhw
这个作者很懒,什么都没留下…
展开
-
引用等同性与对象等同性及对象复制
在Java中判断一个对象是否“相等”,往往引入一些混乱的认识,本文就介绍一下,他们到底有什么差别。Java中的判等可以分为引用等同性和对象等同性两类。对于任何引用类型而言,该类型的某个变量所保存的值是一个引用,这个引用或者是特殊值null,或者是一个指向内存的指针。引用类型的赋值只是对引用的复制过程。因此,赋值过程不会创建一个新对象,只是为同一个对象创建了另外的一个名称(引用)而已。这一原创 2007-06-22 22:19:00 · 1160 阅读 · 0 评论 -
Java Reflection
简介Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于转载 2007-06-19 15:43:00 · 922 阅读 · 0 评论 -
How to Design a Good API and Why it Matters
近日设计RMI到Infiniband网络的接口,发现如何设计一个好的API是个很有挑战的问题。看了Joshua Bloch的ppt,做了一个总结API可以成为一个公司很大的资产,因为好的API是可以赢得客户的。而且一旦API被public就很难改变,这也是在Java的包中有很多Deprecated的类和方法,却不能直接被删除。好的代码应该是模块化的,每个模块都有自己的API;有用的模块原创 2007-09-11 10:45:00 · 2055 阅读 · 0 评论 -
javac的一个问题
前段时间wan在写程序时碰到一个问题,没有解决,今天看到csdn上有人讨论。终于找到了问题的根了。源程序如下:package c05;public class PackagedClass...{ public PackagedClass()...{ System.out.println("cesdjf"); }}原创 2007-09-07 22:23:00 · 968 阅读 · 0 评论 -
Java Annotation(since 5.0)
Annotation是从JDK5.0开始被引入的新特性。下面是Java文档中对该特性的一段描述:The Java platform has always had various ad hoc annotation mechanisms. For example the transient modifier is an ad hoc annotation indicating that a fi原创 2007-08-24 19:49:00 · 1375 阅读 · 0 评论 -
Java Dynamic Proxy
代理模式 代理模式的三个角色:1. 抽象主题角色:声明真实主题和代理主题的共同接口2. 代理主题:含有对真是主题的引用,可在任何时候操作真实主题3. 真是主题:实现逻辑的类类图如下:图1Java 动态代理从JDK1.3开始,Java就引入了动态代理的概念。动态代理(Dynamic Proxy)可以帮助你减少代码行数,真正提高代码的可复用度。 类图如下:原创 2007-06-01 10:27:00 · 1563 阅读 · 0 评论 -
RMI服务提供者注册服务的2种方式
第1种方式:1. 使用UnicastRemoteObject类的静态方法exportObject将一个Remote对象(服务提供者)export给RMI runtime,这样之后,才可以接受远程调用,并返回一个用于传送给client的stub对象Server obj = new Server();Hello stub = (Hello) UnicastRemoteObject.export原创 2007-05-30 20:03:00 · 1816 阅读 · 0 评论 -
java.rmi.server.codebase Property介绍
在使用RMI编程的时候,有时会出现如下的错误: java.rmi.ServerException: RemoteException occurred in server thread; nested excption is: java.rmi.UnmarshalException: error unmarshalling arguments; nested excetion is原创 2007-05-30 18:55:00 · 6051 阅读 · 2 评论 -
RMI中使用工厂模式
工厂模式是类的创建模式,具体又分为简单工厂模式、工厂方法模式和抽象工厂模式。在这里就不详细介绍他们之间的区别。最近在看RMI时,发现工厂模式可以在RMI中使用,Sun的文档中专门对此做了介绍,下面我就引用这个例子,看看如何在RMI中使用工厂模式。前提:1. There are two remote interfaces that the client understands, Factor原创 2007-05-30 15:50:00 · 1171 阅读 · 0 评论 -
Find a way out of the ClassLoader maze
问题:何时使用Thread.getContextClassLoader()? 这是一个很常见的问题,但答案却很难回答。这个问题通常在需要动态加载类和资源的系统编程时会遇到。总的说来动态加载资源时,往往需要从三种类加载器里选择:系统或说程序的类加载器、当前类加载器、以及当前线程的上下文类加载器。在程序中应该使用何种类加载器呢? 系统类加载器通常不会使用。此类加载器处理启动应用程序转载 2007-08-02 15:10:00 · 1274 阅读 · 0 评论 -
Java Dynamic ClassLoading (II. diff)
如果不在构造函数中特别指定parent,用户自定义的类加载器的parent都是system classloader,可以通过getParent( ) 方法获取。1. Class.forName( name ) public static Class forName(String className) throws ClassNotFoundEx原创 2007-08-02 12:16:00 · 1060 阅读 · 0 评论 -
Java Dynamic ClassLoading (I. intro)
1. JVM启动,会形成3个类加载器组成的初始化加载器层次结构:bootstap classloader (加载核心类) ||extension classloader(系统属性java.ext.dirs指向的目录,如果有多个目录,往往只使用其中的一个) ||system classloader (加载属性java.class.path指向的目录,即CLASSPA转载 2007-08-02 12:08:00 · 1098 阅读 · 0 评论 -
Java,天生丽质乱人眼 zz
Java在国外很多大学已经取代语言成为主要教授的语言了。 上面这句是话我在很多Java论坛上经常看到的,意为Java已经打倒了C的霸主地位,成为了编程界一统天下的强大语言了。 Java确实天生丽质,严谨的类库设计,多面手的应用和非凡的语法让我一接触到Java就被深深地迷住了。但是Java能够取代C这一点上,我还是不敢苟同。 C,何方神圣也?Unix,Linu转载 2007-04-03 08:55:00 · 1545 阅读 · 0 评论 -
(zz)What does volatile do?
This is probably best explained by comparing the effects that volatile and synchronized have on a method. volatile is a field modifier, while synchronized modifies code blocks and methods. So we can s转载 2007-03-28 15:27:00 · 768 阅读 · 0 评论 -
Java的访问控制
默认的时候可以被同一类和它的子类访问,同一包和其他包中的类不可以访问;protected可以被同一类、子类和同一包中的类访问,其他包中的类不可以访问;protected access requires a little more elaboration. Suppose class A declares a protected field x and is extended by a cl转载 2007-10-11 20:40:00 · 778 阅读 · 0 评论