Java中对象的生命周期
(1) 对象生命周期的开始
对象生命周期开始时,需要为对象分配内存,并且初始化它的实例变量;
对象生命周期结束
Java虚拟机的垃圾回收线程回收对象的内存。
(2) 创建一个对象指创建一个类的实例,前提是类被初始化,对象可以被显式或者隐式创建,显式创建对象有以下几种方式
a. new语句创建对象
b.利用反射机制,调用java.lang.Class的forName()和java.lang.reflect.Constructor的newInstance()方法
Class objClass = Class.forName("Customer");
Customer c = (Customer)objClass.newInstance();
c.调用对象的clone()方法
d.运用反序列化方法,调用java.io.ObjectInputStream类的readObject()方法
(3)使用new或者反射的方法时,会执行类的构造函数,使用对象的clone方法,不会调用构造函数。
(4)关于clone()
a. Object类中声明为protected类型,如果Object的子类想对外公开clone()方法,需要扩大访问权限;
b. 使用clone()方法需要实现Cloneable接口;
c.调用clone()方法会创建一个复制的对象,这个对象和原来的对象具有不同的内存地址,但是他们的属性值相同;
(5)隐式地创建对象
a. java命令的命令行参数
b. String类型的直接数对应一个String对象
c. 字符串操作符“+”结果为一个新的String对象
&
相关文档:
第1条 How to Write an Equality Method in Java
http://www.artima.com/lejava/articles/equality.html
How to Write an Equality Method in Java
by Martin Odersky, Lex Spoon, and Bill Venners
June 1, 2009
Summary
This article describes a technique for overriding the equals method t ......
1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟 ......
http://www.java-cn.com/technology/tech/4759.html
偶尔在网上发现的一片关于掌握JAVA的标准,感觉有点意思,虽然在一些观点上有些偏颇,但作为学习JAVA的引导尚可。至于原创是谁没有必要考证。
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里, ......
Java类的初始化顺序
我把Java类的初始化顺序分为两部分。第一部分是类的初始化,第二部分是对象的初始化。
在初始化之前JVM必须先把该类的字节码加载到内存中来。这时不管创不创建对象都会马上执行类的初始化:
执行静态初始化表达式(如static int a = 10)和静态初始化块(即static{}中的内容),注意两 ......