jvm 的热插拔功能有何不同?

发布于 2024-12-25 04:08:46 字数 503 浏览 1 评论 0原文

在开发过程中重新启动(服务器)可能会消耗大量时间。 Zeroturnaround 的人们意识到了这一点,并创建了 jrebel,它具有一系列令人印象深刻的功能:

http://zeroturnaround.com /jrebel/features/

Sun jvm 上的热交换有着悠久的历史:

https://bugs.java.com/bugdatabase/view_bug?bug_id=4910812

所以看来今天 jvm hotswap 支持的只是“方法体的更改”。

这是所有 jvm 唯一共有的热插拔功能,还是 jvm 的热插拔功能有所不同?

Restarting your (server) during development can consume significant amount of time. The people of zeroturnaround realized this and created jrebel which has a pretty impressing list of features:

http://zeroturnaround.com/jrebel/features/

Hotswap on sun jvm has a long history:

https://bugs.java.com/bugdatabase/view_bug?bug_id=4910812

So seems all thats supported by jvm hotswap today is "Changes to method bodies".

Is this the only hotswap feature all jvms have in common, or do jvms differ in hotswapping features ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花辞树 2025-01-01 04:08:46

主要 JVM 在允许热交换实时代码方面有所不同。例如,在调试和加载类的字节码检测期间。 AFAIK,大多数应用程序服务器实际上卸载类加载器并重新加载所有代码,这是一种较粗略的热交换,并且在所有主要 JVM 上的工作方式相同。

就我个人而言,我会尽力确保您可以在单元测试中测试大部分代码,这只需很少的时间,并且可以在几秒钟内重新启动正在开发的服务。 (这样就避免了这个问题)

The major JVMs differ in term of what they allow to hotswap for live code. e.g. during debugging and byte code Instrumentation of loaded classes. AFAIK, most application servers actually unload the classloader and reload all the code which is a coarser hot swap and works the same on all the major JVMs.

Personally, I would try to ensure you can test most of your code in unit tests which take little time and can restart your service under development in a matter of seconds. (This avoiding the issue)

合约呢 2025-01-01 04:08:46

您可以使用 Java 的 TCK(技术兼容性工具包)来确定 JVM 必须满足哪些合同才能获得 Java 兼容认证。

http://jcp.org/en/resources/tdk

You can use the TCK (Technology Compatibility Kit) for Java to determine what the contract is that JVMs have to meet in order to be certified as Java compatible.

http://jcp.org/en/resources/tdk

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文