Java架构师之旅(二十七 混合编程)

夜光序言:

 

人要长大,就要学会思考。思考才能让人成熟、进步。修炼也是如此,闷头苦干只是机械重复而已。真正的进步是需要停一停,想一想,再继续前进~~

Java架构师之旅(二十七 混合编程)_第1张图片

 

正文:这里介绍一下混合编程~~

  • 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程序互相请求访问

 

Java架构师之旅(二十七 混合编程)_第2张图片

 

RMI(4)

Java架构师之旅(二十七 混合编程)_第3张图片

 

RMI(5)

  • RMI的参数和返回值
  • (自动化)传递远程对象(实现Remote接口)
  • 当一个对远程对象的引用从一个JVM传递到另一个JVM,该远程对象的发送者和接收者将持有同一个实体对象的引用。这个引用并非是一个内存位置,而是由网络地址和该远程对象的唯一标识符构成的。

###两个JVM拥有同一个对象###

  • (自动化)传递可序列化对象(实现Serializable接口)
  • JVM中的一个对象经过序列化后的字节,通过网络,其副本传递到另一个JVM中,并重新还原为一个Java对象。
  • ###每个JVM拥有自己的对象###

RMI(6)

  • RMI优点
  • 跨平台分布式对象调用
  • 完全对象支持
  • 安全策略
  • RMI缺点
    • 双方必须是Java语言实现
    • 不如消息传递协作方便

RMI(7)

  • Genius:总结
    • 理解Java混合编程概念
    • 了解分布式对象调用概念
    • 了解Java RMI的实现

 

 

 

你可能感兴趣的:(Java架构)