2013-07-08 40 views
2

与使用java库(如ManagementFactory.getRuntimeMXBean.getName)相比,抓取主机/ pid是否存在更好/更习惯/更少jvm的依赖方式?在不使用java类的情况下获取scala中的主机名和pid?

想知道scala的首选方法是什么?

+0

如果它没有坏掉,不要修复它,那么为什么不坚持,因为它的工作原理?我不认为scala运行时为此提供了更好的开箱即用功能。 – cmbaxter

回答

3

如果你在JVM上运行,就像Scala那样,你是依赖于JVM的。 Java库是与JVM进行交互以获取此类信息的规范方式,因此您应该使用它们。 Scala没有提供替代方案,并且提供的任何替代方案可能都不太可靠,因为Typesafe没有Sun/Oracle/IBM /等资源。做/做。这确实意味着如果您使用实验或业务级别的JVM,那么您可能很难获取您的主机名。 (当然,如果你的JVM支持,那么你总是可以产生一个外部进程并使用一个Linux命令行实用工具,但是不要指望它非常便携。)

+0

好的。尽管依赖于jvm和互操作性,但我仍然希望现在检查一下java方法通常在scala上被认为是“错误的”。 – JasonG

+1

@JasonG - Java方式不被认为是“错误的”,因为它是Java如何操作的。相反,在创建Java之后,人们已经意识到有更好的方法去做很多事情。但是有各种各样的低级功能(尤其是包括JVM监视功能),在这种功能中,除了Java方式之外,没有更多的规范方法可以实现它(例如,可能没有其他方法,因为您需要机器代码,而Java库就是这样)。在斯卡拉有一种优越的方式时,用Java的方式来做事是被认为是错误的。 (但你怎么知道,除了问?) –

+0

感谢您的时间 - 因此,问题:) – JasonG

相关问题