问题标签 [jvm-languages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
628 浏览

java - 为 JVM 生成 .class 文件

我正在开发一个项目,该项目需要我在旅途中生成一个 java“.class”文件,以后可以在 JVM 上编译该文件。在学习和使用 MSIL (Microsoft IL) 这也是一种基于堆栈的中间编程语言之后,以下是我面临的问题:

  1. 与 IL(对于 C# 或 VB)相比,“.class”文件中的 java 字节码以结构化方式包含信息,据我所知,它包含除程序数据之外的元数据,是真的吗? ? 我可以为每个类文件以模板形式生成相同的吗?
  2. 是否必须以二进制格式生成类文件?

我参考了“Joshua Engel 的 Java™ 虚拟机编程”,但它并没有达到我的目的,因为我已经了解了 JVm 指令集。

有人可以帮我吗?所有帮助将不胜感激。生成简单类文件的示例将非常有帮助,因为我还找不到单个 1。

0 投票
3 回答
1066 浏览

apache-flex - 是否存在允许“在没有 ActionScript 的情况下编写 flex”、“Java 到 AVM2 编译器”或“使用 Java 编写 Flex”的内容?

有许多针对 Sun 的 JVM 的动态语言(Groovy、Scala、Jython、Jruby 等),我确信也有许多针对 Adob​​e 的 AVM。但我惊讶地发现只有 Haxe 做了类似的事情。本站相关问题

我认为 eclipse e4 SWT 项目不会直接编译为 ABC(ActionScript 字节码),而是首先将 Java 转换为 AS3,然后由 Flex 编译器完成其余的工作。

是不是还没有人写过一个简单的 Java / Python / Scala AVM2 编译器,可以用来替代专有的 Adob​​e Flash Builder(以前称为 Flex Builder)?

我不介意向 Adob​​e 支付优质产品,但在 Eclipse 中编写 Java 比半成品的 Adob​​e 插件套件要快得多,也更方便。除了Haxe真的没有其他努力了吗?

0 投票
9 回答
799 浏览

java - 为什么 Java 开发人员应该学习额外的 JVM 语言?

我是一名 Java 开发人员,我想知道,学习 Scala 或 Groovy 等语言的主要好处是什么?

0 投票
2 回答
932 浏览

javascript - SWIG 和 Javascript:将 JVM/Rhino 嵌入到我的 C++ 应用程序中仍然是唯一的解决方案吗?

我真的很喜欢像 SWIG 那样自动生成绑定的想法。但它仍然缺少 Javascript 绑定。我读到它不能用 Spidermonkey 完成,因为必须将 JS 上下文作为参数传递给每个函数。

我找到的唯一解决方案是将 JVM 嵌入到我的 C++ 应用程序中,使用 SWIG 生成与 Java 的绑定,然后使用 Rhino 引擎作为 JS 解释器。它工作正常,但它真的很重量级!

还有其他想法吗?

注意:是的,我知道,我可以改用 Python 或 Lua。但我的问题实际上是关于 JS 的。

0 投票
3 回答
1564 浏览

scala - Scala 为在 JVM 上运行做出了哪些妥协?

Scala 是一门很棒的语言,但我想知道如果它有自己的运行时如何改进?
即,由于 JVM 的选择而做出了哪些设计选择?

0 投票
2 回答
1753 浏览

java - 从 JVM 发送 POSIX 信号

如何从 JVM 中发送 POSIX 信号?(在 Java 或 Clojure 中)

在我尝试谷歌搜索之前,我从没想过这会是一个问题——有很多关于处理信号的信息,但没有关于发送它们的信息。

除了使用 JNI 或调用 shell 执行“kill”之外,还有其他方法可以向 PID 发送信号吗?

0 投票
1 回答
917 浏览

java - JVM 会被扩展来处理泛型吗?

你怎么看?JVM 会获得对泛型的支持吗?

这很可能不仅需要对 JVM 进行重大更改,而且还需要对类文件格式进行重大更改,但在 VM 上运行的语言将从中受益匪浅。

编辑: Java 语言实际上支持某种泛型作为编译时特性,它向字节码添加了一些强制转换,人们之前必须手动添加。

不对 JVM 或类文件规范进行更改的决定在当时很容易理解,因为他们不想破坏向后兼容性,而 Java 是当今 JVM 唯一重要的语言。

虽然这个决定可能适合 Java 语言,但它大大减少了其他语言必须选择如何在 VM 上实现泛型的自由度。

考虑到 Sun/Oracle 已经宣布让 JVM 成为替代语言的更友好场所,他们是否真的会履行他们的承诺,或者他们认为“InvokeDynamic”的低成本添加就足够了?

0 投票
2 回答
3617 浏览

java - Java SE平台上XML解析API对比

我目前正在开发一个 RSS 提要阅读器,我想知道哪个 XML 解析 API 最适合它。(请注意,我不是在寻找 Feed 解析器库——它只是研究 XML API 的起点)

我正在寻找 Java 平台上各种 XML 解析 API 的概要,重点关注以下标准:

  • 易于配置
    • 配置是否在单独的文件中?
    • 是否有合理的默认值?
  • 使用方便
    • 节点导航 - 到兄弟姐妹,到孩子,到父母。
    • 名称空间、属性、文本的访问/操作。
    • 类层次结构是经过深思熟虑的还是自然的?
  • 无效的 XML - 会发生什么(什么时候失败?),在以下情况下我可以做什么:
    • 遇到无效字符(在编码或 XML 规范中被禁止)
    • 树结构无效(例如,由于未转义的 HTML 标记)

以下是一些我认为有用但并不重要的信息:

  • 性能比较
  • 可用实现的列表

我目前正在考虑 JVM 上的任何 XML API。

  • 它可以是 Java 标准(DOM、SAX、StAX、JAXP),也可以是特定于实现的 API。
  • 它可以是 JVM 上任何语言的 API(Scala、Groovy、Jython、JRuby...)——只要确保它与标准 Java API 相比添加了一些东西。

我相信构建这个线程的一个好方法是每个答案只有一个 API。

0 投票
2 回答
1786 浏览

groovy - 为什么不使用 Rhino for JVM 应用程序?

我想使用简洁的动态语言为 JVM 开发一些应用程序。最流行的选择似乎是 Jython、JRuby、Groovy,也许还有 Clojure。

Rhino 看起来速度很快而且非常稳定,但是我没有看到任何关于 Rhino 开发的书籍和很少的讨论。为什么除了嵌入式脚本之外很少使用 JavaScript?

编辑:我发现这个问题对基于 Rhino 的开发的可行性提供了信息。

0 投票
8 回答
27357 浏览

compiler-construction - 如何接近创建 JVM 编程语言?

我用 C 语言创建了一个编译器(使用 Lex 和 Bison),用于支持循环、函数内部的函数声明、递归调用等的动态类型编程语言。我还创建了一个运行编译器创建的中间代码的虚拟机。

我正在考虑将其编译为 Java 字节码而不是我自己的中间代码。

我看到关于创建 JVM 语言的问题已经被问到了,但是我没有找到非常有用的答案。

所以这是我的问题:

  1. 我想为 JVM 创建一门语言必须阅读JVM 规范书,您还能推荐哪些其他书籍(当然除了 Dragon Book)?我最关心的是有关如何创建 JVM 语言的书籍或教程,而不是一般的编译器。
  2. 有许多 Java 库可以读取、写入和更改.class文件,例如jclasslibbcelgnu bytecode等。您建议使用哪一个?另外,您知道做同样工作的 C 库吗?
  3. 我正在考虑看看另一种针对 JVM 的语言,例如 Clojure、Jython 或 JRuby。但是所有这些语言都非常高级且复杂(为它们创建编译器)。我一直在寻找一种更简单的(我不介意它是未知的还是未使用的)以 JVM 为目标并带有开源编译器的编程语言。有任何想法吗?