Tag: java

在迭代时从HashSet中移除元素

所以,如果我在迭代的时候尝试从Java HashSet中移除元素,我得到一个ConcurrentModificationExceptionexception 。 如下例所示,从HashSet中删除一部分元素的最佳方法是什么? Set<Integer> set = new HashSet<Integer>(); for(int i = 0; i < 10; i++) set.add(i); // Throws ConcurrentModificationException for(Integer element : set) if(element % 2 == 0) set.remove(element); 这是一个解决scheme,但我不认为它是非常优雅的: Set<Integer> set = new HashSet<Integer>(); Collection<Integer> removeCandidates = new LinkedList<Integer>(); for(int i = 0; i < 10; i++) set.add(i); for(Integer element : set) […]

PermGen实际上代表什么?

我知道PermGen是什么,它用于什么,为什么失败,如何增加等等。 我不知道的是PermGen实际上代表的东西。 永久… Gen …什么? 有谁知道PermGen实际上代表什么?

如何从包含绝对文件path的string获取文件名?

Stringvariables包含一个文件名, C:\Hello\AnotherFolder\The File Name.PDF 。 我怎样才能得到文件名称的文件名称The File Name.PDF作为一个string? 我打算分割string,但这不是最佳解决scheme。

使用POI将大型结果集写入Excel文件

这是内联瓦特/ 写一个大的ResultSet到一个文件,但有问题的文件是一个Excel文件。 我正在使用Apache POI库来编写一个Excel文件,其中包含从ResultSet对象中检索的大型数据集。 数据可能从几千条到约一百万条; 不知道这是如何转换成Excel格式的文件系统字节。 以下是我编写的一个testing代码,用于检查编写如此大的结果集所需的时间,以及CPU和内存的性能影响。 protected void writeResultsetToExcelFile(ResultSet rs, int numSheets, String fileNameAndPath) throws Exception { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileNameAndPath)); int numColumns = rs.getMetaData().getColumnCount(); Workbook wb = ExcelFileUtil.createExcelWorkBook(true, numSheets); Row heading = wb.getSheetAt(0).createRow(1); ResultSetMetaData rsmd = rs.getMetaData(); for(int x = 0; x < numColumns; x++) { Cell cell = heading.createCell(x+1); cell.setCellValue(rsmd.getColumnLabel(x+1)); […]

捕获实时video设备中的图像以供基于Java的应用程序使用的最佳方法是什么?

我正在研究一个image processing问题,用于某些场景的半实时检测。 我的目标是以某种方式将实时video作为Motion JPEG帧存入Java代码中。 我对Java媒体框架非常熟悉,不幸的是,我认为我们可以认为这是一个有效的API。 我对Axis盒子也很熟悉,虽然我真的很喜欢他们的解决scheme,但是我希望对我的具体问题有任何批评意见。 这就是我为这个讨论的目的而定义“最佳”的方式: 延迟 – 如果我使用这个videostream来控制摄像机,如果可能的话,我想保持我的往返延迟小于100毫秒。 这是从我的控制input到看到可见变化的时间之间的时间。 一段时间后编辑:另一个要记住的是,相机控制可能是手动和自动(事件触发器)的组合。 我们需要立即看到这些图片,即使高品质的饲料是分开存档。 免费/开源比不免费更好。 可调编解码器参数 – 我需要能够调整编解码器的某些情况。 有时高速低分辨率stream实际上更容易处理。 与Java“集成” – 将这个解决scheme绑定到我的代码有多麻烦? 我是否通过套接字发送数据包? 打url? 安装Direct3D / JNI组合? Windows / Linux /两者? – 我更喜欢操作系统不可知的解决scheme,因为我必须交付给几种风格的操作系统,但可能有一个解决scheme是最佳的一个,而不是其他。 注:我知道其他图像/video采集编解码器,这不是这个问题的重点。 由于帧精度的损失,我特别对stream媒体API(例如,MPEG4) 不感兴趣。 但是,如果我的问题的解决scheme提供了另一个帧精确的数据stream,请join。 对这个问题的后续处理:在这一点上,我强烈倾向于购买安讯士video编码器等设备,而不是直接在软件或PC上采集video。 但是,如果有人有替代品,我很乐意听到他们的声音。

Java中的默认值和初始化

根据我的参考 ,原始types有默认值和对象为空。 我testing了一段代码。 public class Main { public static void main(String[] args) { int a; System.out.println(a); } } 行System.out.println(a); 将是一个错误指向variablesa ,说variable a might not have been initialized而在给定的参考, integer将有0作为默认值。 但是,下面给出的代码,它将实际打印0 。 public class Main { static int a; public static void main(String[] args) { System.out.println(a); } } 第一个代码可能会出现什么问题? 实例variables的行为不同于局部variables吗?

Maven的“构buildpath指定了执行环境J2SE-1.5”,即使我把它改为1.7

在Eclipse Juno中,我安装了最新的m2e插件(1.2.20120903-1050)。 在首选项中,我已经在Java-> Installed JREs – > Add中添加了jdk1.7.0_11,然后指定了位置( C:\Program Files\Java\jdk1.7.0_11 )。 当我创build一个新的Maven项目并运行它时,我得到一个警告: 构buildpath指定执行环境J2SE-1.5。 工作区中没有安装与此环境严格兼容的JRE。 我不知道如何解决这个问题。 我相信这是一个Maven问题,因为我运行普通的Java项目时没有这个错误。 我在这里读到我应该更改“maven-compiler-plugin.pom”,并将源和目标从1.5更改为更合适的内容。 在我的情况下,1.7。 我已经这样做了,但我仍然得到警告。

java:JAXWS 2.0不支持Rpc /编码的wsdls

我正在使用CXF 2.1从wsdl生成java代码,但是我收到以下错误: WSDLToJava Error: Rpc/encoded wsdls are not supported in JAXWS 2.0 org.apache.cxf.tools.common.ToolException: Rpc/encoded wsdls are not supported in JAXWS 2.0 at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.checkSupported(JAXWSDefinitionBuilder.java:141) at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:87) at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:61) at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:127) at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:232) at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83) at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:103) at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:173) 我如何解决这个错误,我可以使用以前版本的CXF或其他任何修复它?

我们可以重载Java中的主要方法吗?

我们可以重载Java中的main()方法吗?

在Windows XP上安装JDK8 – advapi32.dll错误

我下载了JDK8 build b121,并尝试安装时出现以下错误: 过程入口点RegDeleteKeyExA不能位于dynamic链接库ADVAPI32.dll中 操作系统是Windows XP,版本2002 Service Pack 3,32位。