夜光序言:
人要长大,就要学会思考。思考才能让人成熟、进步。修炼也是如此,闷头苦干只是机械重复而已。真正的进步是需要停一停,想一想,再继续前进~~
正文:这里介绍一下混合编程~~
- Java混合编程
- Java程序和其他应用程序进行通讯和数据交互
- Java和Java/C/JS/Python/Web Service/命令行的混合编程
RMI(1)
- Genius:回顾下学习Java程序过程
- 在main函数里面完成所有功能
- 基于函数/方法将功能拆开,采用函数相互调用
- 类对象/继承/多态
- A a = new A(); a.f1(); //完成某一个功能
RMI(2)
- 单虚拟机JVM上的程序运行
- 启动一个main程序,然后重复以下的2个步骤
- new 出一个对象
- 调用对象的某一个方法
- 多JVM虚拟机的程序运行
- 启动多个main程序,这些程序可以部署在多个机器/虚拟机上
- 多个进程可通过网络互相传递消息进行协作
- 进程通过RMI可调用另一个机器的Java的函数
RMI(3)
- RMI:Remote Method Invocation 远程方法调用 – 两个位于不同JVM虚拟机的Java程序互相请求访问
RMI(4)
RMI(5)
- RMI的参数和返回值
- (自动化)传递远程对象(实现Remote接口)
- 当一个对远程对象的引用从一个JVM传递到另一个JVM,该远程对象的发送者和接收者将持有同一个实体对象的引用。这个引用并非是一个内存位置,而是由网络地址和该远程对象的唯一标识符构成的。
###两个JVM拥有同一个对象###
- (自动化)传递可序列化对象(实现Serializable接口)
- JVM中的一个对象经过序列化后的字节,通过网络,其副本传递到另一个JVM中,并重新还原为一个Java对象。
- ###每个JVM拥有自己的对象###
RMI(6)
- RMI优点
- 跨平台分布式对象调用
- 完全对象支持
- 安全策略
- RMI缺点
- 双方必须是Java语言实现
- 不如消息传递协作方便
RMI(7)
- Genius:总结
- 理解Java混合编程概念
- 了解分布式对象调用概念
- 了解Java RMI的实现