如何通过JUnit测试拦截SLF4J日志记录?

是否有可能通过JUnit测试用例以某种方式拦截日志记录(SLF4J + logback)并获取InputStream (或其他可读的东西)?

使用Java将xml转换为json

有没有办法将xml文件转换为json? XML可以是任何结构,因此没有用于实例化的POJO类。 我需要将xml转换为json或转换为没有根节点的Map。 例如: Emil Example Example Blvd. Example Ave. 预期的JSON { “firstName”: “Emil”, “lastName”: “Example”, “addresses”: [ { “street” : “Example Blvd.” }, { “street” : “Example Ave.” } ] }

设置log4j日志级别

我目前正在开发一个使用log4j的项目。 我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以看到所有值是否正确。 在项目中使用日志记录的类包含如下所示的行: private static final Log LOG = LogFactory.getLog(MatchTaskTest.class); 并使用像这样的方式来进行实际的调试 LOG.trace(“value”); 我之前从未使用过log4j,有没有人知道如何只为测试用例更改日志级别,最好只需在eclipse的运行配置对话框中定义一个参数。

在java的国际象棋棋盘

这是我的代码 import javax.swing.*; import java.awt.*; public class board2 { JFrame frame; JPanel squares[][] = new JPanel[8][8]; public board2() { frame = new JFrame(“Simplified Chess”); frame.setSize(500, 500); frame.setLayout(new GridLayout(8, 8)); for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { squares[i][j] = new JPanel(); if ((i […]

在Swagger-UI中对API方法进行排序

我找不到任何工作示例,如何实现以下内容:我希望我的Swagger-UI中的API方法按方法(GET-POST-PUT-DELETE)或/按字母顺序排序。 到目前为止,所有方法都以随机顺序显示,甚至不按给定源代码的顺序显示。 我使用Jax-RS + Jersey 1。 使用@ApiOperation的position属性进行排序对我来说不是一个选项,因为有太多方法且API仍在扩展,所以如果有新的方法我需要更新所有方法。 任何提示?

Java:VolatileImage比BufferedImage慢

我正在使用java和使用BufferedImages进行游戏,以便将内容呈现给屏幕。 我在游戏应该运行的低端机器上遇到性能问题,所以我切换到通常更快的VolatileImage。 除了他们实际上减慢整个事情。 图像是使用GraphicsConfiguration.createCompatibleVolatileImage(…)创建的,并使用Graphics.drawImage(…)绘制到屏幕上(按照链接查看具体的链接)。 它们使用双缓冲在Canvas上绘制。 有人知道这里出了什么问题吗?

使用servicelocation而不是构造函数注入来避免编写工厂类的负载是不好的

现在我们使用DI / IOC,当我们需要将额外的参数传递给构造函数时,我们使用工厂类,例如 public class EmailSender { internal EmailSender(string toEmail, string subject,String body, ILogger emailLogger) {…..} } public class EmailSenderFactory { ILogger emailLogger; public EmailSenderFactory(ILogger emailLogger) { this.emailLogger = emailLogger; } public EmailSender Create(string toEmail, string subject, string body) { return new EmailSender(toEmail, subject, body, emailLogger); } } 现在问题在于我们最终创建了一个完整的工厂类,并且人们并不总是知道使用它们(他们有时会自己创建它们)。 编写类的最大负面因素是: public class EmailSender { EmailLogger […]

ArrayBlockingQueue使用单个锁进行插入和删除,但LinkedBlockingQueue使用2个单独的锁

我正在浏览ArrayBlockingQueue和LinkedBlockingQueue的源代码。 LinkedBlockingQueue有一个putLock和一个takeLock分别用于插入和删除,但ArrayBlockingQueue只使用1个锁。 我相信LinkedBlockingQueue是基于简单,快速,实用的非阻塞和阻塞并发队列算法中描述的设计实现的 。 在本文中,他们提到他们保留一个虚拟节点,以便入队者永远不必访问头部,而且出队员永远不必访问尾部,这避免了死锁情况。 我想知道为什么ArrayBlockingQueue没有借用相同的想法并使用2个锁而不是。

如何在java中舍入整数

我想将数字1732舍入到最接近的十,十万。 我尝试使用Math round函数,但它只是为float和double编写的。 如何为整数做这个? java中有什么function吗?

LWJGL纹理和字符串

是否可以在不使用Slick Framework的情况下加载PNG纹理并在LWJGL绘制字符串? 每次我google “如何在lwjgl中加载png图像”我得到这样的答案 – > “嘿,只需使用光滑框架 中的textureloader ” 。 “如何在lwjgl中绘制字符串” – > “只需使用光滑框架中的TTFFont类” 但我不想使用这种中途交叉框架设计。 因为我认为这不是最好的方法。 LWJGL是否有任何只为纹理或字符串制作的库或扩展?