用于查找年,月和日中2个日期对象之间差异的Java方法

我有一个开始日期和结束日期。 两个日期之间的持续时间应为年,月和日。 我是java的新手。 当我运行以下方法时,我获得的是0年,12个月1天。 请建议一种替代方案,以获得年,月和日的准确差异。 import java.sql.Date; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class Duration { private String getAssignmentDuration(java.util.Date oldDate, java.util.Date newDate) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); if (oldDate.compareTo(newDate) > 0) { c1.setTime(newDate); c2.setTime(oldDate); } else { System.out.println(“invalid”); return “Invalid selection”; } int year = 0; int month = 0; […]

StringBuilder最有效的初始容量大小?

我正在写很多东西来登录突发,并优化数据路径。 我用StringBuilder构建日志文本。 什么是最有效的初始容量,内存管理明智,所以无论JVM如何都能很好地工作? 目标是避免几乎总是重新分配,这应该由初始容量约80-100覆盖。 但是我也想浪费尽可能少的字节,因为StringBuilder实例可能会在缓冲区中出现并且会浪费掉浪费的字节。 我意识到这取决于JVM,但是应该有一些值,这会浪费最少的字节,无论JVM,都是“最小公分母”。 我目前正在使用128-16 ,其中128是一个很好的整数,减法用于分配开销。 此外,这可能被视为“过早优化”的情况,但由于我所追求的答案是一个“经验法则”数字,因此知道它在将来也会有用。 我不期待“我最好的猜测”答案(上面我自己的答案已经是这样),我希望有人已经研究过这个并且可以分享基于知识的答案。

@Autowire奇怪的问题

自动assembly时我有一种奇怪的行为 我有类似这样的代码,它的工作原理 @Controller public class Class1 { @Autowired private Class2 object2; … } @Service @Transactional public class Class2{ … } 问题是我需要Class2实现一个接口所以我只改变了Class2所以它现在就像: @Controller public class Class1 { @Autowired private Class2 object2; … } @Service @Transactional public class Class2 implements IServiceReference{ … } public interface IServiceReference { public T reference(PK id); } 使用此代码,我得到一个org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of […]

Sax解析和编码

我有一个在解析RSS和Atom文件时遇到SAX问题的联系人。 根据他的说法,就好像来自Item元素的文本被截断为撇号或有时是重音字符。 编码似乎也存在问题。 我已经尝试过SAX了,我也有一些截断,但是还没有进一步挖掘。 如果有人在此之前解决了这个问题,我会很感激。 这是在ContentHandler中使用的代码: public void characters( char[], int start, int end ) throws SAXException { // link = new String(ch, start, end); 编辑:编码问题可能是由于将信息存储在字节数组中,因为我知道Java在Unicode中工作。

如何处理java编码问题(特别是xml)?

我搜索了java和编码,我没有找到解释如何处理java编码和解码字符串时出现的公共问题的资源。 关于单个错误有很多具体问题,但我没有找到问题的广泛响应/参考指南。 主要问题是: 什么是字符串编码? 为什么在Java中我可以用错误的字符串读取文件? 为什么在处理xml时我得到了无效字节x的y字节UTF-8序列exception? 主要原因是什么以及如何避免它们?

Java进程内存检查测试

我试着看看-Xmx和-Xms参数如何影响我的程序并检查我的进程消耗了多少内存。 我写了一个简单的程序,但我无法推断出结果。 请帮助。 public static void main( String[] args ) { char[] array = new char[69926904]; } 我使用参数-Xms5M -Xmx200M 。 理想情况下,由于字符占用2个字节,因此在超出内存限制之前应保留100M字符。 即使我们说,很少有空间用于指针和长度 ,我不知道,为什么它在69926904长度后抛出错误。 谢谢。

如何使JOptionPane.showConfirmDialog默认没有选中?

我在Java中实现了一个“另存为”对话框,提示用户文件是否已存在,并且我希望默认情况下选择“否”选项。 我该怎么做呢? 这是我目前的代码: JFileChooser chooser = new JFileChooser() { public void approveSelection() { File selectedFile = getSelectedFile(); if (selectedFile != null && selectedFile.exists( ) ) { int response = JOptionPane.showConfirmDialog( this, “The file ” + selectedFile.getName() + ” already exists.” + ” Do you want to replace the existing file?”, getDialogTitle(), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); if (response […]

如何在Spring中使用@ComponentScan懒洋洋地加载所有bean?

我正在使用基于Java的配置来设置我的Spring应用程序上下文,如下所示: @Configuration @Lazy @ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class}) public class MyAppConfig { … } 在配置中明确定义的Bean会像您期望的那样懒惰地加载。 但是,用@Named注释的扫描类总是急切地加载。 我怎么解决这个问题? 任何帮助表示赞赏。 请注意,对于MyProject包中的类,我可以通过使用@Lazy注释它们来解决这个问题。 但是另一个项目没有依赖Spring,我想保持它(因此@Named而不是@Component )。 另请注意,这不会成为基于XML的配置中的问题。 在那里,在标签接缝中设置default-lazy-init=”true”来做我想要的(虽然我没有测试过)。

带有3个参数的Java8 stream.reduce() – 获得透明度

我编写了这段代码,将一个单词列表缩减为多少单词以’A’开头。 我只是为了学习Java 8而写它,所以我想更好地理解它[免责声明:我意识到这可能不是编写这段代码的最好方法; 这只是为了练习!] 。 Long countOfAWords = results.stream().reduce( 0L, (a, b) -> b.charAt(0) == ‘A’ ? a + 1 : a, Long::sum); 中间参数/ lambda(称为累加器)似乎能够在没有最终’Combiner’参数的情况下减少完整列表。 事实上,Javadoc实际上说: {@code accumulator}函数充当融合映射器和累加器*,它有时比单独的映射和缩减更有效,*例如当知道先前减少的值允许您避免*某些计算时。 [编辑来自作者] –以下陈述是错误的,所以不要让它混淆你; 我只是把它放在这里,所以我不会破坏答案的原始背景。 无论如何,我可以推断累加器必须输出组合器组合的1和0。 我没有从文档中发现这一点特别明显。 我的问题 有没有办法在组合器执行之前查看输出是什么,所以我可以看到组合器组合的1和0的列表? 这将有助于调试更复杂的情况,我相信我最终会遇到这种情况。

如何使用java搜索/查找JSON

我有一个下面的JSON字符串,我想在JSON字符串中找到/搜索条件。 1)。 查找存在的键数。 2)。 获取给定键的值(如果我们有数组) { “store”: { “book”: [ { “category”: “reference”, “author”: “Nigel Rees”, “title”: “Sayings of the Century”, “price”: 8.95 }, { “category”: “fiction”, “author”: “Evelyn Waugh”, “title”: “Sword of Honour”, “price”: 12.99 }, { “category”: “fiction”, “author”: “Herman Melville”, “title”: “Moby Dick”, “isbn”: “0-553-21311-3”, “price”: 8.99 }, { “category”: “fiction”, “author”: […]