分析Java堆转储时耗尽内存

我有一个奇怪的问题,我需要分析一个1.5GB大小的Java堆转储(来自IBM JRE),问题是在分析转储时(我已经尝试过HeapAnalyzer和IBM Memory Analyzer 0.5 )这些工具耗尽内存我无法真正分析转储。 我的机器里有3GB的RAM,但似乎还不足以分析1.5 GB的转储, 我的问题是,您是否知道我可以使用我拥有的内存量运行的堆转储分析(支持IBM JRE转储)的特定工具? 谢谢。

使用面板消息/解决方法时,Java 1.5 JOptionPane绘制错误?

我在一个针对Java 1.5的应用程序中有一个带有自定义消息面板的JOptionPane。 该面板包含JTextField等。 每20个调用左右,对话框中的任何内容都不会被绘制(甚至没有OK / Cancel按钮)。 如果我将对话框从屏幕拖出并再次返回以强制重新绘制,则组件可以按预期显示,除了绘制问题之外,组件响应正常。 这是我可以展示这个bug的最小例子: public class BugTest { public static void main(String args[]) { SwingUtilities.invokeLater(new Runnable() { public void run() { // The text field needs to be wrapped in a panel for the bug to show up. JPanel messagePanel = new JPanel(); // A JLabel won’t exhibit the bug, but […]

hashmap的第n项

HashMap selections = new HashMap(); 如何在所有HashMap中获取Float的第3个较小值的Integer键? 为此使用HashMap 编辑即时消息 for (InflatedRunner runner : prices.getRunners()) { for (InflatedMarketPrices.InflatedPrice price : runner.getLayPrices()) { if (price.getDepth() == 1) { selections.put(new Integer(runner.getSelectionId()), new Float(price.getPrice())); } } } 我需要第3个较小价格的跑步者,深度为1 也许我应该以另一种方式实现这个?

Maven – 如何在声明的存储库中validation依赖项?

我刚刚编辑了一个项目的pom.xml文件的部分,删除了一些我认为不需要的repo。 我想validation声明的依赖项仍然可以在可用的存储库中解析。 但是,所有声明的依赖项都可以在我的本地仓库中使用,因此任何构建的尝试都只使用本地的。 我不想简单地核对我的本地仓库,因为从头开始下载所有依赖项需要花费很多时间。 同样,我对maven尝试下载所有依赖项不感兴趣,我只是希望它确保它们都是可解析的(包括传递依赖)。 我该怎么做呢?

我的可执行jar文件的安全性如何

我用Java开发了一个桌面应用程序。 我以Executable jar(.jar)格式转换了我的代码。 这里我的问题是,这个jar文件很容易通过winrar / winzip提取。 我的Java类文件对其他人可见,而且我使用JAD进行反编译过程我的源代码对所有人都可见。 是保护我的源代码免于解编译过程的任何方法。

在表单中有多个提交按钮,并确定在控制器中按下了哪些按钮

在我的Spring应用程序中,我有一个jsp,它有一个表单,我希望有多个提交按钮转到同一个控制器。 我需要能够确定控制器中按下了哪个按钮。 表单向用户显示多个项目,他们可以选择其中一个项目,唯一的区别是所选项目的ID。 在jsp中,我正在创建这样的表单: ${item.description} 但是,这在日志中给出了“数据绑定错误:1”消息,并且表单未提交给控制器。 我尝试将myCommand.id从int更改为String,但是当它提交时的值是id1,id2,id3 …(逗号分隔列表中的所有ID),无法确定按下了哪个按钮。 我不希望必须为每个按钮指定不同的操作,因为项目数量可以增长,并且它们的操作完全相同,只是使用不同的ID。 如何在此表单中使用多个按钮并获取控制器中的值?

如何使用外部绑定文件覆盖JAXB中的默认名称?

我有一个看起来像这样的元素。 以下是为此元素创建的默认代码。 @XmlElements({ @XmlElement(name = “navmap”, type = Navmap.class), @XmlElement(name = “keymap”, type = Keymap.class), @XmlElement(name = “container”, type = Container.class), @XmlElement(name = “ad”, type = Ad.class), @XmlElement(name = “button”, type = Button.class), @XmlElement(name = “checkbox”, type = Checkbox.class), }) protected List navmapOrKeymapOrContainer; 我的问题是我需要在我的 .xjb 绑定文件中 放置什么来将 默认生成的名称从 navmapOrKeymapOrContainer 为其他类似的 children ?

使用ExecutorService计划的任务

我想在JAVA中使用ExecutorService来安排每5分钟插入数据库。 这是我想要执行它的任务: MyClass{ a counter that count a handled data received from a Thread I receive usually 300 data line/second Apply a treatment on these data and keep the results in the memory every five minutes { update the database with the counters saved in memory* } } 基本上,每当他从后台运行的线程获取数据时,它就会调用该任务。 因为我有超过300个数据/秒,所以不可能以这种方式使用它。 所以我正在尝试做id来处理收到的任务并在内存中保留一个计数器并且每5分钟更新一次数据库。 我的问题是,是否可以使用这些java函数ScheduledExecutorService来做到这一点,我们怎么做呢(我不想在任务上阻止我的JAVA应用程序5分钟,我希望该应用程序正常运行但不执行每次都有任务,如果你能告诉我一些这些function的用法,我很感激吗?

翻译的最佳实践

我正在使用JSP编写一个网站。 我希望网站有多种语言版本,所以我为我计划支持的每种语言创建了一个HashMap ,并通过map.get(“identifier”)找到了文本map.get(“identifier”)当然还有一些其他代码)。 我遇到的问题是我之前通过使用format函数解决的问题(类似于许多语言中的printf ),但这是另一种语言。 具体问题是像User performed action文本可能会Action was performed by user以另一种语言User performed action (即术语可能会出现故障)。 在过去,我做过类似#translate(“Welcome to the site, %s!”, {“Username”}) ,然后使用语言的formatfunction将%s替换为用户名。 我可以简单地使用String#replace但是我不能做像#translate(“Welcome to the site, %s! You last visited on %s!”, {“username”, “last visit”})这样的事情#translate(“Welcome to the site, %s! You last visited on %s!”, {“username”, “last visit”})就像我一样我想。 很抱歉,如果这是一个不好的解释 – 只需在PHP之类的内容中查找printf 。 在Java中复制这样的东西的最佳方法是什么? 谢谢您的帮助。

货币符号与另一种数字格式

我想知道是否有一种优雅的方式来设置一种数字的货币格式,但保持实际数字格式在另一种方式。 这是Java。 基本上我是这样做的 NumberFormat format = NumberFormat.getCurrencyInstance(locale); 这是很好的,除了我正在为英国用户编写一个系统,我的用户很不高兴,当显示(例如)欧元时,数字格式化为欧洲人会使用它。 因此,作为英国人的500,000欧元会写它显示为€500.000(即交换,for。)。 我打算将locale替换为locale.UK,但后来我将使用错误的货币符号! 我有几个脏的修复,但我想知道是否有一种优雅的方式来保持语言环境的货币符号与本地语言环境(locale.UK)数字格式。