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 log10() 函数
描述 log10() 方法返回以10为基数的x对数,x>0. 语法 以下是 log10() 方法的语法: import math math.log10( x ) 注意:log10()是不能直接访 ...
- Python2 unichr() 函数
描述 unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符. 语法 以下是 unichr() 方法的语法: unichr(i) 参数 i -- 可以是10进制 ...
- starUML破解方法(Windows10 & MAC)
安装好,打开安装目录,依次找到[www\license\node],找到名为[LicenseManagerDomain]的js文件,打开它,在第25行位置插入以下几句代码: return { name ...
- ASP.NET MVC 操作AD 获取域服务器当前用户姓名和OU信息
#region 根据当前登录域账号 获取AD用户姓名和所在OU目录 /// <summary> /// 根据当前登录域账号 获取AD用户姓名和所在OU目录 /// </summary ...
- 国际化模块 angular-translate 简单方便快捷翻译中英文等多语言环境
很多web服务面对的不仅仅是当地用户,多语言环境不仅能提升逼格,更重要是一种用户体验. angular.js 作为前后端拆分的解决方案之一,当然离不开前端框架处理国际化的问题,angular.js 官 ...
- Qt中使用DOM解析XML文件或者字符串二(实例)
介绍 在Qt中提供了QtXml模块实现了对XML数据的处理,我们在Qt帮助中输入关键字QtXml Module,可以看到该模块的类表.在这里我们可以看到所有相关的类,它们主要是服务于两种操作XML文档 ...
- PIVOT运算符使用(动态行转列)
PIVOT运算符用于在列和行之间对数据进行旋转或透视转换,同时执行聚合运算 官方的语法如下: PIVOT( 聚合函数(value_column) FOR pivot_column IN(<col ...
- You have JVM property "https.proxyHost" set to “localhost”
Mac下Pycharm和AndroidStudio里面proxy配置页都提示这个,后来在~/.gradle/gradle.properties里面找到了proxy设置代码,删掉就好了.
- 针对Properties中实时性要求不高的配置参数,用Java缓存起来
Properties常用于项目中参数的配置,当项目中某段程序需要获取动态参数时,就从Properties中读取该参数,使程序是可配置的.灵活的. 有些配置参数要求立即生效,有些则未必: 一.实时性要求 ...
- .Net 三层架构开发初步
写在前面的话:在课堂上只是听老师讲过三层架构,知道大概是什么意思,我的理解就是将本来混合着写在一起的代码按功能性的不同分别写在不同的项目中,然后上层项目调用下层项目提供的接口,这样可以使代码的层次更清 ...