Java基本语法
finalize方法
它是java.lang.Object类中的方法. 是protected的.
缺省时这个方法是空的. Java运行系统在垃圾回收时在对象被撤销之前调用这个方法. 但由于垃圾单元
回收的时间是不确定的.所以不能过分依赖它(这和c++的析构函数不同).
而只能是"在对象被撤销之前"做一些处理.例如可以在这里关闭构造方法中打开的套接字.
如果要重写该方法.访问属性只能是protected或更低.
///////////////////////////////////////////////////////////////////////////////
// Object类
//
// 构造方法:
// public Object()
// 其它方法:
// public final Class<? extends Object> getClass()
// //返回一个对象的运行时类(java.lang.Class 对象)。
// //该 Class 对象是由所表示类的 static synchronized 方法锁定的对象。
// public int hashCode() //返回该对象的哈希码值.用来支持哈希表.
// //哈希函数的约定是:
// // 在程序执行时对同一个对象多次调用该方法应该返回相同的整数.但一个程序
// // 的多次运行中对象的哈希码值可以不同.
// // 如果两个对象根据 equals(Object)方法比较相等. 则两对象的哈希值应该相同.
// public boolean equals(Object obj) //比较两个对象是否相等.
// 但在Object类中实现为判断2者是否引用同一个对象. 所以自己的类需要的时候要覆盖它.
// 自己写 equals 方法时应符合下边的约定:
// 测试this和obj是否引用同一个对象. if(this==obj) return true;
// 测试obj是否为null. if(obj == null) return false;
// 测试this和obj是否属于同一个类. if(getClass != obj.getClass()) return false;
// 再把obj转换为本类类型后. 比较this和obj的所有字段. 如果本类有基类.先比基类部分如:
// if (!super.equals(obj)) return false;
// protected Object clone() throws CloneNotSupportedE
相关文档:
问题:现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。
我的解法:
1.简单的方法就是模拟这个过程。使用一个数组代表老鼠是否被吃掉,循环遍历。
2.改进一下的方法,其实这个问题就是一个m=2的约瑟夫环问题。
......
5.如何从JVM中获取信息来进行调整
-verbose.gc开关可显示gc的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。打开- xx:+ printgcdetails开关,可以详细了解gc中的变化。打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发生的时间,自jvm启动以后以 ......
有人反映看不到源码,发现是CSDN的代码控件有问题。希望CSDN好好改进一下。
暂时先以文本方式发布出来,格式会变样。
import java.util.LinkedList;
public class ProducerConsumer
{
/**
* @param args
*/
public static void main(String[] args)
{
Queue queue = ......
String 与 StringBuffer区别:
String字符串对象是不可变的;StringBuffer是变长和可写的动态字符序列,可以自动地增加空间。
Integer var = new Integer();//有语法错误
Integer var = new Integer(2);//是对的
java的Vector成员是要用elementAt(i)成员函数来获得的,不能用ve[i]得到。
Vector::public Enumeration& ......