标签: runtime-environment

Java信号链

我有一个带有专门Process类的程序,它在Linux上本地处理执行进程.

它根本不使用Java的Process类,因为它需要对进程进行一些特殊处理.因此,它还安装了自己的信号处理程序SIGCHLD,以便它知道进程何时退出.

但是,我刚刚Runtime.exec()在我的代码中添加了一个调用,它显然安装了自己的信号处理程序SIGCHLD,这意味着我再也没有得到它SIGCHLD,这很糟糕.我遵循了oracle的信号链接指令,但同样的问题发生了,我从来没有得到过SIGCHLD.

所以,基本问题是:是否有可能SIGCHLD在Java中链接?

java linux runtime-environment signal-handling sigchld

19
推荐指数
1
解决办法
1524
查看次数

及时编译总是更快?

在 Stack Overflow 上向所有编译器设计者致以问候。

我目前正在从事一个项目,该项目的重点是开发一种用于高性能计算的新脚本语言。源代码首先被编译成字节码表示。字节码然后由运行时加载,它对其执行积极的(可能是耗时的)优化(这比大多数“提前”编译器所做的更进一步,毕竟这是整个过程中的重点。项目)。请记住,此过程的结果仍然是字节码。

然后字节码在虚拟机上运行。目前,这个虚拟机是使用直接跳转表和消息泵来实现的。虚拟机通过指针运行字节码,在指针下加载指令,在跳转表中查找指令处理程序并跳转到其中。指令处理程序执行适当的操作,并最终将控制权返回给消息循环。虚拟机的指令指针递增,整个过程重新开始。我能够用这种方法实现的性能实际上非常惊人。当然,实际指令处理程序的代码又是手动微调的。

现在大多数“专业”运行时环境(如 Java、.NET 等)都使用即时编译在执行前将字节码转换为本机代码。使用 JIT 的 VM 通常比字节码解释器具有更好的性能。现在的问题是,由于解释器所做的基本上就是加载一条指令并在跳转表中查找跳转目标(记住指令处理程序本身是静态编译到解释器中的,所以它已经是本机代码),是否会使用即时编译会提高性能还是会降低性能?我真的不能想象解释的跳转表降低性能大大弥补了使用 JITer 编译该代码所花费的时间。我知道 JITer 可以对代码执行额外的优化,但在我的情况下,在执行之前已经在字节码级别执行了非常积极的优化。你认为我可以通过用 JIT 编译器替换解释器来获得更快的速度吗?如果是这样,为什么?

我知道同时实施方法和基准测试将为这个问题提供最准确的答案,但如果有明确的答案,可能不值得花时间。

谢谢。

compiler-construction jit software-design runtime-environment

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

显式多核C#应用程序

是否有任何简单的方法可以明确地使已经线程化的应用程序使用多核环境?(如果可用的话).

第一个问题是如何确定我的运行时环境是否支持多核应用程序?

如果我确定我可以使用多核功能,我可以显式分配线程以在不同的内核上运行吗?如果是这样,线程通信是由OS /硬件处理还是我必须弄脏手?

c# multicore runtime-environment

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

运行时环境和编译器/解释器是否相同?

我刚刚开始使用 Node.js,并且有相当多的 Python 和 C++ 背景。我了解到 Node.js 是一个运行时环境,但我很难理解它对代码的实际作用,使其与编译器不同。如果有人能够解释运行时环境与典型编译器和解释器的具体区别,那就更好了。

javascript runtime-environment node.js

5
推荐指数
1
解决办法
1862
查看次数

Eclipse:找不到Java 2 Runtime Environment

我刚刚安装了Eclipse 3.5.在我安装Android插件之前,我需要安装一个Java jdk,我做了.重启后我不能再启动Eclipse,因为我收到以下错误:

错误:无法找到Java 2 Runtime Environment

令人厌烦的是,现在我甚至无法打开我用于PHP编程的其他Eclipse安装.有什么建议?

更新:

这是我的eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
Run Code Online (Sandbox Code Playgroud)

java eclipse runtime-environment

4
推荐指数
2
解决办法
3万
查看次数

什么是 JavaScript 运行时?

这个问题已被问过多次,但我无法清楚地理解。

根据提供的答案,JavaScript 运行时意味着我们的 Javascript 代码执行的地方。

关于 Node.js 的定义,它是一个异步 javascript 运行时,这是否意味着在 Node.js 内部执行 Javascript?

另外,“Javascript运行环境”是指执行Javascript代码的环境还是机器设置?

javascript runtime runtime-environment node.js

4
推荐指数
1
解决办法
1607
查看次数