• 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。 

    最后一个答复异常清晰!

    再次谢过诸位大神~

  • 相关阅读:
    jquery each循环遍历完再执行的方法
    PHP判断数组下标有没有存在的方法
    mysql General error: 1366 Incorrect string value: 'xF0x9Fx91x8DxF0x9F...' for column 'dianpumiaoshu' at row 1 解决方法
    jquery手指触摸滑动放大图片的方法(比较靠谱的方法)
    php swoole异步处理mysql
    php Yaf_Loader::import引入文件报错的解决方法
    PHP yaf显示错误提示
    PHP实现开发者模式出现该公众号提供的服务出现故障 请稍后再试解决方法
    css3 input placeholder颜色修改方法
    PHP获取PHP执行的时间
  • 原文地址:https://www.cnblogs.com/larryzeal/p/5531759.html
Copyright © 2020-2023  润新知