草庐IT

jvm-serializers

全部标签

java - cucumber JVM 未定义的步骤

我无法使用Cucumber为项目执行简单测试。我在使用Cucumber插件的Intellij13社区。我在我的功能目录中写了我的功能文件,我也实现了我的步骤,在插件的帮助下创建它们。并且我在特征文件中的步骤被intellij识别,它可以导航并转到步骤实现。但是当我尝试运行我的场景时,它总是失败,因为对于每个步骤,它都显示“未定义的步骤:”。以下是我的项目的组织方式:正如我之前所说,您可以看到我的步骤已被Intellij识别:这怎么可能,我该如何纠正?任何帮助都会很棒!编辑现在我已经为我的运行者添加了选项:@CucumberOptions(monochrome=true,features

java - 相当于 JVM 的 DLR?

JVM上是否有等效的DLR(.NET动态语言运行时)?我知道我可以去实现我自己的动态绑定(bind)并用Java发出我自己的字节码。但是是否有任何预先构建的框架(如DLR)所以我不必重新发明轮子? 最佳答案 DLR是几种不同的东西,其中一些在Java中有直接的等价物,其中一些以不同的形式存在,还有一些没有等价物。一些具有等价物的平台已经是平台的一部分,一些将成为Java7的一部分,还有一些可以从第三方获得。运行时绑定(bind)器和缓存基础架构DLR具有运行时绑定(bind)和缓存基础结构,这使得动态调度快速高效。如何让动态分派(d

java - JVM/GC 是否在程序/线程退出时调用 `finalize()`?

PS:我确实知道如何正确清理,而不依赖于finalize()。Java是否不保证在程序退出时会进行适当的垃圾回收?例如可以说我在缓存中保留了一些数据而不是经常序列化它,我还实现了finalize()希望如果由于任何原因(崩溃除外)我的程序正常退出,然后缓存将由我在finalize()方法中的代码写入DB/file/some-storage。但是根据下面的小实验,JVM似乎并没有“优雅地”清理内存,它只是退出了。Javaspec(参见程序退出)没有说明退出时如何处理内存/gc。还是我应该查看规范的不同部分?以Windows7上使用1.6.0.2764位的以下示例(末尾的输出)为例publ

不同JVM之间的Java同步

我正在从事的项目会触发各种异步作业来完成一些工作。当我深入研究时,这些异步作业实际上是作为单独的JVM(单独的Java进程)运行的。这是否意味着如果我需要在这些进程之间进行同步,我将无法使用以下任何一项:同步方法/block任何实现java.util.concurrent.locks的锁因为在我看来它们都是线程级别的?Java是否像进程间的信号量一样提供对IPC的支持? 最佳答案 没错。您不能使用任何标准的同步机制,因为它们在一个JVM中工作。解决方案您可以使用java7中引入的文件锁。您可以通过数据库实体使用同步。Terracot

java - JVM 是如何使用 "Main method"启动 Java 程序的?

这个问题在这里已经有了答案:EntrypointforJavaapplications:main(),init(),orrun()?(5个答案)关闭6年前。main不是java中的关键字。JVM如何知道执行main方法作为任何程序的起点?

Java:JVM 将如何优化对 void 和空函数的调用?

假设我们有以下类:publicclassMessageextendsObject{}publicclassLoggerimplementsILogger{publicvoidlog(Messagem){/*empty*/}}和以下程序:publicstaticvoidmain(Stringargs[]){ILoggerl=newLogger();l.log((Message)null);//a)l.log(newMessage());//b)}Java编译器会删除语句a和b吗?在这两种情况下(剥离或不剥离),Java编译器的决定背后的基本原理是什么? 最佳答

java - 为什么编译器/JVM 不能将自动装箱设置为 "just work"?

自动装箱相当可怕。虽然我完全理解==和.equals之间的区别,但我还是忍不住要解决以下错误:finalListfoo=Arrays.asList(1,1000);finalListbar=Arrays.asList(1,1000);System.out.println(foo.get(0)==bar.get(0));System.out.println(foo.get(1)==bar.get(1));打印truefalse他们为什么要这样做?它与缓存的整数有关,但如果是这样,为什么他们不缓存程序使用的所有整数呢?或者为什么JVM不总是自动拆箱为原始数据?打印falsefalse或tr

java - 鉴于 Java(语言)是平台独立的,为什么 JVM 不是平台独立的?

只是想知道什么时候java是平台独立的,那么JVM是平台依赖的有什么具体原因.. 最佳答案 JVM执行Java代码,但它是用特定于平台的语言(例如C/C++/ASM等)编写的。JVM不是用Java编写的,因此不能独立于平台。 关于java-鉴于Java(语言)是平台独立的,为什么JVM不是平台独立的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2120654/

java - 在 Eclipse 中的单独 JVM 中运行每个 JUnit 测试?

我有一个项目,在大约200个测试类中包含近500个单独的测试。其中一些测试在完成后并没有很好地拆除它们自己的状态,在Eclipse中,这会导致一些测试失败。通过Ant从命令行运行测试套件时,测试全部通过。我可以在Eclipse中以某种方式启用“测试隔离”吗?我不介意运行时间更长。从长远来看,我会清理行为不当的测试,但在短期内我想让测试正常工作。 最佳答案 如果您在Eclipse中使用Ant,则可以将JUnit任务设置为为每个测试派生一个新的JVM进程,从而提供隔离。http://ant.apache.org/manual/Tasks

java - JVM 能否提供快照持久化?

是否可以转储正在运行的JVM的图像,然后通过将图像加载到JVM中来恢复以前的状态?我相当确定答案是否定的,但很乐意是错误的。随着JVM可用的所有动态语言增加了交互性,能够保存编码session将有助于节省手动将VM恢复到之前session的时间。 最佳答案 有一个JSR323proposedforthis不久前,它是rejected.您可以在这些文章中找到一些链接,了解这背后的研究以及需要做什么。它主要被拒绝为一个太不成熟的想法。我听说至少有一家初创公司(不幸的是不记得这个名字)正在通过虚拟机管理程序(可能是Xen)开发虚拟化技术,