java对象序列化的思考,没头绪,不知我想法哪里有错 楼主J2SE都大多数都是本地程序,为什么要传输,传给谁去。。您的概念太先进,适合去google应聘云计算相关职位。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 你的担心是正确的,所有其子类都必须是Serializable; java.lang.Object没有实现Serializable,所以那些你自己定义的一般的类是不能够Serializable的,除非你实现了这个接口。 同时,其包含的所有对象都必须是Serializable的;2. 不过也不用这么担心,因为一般情况下,JAVA的很多基本的类已经是Serializable的; 像 AWT and Swing GUI components, java基本数据类型,strings, arrays 等一般都是Serializable的。 因为基本数据类型,String还有数据等都是,所以一般你自己定义的只需要实现Serializable即可。3. 如果你的类中确实有不需要Serializable或者不能Serializable的,非常简单用transient符号 如:transient private Thread thread1;4. 并非所有的类都要Serializable,有些是没有意义的 如线程就是没有任何意义。 Java的大部分代码是执行在服务器上的,而数据又只和服务器交互,所以不算远程交互。另外 序列化implements Serializable 这个接口看其源码其实什么都没做,所以序列化实现这个接口只是一个标志,告诉这个类需要序列化,类似的理解可以参照JSON. 该类实现了序列化“implements Serializable”, 在该类中调用的其他类不用实现序列化接口!因为其他类的对象在该类里面可以看成是该类的变量!int a=100;Person p=new Person();该类序列化,确保了该类里的所有属性和方法都“被序列化”! 1楼.... 感觉我发错版块了,更好去J2EE问问。在EJB分布式应用中,传输对象不奇怪吧?6楼最靠谱! 楼主,序列化的目的是什么?序列化本身的目的并不仅仅是用于网络传输。序列化让我们能够保存一个Ojbect instance当前的状态。通过序列化以后的结果,我们能够重新构造一个跟该实例一摸一样的实例。想想这样的情况,当我的程序中一个对象要对一个文件写时,该文件被其他程序持有了写权限,但是我既不想让我的程序失败,同时也不想干等在那。于是我序列化我的对象,等到某个可能该文件已经被释放的时候再构造起这个对象,来执行写操作。这能够算是序列化的初衷么?但是,是不是我们的程序中都需要这样的功能呢,显然不是。楼主说EJB在传输中需要,但是你原文说的是所有的类都应该实现该接口。程序不是设计的最完整就是最好的。找到自己合适的点才是最重要的。 捕捉到异常e,但e.getMessege信息是NULL如何解决。 求高手指教,急 运行这段代码后,DOS中出现中文时显示乱码。。。 关于String比较的问题,在线等..... 请问如何自定义自己的对话框 什么是SWT?和swing有什么区别? 高分!!! 请问如何将文件保存到客户端 启动JBoss 3.0的时候,报告端口被占用,Why? JBuilder5的注册机谁有? 怎样解决简体中文和繁体中文在IE中的共同显示问题? java编译都做了些什么? java泛型总结学习,欢迎大家提供并讨论,小弟在此先谢过众位
java.lang.Object没有实现Serializable,所以那些你自己定义的一般的类是不能够Serializable的,除非你实现了这个接口。
同时,其包含的所有对象都必须是Serializable的;
2. 不过也不用这么担心,因为一般情况下,JAVA的很多基本的类已经是Serializable的;
像 AWT and Swing GUI components, java基本数据类型,strings, arrays 等一般都是Serializable的。
因为基本数据类型,String还有数据等都是,所以一般你自己定义的只需要实现Serializable即可。
3. 如果你的类中确实有不需要Serializable或者不能Serializable的,非常简单用transient符号
如:transient private Thread thread1;
4. 并非所有的类都要Serializable,有些是没有意义的
如线程就是没有任何意义。
在该类中调用的其他类不用实现序列化接口!
因为其他类的对象在该类里面可以看成是该类的变量!
int a=100;
Person p=new Person();
该类序列化,确保了该类里的所有属性和方法都“被序列化”!
感觉我发错版块了,更好去J2EE问问。在EJB分布式应用中,传输对象不奇怪吧?
6楼最靠谱!
序列化本身的目的并不仅仅是用于网络传输。
序列化让我们能够保存一个Ojbect instance当前的状态。通过序列化以后的结果,我们能够重新构造一个跟该实例一摸一样的实例。
想想这样的情况,当我的程序中一个对象要对一个文件写时,该文件被其他程序持有了写权限,但是我既不想让我的程序失败,同时也不想干等在那。于是我序列化我的对象,等到某个可能该文件已经被释放的时候再构造起这个对象,来执行写操作。
这能够算是序列化的初衷么?
但是,是不是我们的程序中都需要这样的功能呢,显然不是。
楼主说EJB在传输中需要,但是你原文说的是所有的类都应该实现该接口。
程序不是设计的最完整就是最好的。找到自己合适的点才是最重要的。