• Runtime是什么?


    在看 RPC 的概念模型与实现解析 的时候,看到图片上有Runtime,又想到见过很多Runtime之类的东西,所以就想弄明白这到底是个什么东西。

    (因为是程序名,所以根本没想到代码的“编译-运行”~)

    于是上网求助,得到很多热心网友的回复:

    字面意思,运行时 
    目前天天用application server runtime environment(如,Tomcat) 
    相对的还有design time, build time... 
    运行时 是相当于 编译时来说的
    有些事情是在编译时就能决定的
    有些决定在运行时候才知道
    编译时候就能决定的东西通常显得看起来没技术含量
    比如说 int i=0;编译时候就知道i=0
    运行时才能决定的东西显得比较高大上点
    所以起名字没事就加个runtime显得比格高一点。 
    这两个词应该是来源自编译器解释器相关的用语
    java运行时决定的特性比如说多态,反射之类的
    一个决策放到运行时才决定灵活性会高很多,实现难度也高很多
      
    一个系统叫xxxruntime就是声称自己设计的比较牛,比较灵活可定制
    几乎是一个可编程的环境,几乎是一个虚拟机 
    runtime对应于compile time来讲的。
    比如hello world里javac这步是 compile
      
    实际生产环境,会有打包发布到生产环境里面,要改代码就要重新编译打包发布,如果pipleline做得不好,这几步可以很冗长。
      
    你可以看下spring的Dependency Injection. 里面就是可以通过改配置文件产生不同的实现,不需要重新编译。这个就是runtime 
    我来给你解释下吧。
    这个runtime是这个架构图里面一个组件的命名,你要问作者为什么把这部分程序叫做叫做runtime。一个组件的命名,一般是根据他的功能和职责命名的。一个系统中有组件命名为runtime那么必然有组件负责designtime。你贴的这个图是一个RPC系统。一般使用方法是需要定义IDL,然后使用一些系统提供的工具生成stub之类的东西。然后程序运行起来之后真正进行远程调用时,有个组件要负责,序列化反序列化,网络通讯这些功能。在上面这个过程中,生成stub的系统就是design time组件。而负责传输数据,序列化反序列化的组件就可以命名为runtime组件。
    其他系统也类似,一个数据库系统,编辑sql的编辑器就是design time, 响应sql, 执行操作的部分就是runtime。
    一个工作流系统,定义流程模型的部分可以认为是design time, 解释执行流程的部分就是runtime。
    一个游戏系统,地图编辑器之类的组件就是design time, 把游戏跑起来的部分就是runtime。
    总之,系统跑起来,负责干活那部分组件就是runtime。 

    最后一个答复异常清晰!

    再次谢过诸位大神~

  • 相关阅读:
    AX2009使用NPOI导出EXCEL颜色设置
    AX2009使用NPOI导出EXCEL常用格式设置
    AX2009使用NPOI导出EXCEL2007
    AX2009使用NPOI导出EXCEL
    【基础复习】五:STL模板与容器
    【基础复习】四:循环、递归与概率
    【基础复习】三:指针与引用
    【基础复习】二:预处理、const与sizeof
    【基础复习】一:程序设计基本概念
    TEC-2 机 微程序设计
  • 原文地址:https://www.cnblogs.com/larryzeal/p/5531759.html
Copyright © 2020-2023  润新知