Java 游戏框架是如何运作的?
我喜欢玩!。与其他企业Java框架相比,它的使用非常简单。Java 游戏框架是如何运作的?,java,playframework,Java,Playframework,我喜欢玩!。与其他企业Java框架相比,它的使用非常简单。 但是,它是如何做到这一点的呢?是什么让编辑-刷新周期在Java这样的编译语言中成为可能?什么使游戏!按其工作方式工作?Play使用Eclipse编译器在运行时编译代码 看看下面的类,Play使用它在运行时执行必要的编译 这是运行时编译/类加载器和javassist的神奇魔力 但不要忘记,在prod环境中,它不像Groovy那样在运行时将脚本重新编译成Java类(除非您自然地预编译脚本)。在prod中,玩!使用真实的编译类运行,因此它与经
但是,它是如何做到这一点的呢?是什么让编辑-刷新周期在Java这样的编译语言中成为可能?什么使游戏!按其工作方式工作?Play使用Eclipse编译器在运行时编译代码 看看下面的类,Play使用它在运行时执行必要的编译
这是运行时编译/类加载器和javassist的神奇魔力 但不要忘记,在prod环境中,它不像Groovy那样在运行时将脚本重新编译成Java类(除非您自然地预编译脚本)。在prod中,玩!使用真实的编译类运行,因此它与经典java代码一样高效。此外,它不像Spring或其他框架那样使用大量AOP,在函数调用和实际业务代码之间有大量开销 在我看来,这是一个非常聪明的设计;) 我比较了Play(+Scala)和Lift+mvn Scala:cc+JRebel。玩是更好的体验。现在,我知道了原因: 游戏是无状态的。因此,它可以卸载控制器,忘记所有字段,然后再次加载并初始化它。JRebel的目标是更加通用。它假定状态是重要的,因此有时(经常)会失败,因为在某些情况下它无法保持状态