beplay外围投注

2.如何实现自定义序列化和反序列化?只需要被序列化的对象所属的类定义了voidwriteObject(ObjectOutputStreamoos)和voidreadObject(ObjectInputStreamois)方法即可,Java序列化和反序列化的时候会调用这两个方法,那么这个功能是怎么实现的呢?1.在ObjectClassStream类的构造函数中有下面几行代码:cons=getSerializableConstructor(cl);writeObjectMethod=getPrivateMethod(cl,"writeObject",??newClass[]{ObjectOutputStream.class},??Void.TYPE);readObjectMethod=getPrivateMethod(cl,"readObject",??newClass[]{ObjectInputStream.class},??Void.TYPE);readObjectNoDataMethod=getPrivateMethod(??cl,"readObjectNoData",null,Void.TYPE);hasWriteObjectData=(writeObjectMethod!=null);getPrivateMethod()方法实现如下:privatestaticMethodgetPrivateMethod(Classcl,Stringname,??????????????????Class[]argTypes,??????????????????ClassreturnType){??try{????Methodmeth=cl.getDeclaredMethod(name,argTypes);????meth.setAccessible(true);????intmods=meth.getModifiers();????return((meth.getReturnType()==returnType)&&????????((mods&Modifier.STATIC)==0)&&????????((mods&Modifier.PRIVATE)!=0))?meth:null;??}catch(NoSuchMethodExceptionex){????returnnull;??}}可以看到在ObejctStreamClass的构造函数中会查找被序列化类中有没有定义为voidwriteObject(ObjectOutputStreamoos)的函数,如果找到的话,则会把找到的方法赋值给writeObjectMethod这个变量,如果没有找到的话则为null。示例1如何在Java8中获取当天的日期Java8中有一个叫LocalDate的类,它能用来表示今天的日期。记者采访了家在赣州的吴女士,她在百度时代网络技术(北京)有限公司工作,主要从事网站设计、客户端设计等等。
全国服务订购热线:beplay备用网址
欢迎来到beplay外围投注 官网
关于我们
      beplay外围投注 于1999年由国营企业核心科技团队组建,致力于冷弯(辊压)成形技术研究及钢、铝型材冷弯成型设备的创新制造,属中国冷弯型钢协会常任理事单位。&n…
热门推荐
资讯动态
C型钢转型求发展仍是不可回避的问... 彩钢瓦成型机的使用规程及组成特点 C型钢设备的改进过程及工艺流程是... 彩钢瓦成型机怎样做到质量控制 神力机械彩钢瓦机的组成及安装
联系方式

24小时全国服务订购热线

beplay备用网址

联 系  人:
张经理 185 8386 8888

公司地址:四川省眉山市青神县机械大道9号
© 2018 beplay外围投注 版权所有。  蜀ICP备17004766号-1