草庐IT

java - Logback 是否成熟到足以取代 log4j?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我读过关于SO的类似问题,例如this和this.但他们大约四岁!我也读过thislogback页面,其中有一些关于为什么选择Logback而不是log4j的非常好的信息。我希望使用以下技术堆栈为项目实现日志记录框架-Springhibernate专家Tomcat休息我已经决定使用slf4j作为facade,所以这个问题是使用slf4j+log4j还是s

java - 在 Collection 中保存表行有什么好处?

我见过一些Java代码,其中数据库表中的行被保存在一个集合中(通常是ArrayList或HashMap)。这种方法有什么好处?如何使集合和表保持同步?为什么不为每次检索向数据库发送查询?这是一个好的做法吗? 最佳答案 好处是性能。查询数据库是资源和时间密集型的。如果您的表足够小,您可以将项目保存在内存中,那么简单地引用本地内存会快几个数量级。就保持同步而言,这是一个更困难的答案,并且取决于用例。在大多数情况下,除非您设置了一些良好的自定义架构,否则无法保证一旦您将数据库和内存中的集合检索到内存中,它们就会同步。如果您想要采用这种方法

java - Java 应用程序中每个类的成本 - 更少的大类或几个更小的类

对于添加到Java应用程序的每个新类,内存成本是多少?是拥有5000多行的大型类还是几个500-1000行的类更好(如果它们都已加载)每次对象被实例化时,是否唯一额外的内存使用是用于实例变量引用对于一个没有实例变量的5000行类,加载类时的成本规模是多少?类文件的大小是粗略的近似值吗?jar文件的大小是否表明类将占用的内存通常大小或最大大小?在cruftex的回答后编辑:这是我对类split的理解:拆分成逻辑block可以很好地提高代码重用和减少行数它也更容易理解和维护代码这是我现在对类加载的理解:在第一次使用时将类加载到内存中(使用的内存大约是类文件的大小)如果使用JIT,一些额外的

Java 8 LocalDate-确定无年的 Feb-29 日期的年份?

我和我的同事有一个有趣的问题。我们使用的旧系统只返回ddMMM格式的日期数据。如果当年的日期/月份是过去的,那么我们将假定此日期适用于明年。否则适用于当年。所以今天是4/30/2015。如果系统返回包含12MAR的记录,则该日期将转换为3/12/2016。如果日期显示为07MAY,则它会转换为5/7/2015。但是,29FEB是闰年,因此尚不清楚如何确定年份。我们不能用年份实例化它而不可能抛出错误。我们在试图为当年创建一个LocalDate时依赖于try/catch。如果捕获,我们假设它属于明年。是否有更符合犹太教规的方法来做到这一点? 最佳答案

java - 单一来源文档工具

什么OSS(或免费)工具可用于起草可用于生成手册的文档的单一来源?具体有以下几种格式:HTML网站PDF文档嵌入(在应用程序内;可能是HTML)1文本(可选)手册页(可选)附加要求:该工具适用于技术作家(无需是所见即所得)。XML/SGML来源高质量PDF输出(与TeX相媲美)多平台扩展要求1同一个命令行应用程序是用两种语言(C和Java)编写的。使用XML描述命令行选项(其中一些特定于一种或另一种语言),可以直接将XML转换为Java类或C函数,后者将帮助写入标准输出。这确保了可以将帮助嵌入到二进制文件中,而无需依赖外部文件。AsciiDoc似乎没有这个能力。还有其他选择吗?

java - 在大型 Java 应用程序中标准化日志记录的方法

在大型应用程序中,日志记录是必不可少的,但是当许多开发人员处理代码时,日志可能会变得困惑。可以这样写:log.info("Loaded"+rowCount+"recodrsfromthedatabase.");另一个可能会做这样的事情:log.debug("Recordsread={}",rowCount);第三个开发人员可能认为这是正确的方法:log.trace("Record(s)read:"+NumberFormat.getInstance().format(rowCount)+",values:"+values);这将导致日志难以阅读,也更难解析。您可以为开发人员提供什么指导来

java - AWT、SWT、Swing、SAF/JSR-296、JFace、NetBeans 平台和 Eclipse RCP 之间的关系是什么

我正在寻找能让这个字母表汤更清晰的东西。如果它能够阐明差异的政治并试图阐明相似之处(如果有的话),那就太好了。 最佳答案 相似点:rendering->graphiclibrary->plaformAWT->SWING->NETBEANSPLATFORM->jsr296SWT->JFACE->eclipsercp渲染工具包提供基本功能Canvas绘图、标签、文本、组合框...图形库介绍MVC模式、更高级别的组件(可排序表、日期选择器...)平台帮助拥有由模块组成的模块化应用程序,扩展其他模块的功能。它还添加企业功能,如后台任务、部署

java - 是否有适用于 Java 的 Harel Statechart DSL 工具?

我正在寻找一种理解DSL的工具,我可以在其中定义生成Java代码的状态图,或者DSL中的状态图可以按原样运行的位置。该工具最好用Java编写,并且必须根据HarelStatecharts(或等效的UML2状态机)的定义支持超状态和正交区域。或者,编写此类DSL的最佳库或工具是什么? 最佳答案 Yakindu看起来不错:http://www.statecharts.orgHarel状态图视觉语言文本DSL生成Java生成C生成C++生成可配置/可定制基于Eclipse开源模拟历史和深厚的历史

java - 如何改进应用程序以避免堆空间问题

我有一个应用程序,它大量使用许多自定义对象,这些对象是在方法内部创建的,在方法之外从不需要。整个结构(在我看来)是非常好的面向对象的,并使用服务、实用程序和DI模型。现在,当我运行第一个“大型”测试时,我很快遇到了OutOfMemoryExceptions。现在,我不只是想增加堆空间并完成它,因为我可以想象这不会解决问题,而是延迟它直到我的应用程序增长更多并遇到同样的问题。我正在寻找一些简单且易于实现的解决方案、技巧和片段,以帮助应用程序处理垃圾收集和堆空间,尤其是当涉及到许多与对象创建相关的循环时。诸如“不要在循环中创建对象,在循环之前创建它们并在循环中覆盖它”之类的东西。

Java 样例人脸识别

我正在尝试开发一个系统,让某人可以给某人的脸拍照,在将图像发送到远程服务器后,客户端将能够读取有关此人的信息。我以前曾尝试过JavaCV,但是,我发现它对我的目的来说太不准确了。到目前为止,我已经尝试过这些JavaCV算法:费雪人脸识别特征人脸识别LBPH人脸识别但是,我需要建立一个人脸识别系统。这将是“独立的”,不会在Android上运行(例如)。我需要一些帮助来选择正确的javasdk/库(以及是否可以避免商业解决方案,例如“Cybula”、“NeuroTechnology”和“SensibleVision”)。如有任何帮助,我们将不胜感激!谢谢,马特