2013-07-08 47 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

相關問題