草庐IT

system_category

全部标签

java - 在 Java 中使用 System.err 有什么问题?

我在我的Java代码上使用Enerjy(http://www.enerjy.com/)静态代码分析器工具。它告诉我以下行:System.err.println("忽略了那个数据库");不好,因为它使用了System.err。确切的错误是:“JAVA0267使用System.err”使用System.err有什么问题? 最佳答案 简短回答:将它用于日志目的被认为是一种不好的做法。据观察,在没有广泛可用/接受的日志记录框架的过去,每个人都使用System.err将错误消息和堆栈跟踪打印到控制台。这种方法可能适用于开发和本地测试阶段,但不

java - 在 JUnit 测试中处理 System.exit(0)

我正在为现有的JavaSwing应用程序实现一些测试,以便我可以安全地重构和扩展代码而不会破坏任何东西。我从JUnit中的一些单元测试开始,因为这似乎是最简单的入门方法,但现在我的首要任务是创建一些端到端测试来测试整个应用程序。我在每个测试中重新启动应用程序,方法是将每个测试方法放在一个单独的测试用例中,并在Ant的junit任务中使用fork="yes"选项.但是,我想作为测试实现的一些用例涉及用户退出应用程序,这导致调用System.exit(0)的方法之一。这被JUnit视为错误:junit.framework.AssertionFailedError:ForkedJavaVM异

java - 此反射 Java 代码如何捕获 System.out.println 中的字符串?

你能给我解释一下执行这段代码会发生什么吗?我知道它会打印出“G'DayMate.”,但是Reflection如何捕获System.out.println?堆栈/堆级别发生了什么?非常感谢。publicstaticvoidmain(String...args){System.out.println("HelloWorld");}static{try{Fieldvalue=String.class.getDeclaredField("value");value.setAccessible(true);value.set("HelloWorld",value.get("G'DayMate."

java - 新的 JUnit 4.8.1 @Category 渲染测试套件是否几乎过时了?

给出的问题'HowtorunalltestsbelongingtoacertainCategory?'andtheanswer以下方法是否更适合测试组织?定义包含所有测试的主测试套件(例如使用ClasspathSuite)设计足够的一组JUnit类别(足够意味着每个理想的测试集合都可以通过一个或多个类别来识别)使每个测试符合相关类别根据主测试套件和类别集定义目标测试套件示例:确定速度(慢、快)、依赖性(模拟、数据库、集成等)、功能(填写适用类别)、领域(填写适用类别)等要求每个测试都正确地限定(标记)了一组相关的类别。使用ClasspathSuite创建主测试套件(所有测试都在类路径中

java - 核心 API 调用 System.gc()

有些人可能知道一些核心JavaAPI会显式调用System.gc()。我知道发生这种情况的两种情况:蔚来汽车。我相信这样做是为了在系统用完“直接”内存时对直接字节缓冲区进行一些清理。RMI。在这里,原因对我来说不是那么清楚......所以,问题是:知道为什么RMI需要System.gc()吗?您是否知道核心API(甚至其他一些流行的库)可以直接调用System.gc()的其他情况? 最佳答案 如果存在需要清理的分布式对象,RMI会调用System.gc()。您可以降低它执行GC的频率或有效地关闭它。您可以通过调用避免直接ByteBu

java - 在System.java源码中,标准输入、输出和错误流都被声明为final并初始化为null?

publicfinalstaticInputStreamin=null;publicfinalstaticPrintStreamout=null;publicfinalstaticPrintStreamerr=null;但众所周知,这些流默认连接到控制台并且已经打开。System类中还有setIn()、setOut和setErr()方法来重定向流。当它们被声明为final并设置为初始化值null时,这怎么可能呢?我编译了以下代码,在调用println()时设置断点并使用netbeans进行调试。我的目标是通过进入源代码来准确确定变量System.in何时被初始化为标准输出。但是似乎在调

java - -System.nanoTime() + System.nanoTime() 是否保证 >= 0?

大家好,我有一段代码如下所示:publicclassTest{publicstaticvoidmain(Stringargs[]){longa=System.currentTimeMillis();//line1longb=System.currentTimeMillis();//line2assertb-a>=0;longy=System.nanoTime();//line5longz=System.nanoTime();//line6}}所以IERS表示下一个闰秒将在2012年6月30日11:59.9之后立即发生。我想知道如果第1行在30thJune201211:59.9转1st2

java - System.out 写在 servlet 中的什么地方?

我只是想知道,在servlet中调用System.out.print()时会发生什么?它把文字写在哪里?或者在servlet中是否有System.out的重要用途? 最佳答案 这取决于您的servlet容器。对于Tomcat:WhenrunningTomcatonunixes,theconsoleoutputisusuallyredirectedtothefilenamedcatalina.out.Thenameisconfigurableusinganenvironmentvariable.(Seethestartupscript

java - Java中 'System.out.println()'与 'toString()'的连接

Java中System.out.println()和toString()有什么联系?例如:publicclassA{Stringx="abc";publicStringtoString(){returnx;}}publicclassADemo{publicstaticvoidmain(String[]args){Aobj=newA();System.out.println(obj);}}如果主类运行,它的输出为"abc"。当我删除覆盖toString()的代码时,它给出的输出为"A@659e0bfd"。那么,当我将obj对象引用作为参数传递给它时,谁能解释一下System.out.pr

java - 马文 : System dependency pointing to multiple jars

是否可以在pom中定义一个依赖项,使其具有系统范围但指向多个jar?我敢肯定这很不正统,但是,我只是想知道这是否可能。所以像这样:foofoo1.0system${basedir}/lib/foo/*.jar 最佳答案 据我了解,您正在寻找一种简单的方法来管理对本地jar文件的依赖项(在您的案例中位于“${basedir}/lib/foo/”文件夹中)。使用addjars-maven-plugin很简单。只需将以下声明添加到您的pom中:com.googlecode.addjars-maven-pluginaddjars-maven