草庐IT

java - 如何提高迭代 130 多个项目并将它们上传到 aws s3 的性能

我必须迭代130多个数据传输对象,每次都会生成一个json上传到awsS3。在没有改进的情况下,完成整个过程大约需要90秒。我尝试使用lamba而不是使用lamba,两者的结果相同。for(AbstractDTOdto:dtos){try{processDTO(dealerCode,yearPeriod,monthPeriod,dto);}catch(FileAlreadyExistsInS3Exceptione){failedToUploadDTOs.add(e.getLocalizedMessage()+":"+dto.fileName()+".json");}}dtos.stre

java - Java Swing 桌面应用程序中的自动更新功能

我开发了一个桌面Swing应用程序,我正在考虑提供自动更新功能的最佳方式。我知道JavaWebStart提供了这个,但我认为它不适合我的需要,因为我需要读取本地文件,所以我需要签署jar。此外,JWS需要额外的工作才能在服务器中部署,而现在我只需要上传.jar。我一直在考虑这种方法:第一个JAR(永远不需要更新)加载启动画面,检查config.xml中的当前版本并将其与服务器config.xml进行比较。如果服务器版本较新,询问用户是否要更新。在这种情况下,下载新的“main.jar”、新的“config.xml”和新的启动画面/图标,检查MD5SUM,并将旧文件替换为新文件。启动“m

java - 是否可以将 JSON 序列化/反序列化为 Java DTO,并将额外的字段放入映射中?

我有一个这样的DTO:publicFoo{publicintbar=123;publicMapparams;//key1=v1,key2=v2etc.}我希望它序列化为以下JSON或从以下JSON序列化:{"bar":123,"key1":"v1","key2":"v2"}有谁知道如何使用Jackson或Genson做到这一点?基本上,我希望对DTO中声明的字段进行自动类型转换,但任何“额外内容”都会进入参数映射。 最佳答案 感谢@fge让我走上正轨。Jackson有@JsonAnySetter和@JsonAnyGetter注释可用

java - 检测 JComboBox 编辑

我有一个JComboBox,我想每秒从数据库中检索一组字符串并将这些字符串设置为JComboBox的内容,并将其中一个设置为当前选定的值。但我也希望用户能够编辑JComboBox并将值添加到数据库并将其设置为当前值。我希望能够检测到字符何时输入到JComboBox中,因此我可以重置倒计时,只要它不为零,它就会阻止更新JComboBox。我的第一直觉是使用KeyListener,但是关于组合框的Java教程是这样说的,AlthoughJComboBoxinheritsmethodstoregisterlistenersforlow-levelevents—focus,key,andmou

java - 从 Sonarqube 导出编码规则列表

我正在尝试找到一种方法来获取所有SonarqubeJava(或其他)规则(带有键、描述等)的列表并将其导出为Excel、csv或xml。我可以像this一样“动态地”列出它们,但我想将它们全部放在一个文件中。有谁知道如何做到这一点? 最佳答案 检查一下http://nemo.sonarqube.org/profiles初始配置文件View仅列出所有规则。您可以单击备份链接并将规则导出到xml文件。此xml文件具有规则、repositoryKey、key...我不确定这是否是您想要的,但希望您觉得它有用!

java - 如何通过 BIRT API 设置参数并将其传递给 BIRT 报告设计器创建的 BIRT 报告?

我创建了一个采用单个参数的简单报告。该参数在查询中使用,直接在报表设计器中执行时执行良好。顺便说一句,我没有为这份报告使用javascript或任何脚本。我看到有些人试图在这里使用脚本和/或javascript传递参数以获得答案,但这不是我正在做的。我通过java传递我所有的参数。继续,在这份报告中,我列出了活跃/不活跃的项目。我传入“N”以列出非Activity项目,并传入“Y”以列出Activity项目。当我尝试通过API传递一个参数时,无论我传递什么,我总是得到一个Activity项目列表。顺便说一下,“Y”是传入参数的默认值。(我覆盖了默认值下面的代码)我遇到的问题是报告似乎不

java - 为哈希选择合适的表大小

如果我有一个1000的key集,我的哈希表的合适大小是多少,如何确定? 最佳答案 这取决于加载因子(表将增加其大小并重新分配其元素的“满百分比”点)。如果您知道恰好有1000个条目,并且这个数字永远不会改变,您可以将加载因子设置为1.0并将初始大小设置为1000以获得最大效率。如果您不确定确切的大小,您可以将加载因子保留为默认值0.75,并将初始大小设置为1334(预期大小/LF)以获得真正良好的性能,但需要付出一定的代价额外的内存。您可以使用以下构造函数来设置加载因子:Hashtable(intinitialCapacity,fl

java - Wicket:如何以编程方式呈现页面并将结果作为字符串获取?

我正在将一个应用程序转换为在其所有页面上使用i18n/l10n。我很高兴Wicket对此提供支持,目前进展顺利。我遇到的一个棘手部分如下:我们有一个文本文件,用作HTML模板,当用户在站点上执行特定操作时发送电子邮件。当用户单击特定链接时,我手动阅读此模板,进行一些文本替换,例如"Dear$USERNAME",然后将结果作为HTML电子邮件发送给用户。为了支持我们定位的10种左右的语言,我要么必须维护这个模板文件的10个副本,要么想办法使用Wicket的内置i18n支持来呈现这个“页面”,将结果作为字符串抓取,然后发送。因此我的问题:如何以编程方式“呈现”Wicket页面并将结果作为字

java - 如何在 JavaDoc 中自定义 "Overview"页面?

我希望我的库的javadoc的“Overview”页面本质上是整个JAR的用户/API指南。我知道将package-info.java类添加到包中可以让您编写包级别javadoc,但是在jar级别?我知道我可以将README.md放在项目的根目录中,但我喜欢将README视为库开发人员(即,将维护库)。但JavaDocs是为将使用库的人提供的API指南。 最佳答案 您可以创建一个概览HTML文件并将其放置在源代码树中您喜欢的任何位置。惯例是将其命名为overview.html并将其放在树的根部,但您当然没有义务这样做。事实上,您可以

java - java Mock 文件的建议(模拟 java.io.File)

有人对java模拟文件对象有建议吗?我正在使用需要获取java.io.File对象作为参数的第三方类。我通过网络服务(也是他们的产品之一)以流的形式接收此文件的数据。一种解决方案是将所有这些数据写入一个文件并将其提供给类(class)。这是我不喜欢的解决方案:它剥夺了使用网络服务而不是仅仅下载文件的优势。更快更有效的方法是将这些数据从内存中放入模拟文件中,并将该模拟文件提供给第三方类。它可能必须是一个MockFile扩展java.io.File并覆盖所有与硬盘上的文件进行实际接口(interface)的函数。我知道第三方应该使用流作为输入参数而不是文件。但是,这超出了我的影响范围。