摘要: 1.java中的参数传递方式只有按值传递(都是创建一个参数的副本)。对象参数的传递也是按值传递,只不过传递的是对象的引用(A a = new A() ; 其中a即为类A的一个引用),引用存放的是对象的地址,所以在被调函数中改变对象中的属性,返回调用函数中,对象的属性也会被改变2.java程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 其中栈主要存放一些基本的数据类型(int, short, long, byte, float, double, boolean, char)和对象的句柄(即对象的引用) 而栈中主要存放对象本身和数组等内容,以及‘字符串常量池’(很小的一块内存), 阅读全文
posted @ 2010-02-25 10:01 0707 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; b)当你想用套接字在网络上传送对象的时候; c)当你想通过RMI传输对象的时候; 3、当对一个对象实现序列化时,究竟发生了什么? 在没有序列化前,每个保存在堆(Heap)中的对象都有相应的状态(state),即实例变量(in... 阅读全文
posted @ 2010-02-25 09:59 0707 阅读(212) 评论(0) 推荐(0) 编辑