设计模式—KQC 0920

  • ①报错:Exception in thread "main" java.io.NotSerializableException:com.aaa.test1.God
  • 解决:在God类之后实现Serializable接口。即:implements Serializable
  • ②设计模式测试—KQC
    • 要求:
    • 实现效果:
    • 代码:
      • CopyUtil :
      • God :
      • GodCopy :

①报错:Exception in thread “main” java.io.NotSerializableException:com.aaa.test1.God

(翻译成中文:在com.aaa.test1.God类的线程中出现无序列化异常)

解决:在God类之后实现Serializable接口。即:implements Serializable

(extends是继承类,implements是实现接口。)java中 implement和extends的作用和区别详细解释https://blog.csdn.net/YouYou_GO/article/details/83539537

②设计模式测试—KQC

要求:

1.定义上帝类:
方法: 创建世界
2.要求使用懒汉,并且多线程安全的单例模式创建上帝类对象
3.接着针对创建的上帝类对象,使用深拷贝的方式,创建另外一个上帝对象
4.测试:
a.用单例模式获取两个上帝类对象,打印对象地址
b.用深拷贝方式获取两个对象,打印对象地址

实现效果:

代码:

CopyUtil :

package com.aaa.test1;import java.io.*;public class CopyUtil {public static Object copyDeep(Object obj) throws IOException, ClassNotFoundException {//定义 内存字节数组输出流:将字节数组输出到内存中的某个区域ByteArrayOutputStream bos=new ByteArrayOutputStream();//对象输出字节流:将数据对象写入到内存字节数组流中ObjectOutputStream oos=new ObjectOutputStream(bos);oos.writeObject(obj);//创造字节数组输入流:从上面的字节数组输出流中读取数据ByteArrayInputStream bis=new ByteArrayInputStream(bos.toByteArray());ObjectInputStream ois=new ObjectInputStream(bis);return ois.readObject();}
}

God :

package com.aaa.test1;import java.io.Serializable;public class God implements Serializable {//创造世界方法public void create(){System.out.println("创造世界");}//静态内部类static class InnerCls{//内部类中定义静态对象static God god=new God();}//获取静态内部类中的对象public static God getInstance(){return InnerCls.god;}
}

GodCopy :

package com.aaa.test1;import java.io.IOException;public class GodCopy {public static void main(String[] args) throws IOException, ClassNotFoundException {//原型对象God g1=new God();//通过字节数组流的方式,将对象数据写道内存中,然后再复制一份。实现深度copyGod g2=(God) CopyUtil.copyDeep(g1);//调用方法g1.create();g2.create();//输出对象System.out.println(g1);System.out.println(g2);}
}

Exception in thread “main“ java.io.NotSerializableException:相关推荐

  1. Hadoop streaming: Exception in thread main java.io.IOException: No space left on device

    在使用Hadoop streaming时,遇到报错如标题: packageJobJar: [mapper_sim.py, reducer_sim.py, XXX files, /tmp/hadoop- ...

  2. Exception in thread “main“ java.io.FileNotFoundException: C:\Temp (拒绝访问。)

    Exception in thread "main" java.io.FileNotFoundException: C:\Temp (拒绝访问.)     at java.io.F ...

  3. 解决:Exception in thread “main“ java.io.IOException: Failed on local exception: com.google.protobuf

    集群上提交运行jar包程序,出现如下错误: Exception in thread "main" java.io.IOException: Failed on local exce ...

  4. 报错:Exception in thread “main“ java.io.IOException: 设备未就绪。

    今天用File创建文件,但是一直报错,报错提示设备未就绪,很纳闷 Exception in thread "main" java.io.IOException: 设备未就绪.at ...

  5. Exception in thread “main“ java.io.FileNotFoundException: test\mybatis-config.xml (系统找不到指定的路径。)

    Exception in thread "main" java.io.FileNotFoundException: test\mybatis-config.xml (系统找不到指定 ...

  6. 【解决】Exception in thread main java.io.IOException: Nameserver not responding on 127.0.0.1

    Erlang Jinterface项目启动报错如下: Exception in thread "main" java.io.IOException: Nameserver not ...

  7. java使用工具类生成验证码图片时,出现Exception in thread “main“ java.io.FileNotFoundException: C:\a.jpg (拒绝访问。)

    使用这段代码来测试生成验证码图片时 public static void main(String[] args) throws IOException {//生成验证码的图片位置OutputStrea ...

  8. 【Java报错找不到指定文件】Exception in thread “main“ java.io.FileNotFoundException:...... (系统找不到指定的文件。)

    出错代码 (这段代码位于Src_exp2_3.java中) public static String getValue(String key) throws IOException{Propertie ...

  9. Exception in thread “main“ java.io.EOFException原因

    样例 例子1: 例子二 例子1: 写入两个对象,却要读取3次Object,因为已经到达了文件末尾,后面不存在了任何要读取的对象,所以直接再次读取就会抛出异常,一般这种情况就是先判断有没有数据需要读取, ...

  10. Exception in thread “main“ java.io.IOException: Cannot run program “python3“: CreateProcess error=2,

    解决方案: 环境变量里系统变量增加一个 PYSPARK_PYTHON = D:\Anaconda3\python.exe

最新文章

  1. 基于JavaSpringmvc+myabtis+html的鲜花商城系统设计和实现
  2. 如何网络监测其他计算机关闭445端口,关闭445端口的方法,小编告诉你电脑如何关闭445端口-站长资讯中心...
  3. Docker技术入门与实战
  4. Java SE 6之GUI:让界面更加绚丽(下)
  5. 深入理解并行编程-分割和同步设计(五)
  6. c mysql学生管理系统_C++ 简单的学生信息管理系统
  7. 支付宝、京东支付场景之策略模式实战
  8. ascll编码表图片_ASCLL编码表
  9. 静态路由配置实例学习记录
  10. ORBSLAM3 VIO初始化
  11. 如何做一个基于微信积分商城小程序系统毕业设计毕设作品
  12. 中断调用与子程序调用
  13. 微信定时发消息Python代码,简单好玩
  14. P1919 FFT加速高精度乘法
  15. 想象力无限,人工智能时代你对AGV有什么期许
  16. 罗马数字和阿拉伯数字之间的转换
  17. 长沙距离中国的“凤凰城”还有多远?
  18. jquery 做一个小的倒计时效果
  19. 斗破苍穹-云韵 AI生成高清大图
  20. 展示5G和AI的魅力,智博会这个展区为啥人气最旺?

热门文章

  1. win10系统声音很大,微信等应用声音很小的问题
  2. 手机聊天页面 html5,HTML5仿手机微信聊天界面
  3. 部分无法打开的pdf文件处理方法
  4. html全景直播播放器,Insta360 Player(全景视频播放器) V2.3.6 官方版
  5. Pigeon中的Netty应用
  6. 树莓派ONVIF推流做网络摄像头
  7. 使用Scala实现Either数据结构
  8. Runloop与UITableView简单结合
  9. 测试用例的设计方法_场景设计法
  10. #35 insert