标签: interpretation

Java是编译语言还是解释编程语言?

在过去,我使用C++作为编程语言.我知道用C++编写的代码经过编译过程,直到它成为目标代码"机器代码".

我想知道Java在这方面是如何工作的.用户如何编写由计算机运行的Java代码?

java compilation interpretation

144
推荐指数
7
解决办法
16万
查看次数

编译和解释有什么区别?

我刚与一位同事进行了对话,并谈论了V8 JavaScript引擎.根据维基百科,

V8在执行之前将JavaScript编译为本机机器代码,而不是更传统的技术,例如解释字节码或将整个程序编译为机器代码并从文件系统执行.

where(纠正我,如果我错了)" 解释字节码 "是Java的工作方式," 编译整个程序 "将适用于C或C++等语言.现在我们想知道,辩论并提出关于差异,相似性的错误断言和推定.为了结束这一点,我建议询问SO专家.

那么,谁能够

  1. 命名,解释和/或引用所有主要方法(例如预编译与运行时解释)
  2. 可视化或提供关于来源,汇编和解释之间关系的方案
  3. 为#1的主要方法提供示例(名称编程语言).

笔记:

  • 我不是在寻找关于不同范式的长篇文章,而是一个视觉上支持的快速概述.
  • 我知道Stackoverflow并不打算成为程序员的百科全书(而是针对更具体问题的Q&A平台).但是既然我可以找到很多流行的问题,那种提供某些主题的百科全书式的观点(例如[1],[2],[3],[4],[5]),我就开始提出这个问题.
  • 如果这个问题更适合任何其他StackExchange网站(例如,cstheory),请告诉我或标记这个问题以便审核.

compiler-construction interpreter compilation interpretation

13
推荐指数
1
解决办法
5263
查看次数

解码和发送解释与线程解释

我试图理解在Decode和调度解释和线程解释中执行程序时的实际差异.

两者的例子都会有所帮助.

我理解Java字节码的工作原理以及汇编语言的工作原理.但是DDI和TI在哪里适合?

上下文:虚拟机:用于系统和进程的多功能平台

compiler-construction operating-system interpretation

12
推荐指数
1
解决办法
3247
查看次数

HTTP:"gzip,deflate"的首选Accept-Encoding是什么?

这个问题是关于HTTP标题"Accept-Encoding"的媒体类型的优先顺序,当它们具有相同的权重并且在我的博客上已被此评论提示时.

背景:

Accept-Encoding标头采用逗号分隔的媒体类型列表,浏览器可以接受例如gzip,deflate

品质因数也可以被指定为优先考虑例如在的情况下,其他的媒体类型"的gzip; Q = 0.8,放气",放气是优选的-但是不相关的这个问题.注意:"q = 0"的类型表示"不可接受".

RFC2616还指出应首先对媒体类型定义的"最具体的引用"进行加权.即"text/html; level = 1"应该用于"text/html" - 这也与问题无关.

题:

在以下情况中,哪种媒体类型优先?

Accept-Encoding: gzip,deflate
Run Code Online (Sandbox Code Playgroud)

两种类型都具有1的等效品质因数,并且这两种类型对浏览器都是"可接受的" - 因此可以使用任何一种类型.我总是假设输入的第一个类型应该是"首选",但在RFC中似乎没有特定的例子或偏好.

compression header http interpretation rfc2616

8
推荐指数
1
解决办法
3万
查看次数

在哈斯克尔解释Parigot的lambda-mu演算

人们可以解释Haskell中的lambda演算:

data Expr = Var String | Lam String Expr | App Expr Expr

data Value a = V a | F (Value a -> Value a)

interpret :: [(String, Value a)] -> Expr -> Value a
interpret env (Var x) = case lookup x env of
  Nothing -> error "undefined variable"
  Just v -> v
interpret env (Lam x e) = F (\v -> interpret ((x, v):env) e)
interpret env (App e1 e2) = case interpret env e1 of …
Run Code Online (Sandbox Code Playgroud)

continuations interpreter haskell lambda-calculus interpretation

8
推荐指数
2
解决办法
675
查看次数

在线c#解释安全问题

我正在考虑建立一个在线C#解释器的想法,有点像Codepad.现在有明显的安全问题:

  • 无限循环
  • System.Diagnostics.Process.Start
  • 几乎整个System.IO命名空间

我对C#的了解并不是很微不足道,但我确信有很多关于它的知识,以及我没有想到的东西.你会注意什么?

一些精确,我计划在使用Mono的小型Linux VPS上运行它.

c# security runtime-compilation interpretation

7
推荐指数
1
解决办法
870
查看次数

将字符打印为整数

我想控制我ostream输出的chars和unsigned char's via是否<<将它们写成字符整数.我在标准库中找不到这样的选项.现在我已经恢复了在一组替代打印功能上使用多个重载

ostream& show(ostream& os, char s) { return os << static_cast<int>(s); }
ostream& show(ostream& os, unsigned char s) { return os << static_cast<int>(s); }
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c++ formatting interpretation ostream

7
推荐指数
1
解决办法
1121
查看次数

编辑和解释之间的技术混淆

我读过很多关于"解释"和"编译"的定义和陈述.但我仍然非常困惑.

从技术上讲,真正的解释和汇编之间的区别是什么?让我详细说明(请纠正我可能有的任何错误概念):

在java中,源代码被"编译"成ByteCode,然后将其"解释"和/或"及时编译"成机器代码.但是,及时编译和解释之间有什么区别?我的意思是,最后,据我猜测,主机的CPU只运行机器代码.因此,在解释中,指令也被转换成可由CPU理解的机器代码.那么,我们在哪里绘制即时编译和解释之间的界限?

PS这是我的观念.这可能是完全错误的.在这种情况下,请原谅我的愚蠢并纠正我.

谢谢.

java compilation interpretation

7
推荐指数
1
解决办法
1011
查看次数

正交状态解释

以下引用句子的解释是什么UML Reference Manual

When an orthogonal state is entered, the number of control threads increases as a direct substate in each orthogonal region becomes active.

When the orthogonal state is exited, the number of control threads decreases.

state uml interpretation

6
推荐指数
1
解决办法
952
查看次数

Java表达式自减/自增运算符解释规则

这是一个纯粹的理论问题,为了清楚起见,我通常不会编写这段代码。

为什么这个相当模糊的声明是合法的

int a = 1, b = 2;
int c = a---b; // a=0, b=2, c=-1
Run Code Online (Sandbox Code Playgroud)

(它被解释为a-- -b

而这个不是?

int c = a-----b;
Run Code Online (Sandbox Code Playgroud)

第一个陈述也可以解释为a- --b,而第二个陈述显然只有 1 个逻辑解释a-- - --b

还有另一个好奇的:

int c = a--- -b; // a=0, b=2, c=3
Run Code Online (Sandbox Code Playgroud)

(并且int c = a----b; 不是法律声明)

Java中的表达式解释是如何定义的?我尝试搜索 JLS,但尚未找到此问题的答案。

java syntax lexer interpretation decrement

6
推荐指数
1
解决办法
253
查看次数