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。
最后一个答复异常清晰!
再次谢过诸位大神~
Runtime是什么?的更多相关文章
- runtime梳理。
一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C语言,函数的调用在编译的时候会决定调用哪个函数. 对于OC的函数,属于 ...
- myeclipse 无法启动 java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
把myeclipse10 按照目录完整拷贝到了另外一台电脑, 另外的目录 原安装目录 D\:\soft\i\myeclipse10 新安装目录 E\:\soft\myeclipse10 双击启动失败, ...
- Objective-C runtime初识
Objective-C Runtime Describes the macOS Objective-C runtime library support functions and data struc ...
- Objective-C runtime的常见应用
用Objective-C等面向对象语言编程时,"对象"(object)就是"基本构造单元"(building block).开发者可以通过对象来存储并传递数据. ...
- Runtime应用防止按钮连续点击 (转)
好久之前就看到过使用Runtime解决按钮的连续点击的问题,一直觉得没啥好记录的.刚好今天旁边同时碰到这个问题,看他们好捉急而且好像很难处理,于是我先自己看看… 前面自己也学习了很多Runtime的东 ...
- iOS开发-- 通过runtime kvc 移除导航栏下方的阴影效果线条
网上查了很多, 都是重新绘制, 感觉有点蠢, 恰巧工作有会闲, 就简单的通过runtime遍历了下属性找寻了下私有类和方法, 这里直接贴方法, 找寻过程也发出来, 能看懂的直接就能看懂, 看不太明白的 ...
- VS2015 出现 .NETSystem.Runtime.Remoting.RemotingException: TCP 错误
错误内容: 界面显示内容为: .NET�������������System.Runtime.Remoting.RemotingException: TCP 淇¢亾鍗忚鍐茬獊: 搴斾负鎶ュご銆� 鍦 ...
- DirectX runtime
DirectX 9.0 runtime etc https://www.microsoft.com/en-us/download/details.aspx?id=7087 DirectX 11 run ...
- runtime
7.runtime实现的机制是什么,怎么用,一般用于干嘛. 你还能记得你所使用的相关的头文件或者某些方法的名称吗? 运行时机制,runtime库里面包含了跟类.成员变量.方法相关的API,比如获取类里 ...
- runtime 第四部分method swizzling
接上一篇 http://www.cnblogs.com/ddavidXu/p/5924597.html 转载来源http://www.jianshu.com/p/6b905584f536 http:/ ...
随机推荐
- Python seed() 函数
描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数.. 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ...
- python标准库介绍——7 cmath 模块详解
[Example 1-61 #eg-1-61] 所展示的 ``cmath`` 模块包含了一些用于复数运算的函数. ====Example 1-61. 使用 cmath 模块====[eg-1-61] ...
- Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到! TikZ和PGF是一种用在TeX上的CLI绘图工具.CLI和GUI是两种常见的绘图方式,前者是所想即所得(WYTIWYG)的, ...
- MySql按字段分组取最大值记录
数据库原始数据如下:数据库名:tbl_clothers 需求是:按照type分组,并获取个分组中price中的最大值,解决sql如下: 方法一: select * from (select type, ...
- 在centos7中用mariadb代替了mysql数据库吗
从最新版本的linux系统开始(如 Centos7),默认的是 Mariadb而不是mysql!(mysql被闭源厂家收购,有闭源风险) 使用系统自带的repos安装很简单: yum install ...
- Hadoop启动过程分析
先把客户端修好,后续慢慢写. 菊子曰:体验离线写博的乐趣
- adobe acrobat 无效批注对象
http://blog.csdn.net/pipisorry/article/details/40894881 adobe acrobat一直弹出 无效批注对象 检查后提示:"本页面上的全部 ...
- keepalived openssl 报错
configure: error: !!! OpenSSL is not properly installed on your system. !!! !!! Can not include Open ...
- lua字符串
本文内容基于版本:Lua 5.3.0 概述 Lua字符串中的合法字符可以是任何的1字节数据,这包括了C语言中表示字符串结束的'\0'字符,也就是说Lua字符串在内部将以带长度的内存块的形式存储,存储的 ...
- IAsyncResult 接口
IAsyncResult 接口由包含可异步操作的方法的类实现.它是启动异步操作的方法的返回类型,如 FileStream.BeginRead,也是结束异步操作的方法的第三个参数的类型,如 FileSt ...