一消息队列
1 一个Java 虚拟机和数据库, 一个基于Web的订单系统和一个库存系统 存在重负过载
2 拆分订单系统和库存系统, 订单系统和一个Java虚拟机和数据库,库存系统和一个Java虚拟机和数据库
同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作
异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。
阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.
同步阻塞: 同步体现在:等待完成通知。 - 阻塞体现在:等待完成通知过程中,不能做其他任务处理
同步非阻塞: 同步体现在:等待完成通知。非阻塞体现在:等待完成通知过程中,去干别的任务了,只是时不时会瞄一眼进度条【必须要在两个任务间切换,关注进度】
异步阻塞: - 异步体现在:下载完成后会通知。 - 阻塞体现在:等待下载完成后通知过程中,不能做其他任务处理。
异步非阻塞: 异步体现在:下载完成“后通知。 - 非阻塞体现在:等待下载完成后通知过程中,去干别的任务了,只需要接收通知即可。
回调机制 总结起来就我调你的方法,你再回调我的方法。
- 类A的a()方法调用类B的b()方法
- 类B的b()方法执行完毕主动调用类A的callback()方法
抽象类回调 回调重复多了,加抽象类,不用管具体是谁,只要他实现了,你就知道它有一个抽象方法,你处理完了之后直接回调它,其他继承(extends )抽象类
接口回调 Java不允许多继承,接口可以随意实现,只需要把extends xxxClient 改为implements xxxxCallBack即可。
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。
序列化 Java序列化就是指把Java对象转换为字节序列的过程
Java反序列化就是指把字节序列恢复为Java对象的过程。
序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。
反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。
总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)