当前位置: 首页 > news >正文

网站建设源程序清单宁波seo推广优化

网站建设源程序清单,宁波seo推广优化,软件开发企业,做建设网站的活的兼职创建的字节流与平台无关。因此#xff0c;在一个平台上序列化的对象可以在另一个平台上反序列化。为了使Java对象可序列化#xff0c;我们实现java.io.Serializable可序列化接口。ObjectOutputStream类包含writeObject()序列化对象的方法。public final voidwriteObject(Obje…创建的字节流与平台无关。因此在一个平台上序列化的对象可以在另一个平台上反序列化。为了使Java对象可序列化我们实现java.io.Serializable可序列化接口。ObjectOutputStream类包含writeObject()序列化对象的方法。public final voidwriteObject(Object obj)throws IOExceptionObjectInputStream类包含readObject()用于反序列化对象的方法。public finalObject readObject()throwsIOException,ClassNotFoundException1、序列化的优点保存/保持对象的状态。在网络中传输一个物体。只有那些类的对象可以序列化这些类正在实现java.io.Serializable可序列化接口。可序列化是标记接口(没有数据成员和方法)。它用于“标记”java类以便这些类的对象可以获得一定的功能。标记接口的其他示例包括Cloneable and Remote.2、要点1如果父类实现了可序列化接口则子类不需要实现它反之亦然。2只有非静态数据成员通过序列化过程保存。3static数据成员和transient数据成员不会通过序列化过程保存。所以如果您不想保存非静态数据成员的值请将其设为transient。4反序列化对象时从不调用对象的构造函数。5关联对象必须实现可序列化接口。例子class A implementsSerializable{//B also implements Serializable//interface.B obnewB();}3、SerialVersionUID(序列号)序列化运行时将一个版本号与每个称为SerialVersionUID的可序列化类相关联在反序列化过程中使用该序列号验证序列化对象的发送方和接收方是否为该对象加载了与序列化兼容的类。如果接收方为对象加载的类的UID与相应发送方类的UID不同则反序列化将导致InvalidClassException. 可序列化类可以通过声明字段名来显式声明自己的UID。它必须是static、final和long类型。l例如(public/private/protected/default) static final long serialVersionUID42L如果可序列化类没有显式声明serialVersionUID则序列化运行时将根据类的各个方面为该类计算默认值如Java对象序列化规范中所述。但是强烈建议所有可序列化类显式声明serialVersionUID值因为它的计算对类细节高度敏感这些细节可能因编译器实现而异因此类中的任何更改或使用不同的id都可能影响序列化的数据。还建议对UID使用private修饰符因为它作为继承成员没有用处。4、serialver(串行器)serialver是JDK附带的工具。它用于获取Java类的serialVersionUID号。您可以运行以下命令来获取serialVersionUIDserialver [-classpath classpath] [-show] [classname…]例1//Java code for serialization and deserialization//of a Java objectimport java.io.*;class Demo implementsjava.io.Serializable{public inta;publicString b;//Default constructorpublic Demo(inta, String b){this.a a;this.b b;}}classTest{public static voidmain(String[] args){Demo object new Demo(1, geeksforgeeks);String filename file.ser;//Serializationtry{//Saving of object in a fileFileOutputStream file newFileOutputStream(filename);ObjectOutputStream out newObjectOutputStream(file);//Method for serialization of objectout.writeObject(object);out.close();file.close();System.out.println(Object has been serialized);}catch(IOException ex){System.out.println(IOException is caught);}Demo object1 null;//Deserializationtry{//Reading the object from a fileFileInputStream file newFileInputStream(filename);ObjectInputStream in newObjectInputStream(file);//Method for deserialization of objectobject1 (Demo)in.readObject();in.close();file.close();System.out.println(Object has been deserialized );System.out.println(a object1.a);System.out.println(b object1.b);}catch(IOException ex){System.out.println(IOException is caught);}catch(ClassNotFoundException ex){System.out.println(ClassNotFoundException is caught);}}}输出Object has been serializedObject has been deserializeda 1b geeksforgeeks例2//Java code for serialization and deserialization//of a Java objectimport java.io.*;class Emp implementsSerializable {private static final long serialversionUID 129348938L;transient inta;static intb;String name;intage;//Default constructorpublic Emp(String name, int age, int a, intb){this.name name;this.age age;this.a a;this.b b;}}public classSerialExample {public static voidprintdata(Emp object1){System.out.println(name object1.name);System.out.println(age object1.age);System.out.println(a object1.a);System.out.println(b object1.b);}public static voidmain(String[] args){Emp object new Emp(ab, 20, 2, 1000);String filename shubham.txt;//Serializationtry{//Saving of object in a fileFileOutputStream file newFileOutputStream(filename);ObjectOutputStream out newObjectOutputStream(file);//Method for serialization of objectout.writeObject(object);out.close();file.close();System.out.println(Object has been serialized\n Data before Deserialization.);printdata(object);//value of static variable changedobject.b 2000;}catch(IOException ex) {System.out.println(IOException is caught);}object null;//Deserializationtry{//Reading the object from a fileFileInputStream file newFileInputStream(filename);ObjectInputStream in newObjectInputStream(file);//Method for deserialization of objectobject (Emp)in.readObject();in.close();file.close();System.out.println(Object has been deserialized\n Data after Deserialization.);printdata(object);//System.out.println(z object1.z);}catch(IOException ex) {System.out.println(IOException is caught);}catch(ClassNotFoundException ex) {System.out.println(ClassNotFoundException is caught);}}}输出Object has been serializedData before Deserialization.nameabage 20a 2b 1000Object has been deserializedData after Deserialization.nameabage 20a 0b 2000输出说明在反序列化对象时您已经看到a和b的值发生了更改。原因a是transient修饰 b是static修饰。transient在序列化过程中使用transient关键字定义的变量未序列化。在反序列化期间将使用默认值初始化此变量。(例如Object为nullint为0)static使用static关键字定义的变量在序列化过程中未序列化。在反序列化期间将使用类中定义的当前值加载此变量。
http://www.yutouwan.com/news/145484/

相关文章:

  • 自己做的网站出现广告北京专业建设网站公司
  • 南通专业做网站wordpress应用在虚拟主机上
  • 做土地租赁买卖的网站有哪些win服务器做网站
  • 网站建设制作设计开发找别人做网站怎么防止别人修改
  • 天津营销类网站设计营销推广
  • 惠州网站建设怎么样网商网官网
  • 免费素材哪个网站比较好想建立一个网站怎么做
  • 网站建设合同范本学做各种糕点的网站
  • app手机网站模板免费下载设计教育培训
  • 个人网站推广怎么做宁波网络推广方案公司推荐
  • 企业门户网站的主要技术指标宁波网站推广优化联系电话
  • 学校网站建设制度高中作文网站
  • 论文中引用网站怎么写杭州网站建设过程
  • 站长工具网站推广合优人才网下载
  • 济南网站建设网络公司网站模板 seo
  • 哈密网站建设公司哪家专业合肥网站建设程序
  • 永久网站空间医院 网站建设 新闻
  • 建设个人商城网站网站开发百度云
  • 简述jsp网站架构旅行社网站建设规划
  • 大学生网站开发比赛专门做私人定制旅游的网站
  • 河北人工智能建站系统软件天津网站建设培训课件
  • 游戏攻略网站开发网站站长如何赚钱
  • 二手交易平台 网站开发深圳网站建设厂家
  • 做自媒体要知道的网站关于网站建设方案
  • 成都网站建设找亮帅广州网站建设seo
  • 为何上不了建设银行网站wordpress+留言本
  • 网站制作公司怎么找一个主机建多少个网站
  • 温州市手机网站制作多少钱wordpress 课程管理系统
  • 放心的网站建设代理咸宁网站开发
  • 建成局网站建设网站如何建设与优化