草庐IT

system-rules

全部标签

java - System.currenTimeInMillis() 与 System.nanoTime()

我知道System.nanoTime()现在是在System.currentTimeInMillis()上测量时间的首选方法。第一个明显的原因是nanoTime()提供了更精确的计时,另一个原因是我读到后者受系统实时时钟调整的影响。“受系统实时时钟影响”是什么意思? 最佳答案 在这种情况下,我发现以下博客文章摘录很有用:IfyouareinterestedinmeasuringabsolutetimethenalwaysuseSystem.currentTimeMillis().Beawarethatitsresolutionmay

java - Java 8 中的 "System.out::println"有什么用

这个问题在这里已经有了答案:::(doublecolon)operatorinJava8(17个回答)关闭7年前。我在java8中看到了一个迭代集合的代码。Listnumbers=Arrays.asList(1,2,3,4,5,6);numbers.forEach(System.out::println);System.out::println的功能是什么?以及上面的代码如何遍历列表。以及运算符::有什么用,还有什么地方可以使用这个运算符? 最佳答案 它被称为“方法引用”,它是如下表达式的语法糖:numbers.forEach(x-

java - 使用 junit @Rule、expectCause() 和 hamcrest 匹配器

我有一个测试:@RulepublicExpectedExceptionthrown=ExpectedException.none();...@TestpublicvoidtestMethod(){finalStringerror="errormessage";ThrowableexpectedCause=newIllegalStateException(error);thrown.expectCause(org.hamcrest.Matchers.equalTo(expectedCause));someServiceThatTrowsException.foo();}当通过mvn测试方

Java: System.getProperty ("user.home") 返回 "?"

我完全迷失了这个:System.getProperty("user.home")和System.getProperty("user.name")返回一个问号“?”。System-Specs:Kubuntu9.04Gnome2.2.61Java1.5.0_16我的测试用例是这样的:$moreTest.javaclassTest{publicstaticvoidmain(String[]args){System.out.println(System.getProperties());}}结果是(为更好的可读性添加了换行符,替换了公司名称和自己的名称):$javacTest.java$jav

java - 调试万无一失的策略 "The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?"

我正在处理一个相当复杂的java项目,其中包含许多依赖项和许多单元测试。我在mac(mavericks)上使用java1.6.0_65,maven3.0.5和maven-surefire-plugin:2.16在多个分支中运行。我的问题是,使用多个fork运行此设置会导致fork退出:"TheforkedVMterminatedwithoutsayingproperlygoodbye.VMcrashorSystem.exitcalled?"只用一个fork运行它不会产生问题(一切都通过了)有一些关于此问题的信息,包括thisStackOverflowquestion和thissuref

java - 如何捕获 System.exit 事件?

我在java中有一个应用程序,在其中我尝试确保如果有人退出代码中的System.exit()代码,则应该调用一个监听器来执行一些操作,例如记录消息和释放资源...我该如何实现它,欢迎任何建议/方法。 最佳答案 Runtime.addShutdownHook方法可以用来添加一个关闭钩子(Hook),它基本上是一个未启动的线程,它在Java虚拟机关闭时执行。但是,这是一个应该小心处理的领域,因为它是在JVM生命周期的一个非常敏感的时间执行的。Runtime.addShutdownHook方法的API规范:Shutdownhooksrun

java - Java中的System.getProperty和properties.getProperty有什么区别

我有一个名为prop.properties的属性文件。在我的主代码中,我有System.getProperty()和properties.getProperty()。我的问题是:它们都是从prop.properties获取属性还是从不同的地方获取属性,properties.getProperty()从获取属性prop.properties和System.getProperty()从其他地方获取属性。 最佳答案 System.getProperty()获取JVM定义的属性(JVM本身或您可能在命令行中传递的任何-D选项)。可以找到定义

java - 如何防止对 System.exit() 的调用终止 JVM?

我几乎可以肯定这是不可能的,但值得一试。我正在为某个工具编写命令行界面。我说的是调用另一个Java应用程序的Java应用程序。该工具在执行后调用System.exit,这反过来又终止了我自己的执行环境。我不想那样。有什么方法可以忽略System.exit调用? 最佳答案 是的,这可以使用SecurityManager。试试下面的classMySecurityManagerextendsSecurityManager{@OverridepublicvoidcheckExit(intstatus){thrownewSecurityExc

java - 使用 System.out 和 PrintWriter 写入控制台

在阅读JavaI/O时,我意识到有两种方法可以写入标准输出。以下是使用这两种技术的片段importjava.io.*;publicclassConsoleIO{publicstaticvoidmain(String[]args){System.out.println("Method1");PrintWriterwriter=newPrintWriter(System.out);writer.println("Method2");writer.flush();writer.close();}}使用其中一种是否有任何性能优势? 最佳答案

java - JFrame.dispose() 与 System.exit()

这两种方法有什么区别——System.exit()和JFrame.dispose()?如果我们想在单击按钮时关闭JavaSwing应用程序,我应该使用哪种方法? 最佳答案 System.exit();导致JavaVM完全终止。JFrame.dispose();导致JFrame窗口被操作系统销毁和清理。根据documentation,如果没有其他可用的Windows,这可能会导致JavaVM终止,但这实际上应该被视为副作用而不是常态。你选择的那一个真的取决于你的情况。如果你想终止当前JavaVM中的所有内容,你应该使用System.e