但是,这两种方法都需要大量的重构/重写,所以在我继续使用任何一种解决方案之前,是否有一种方法可以加快使用不同库读取zipfile的速度,或者我在Apache commons Compress中做错了什么?这就是我创建zipfile对象的方式:
final File f = new File(zipFileName);
if(f.exists() == false)
throw new FileNotFoundException(zipFileName);
ZipFile zip = new ZipFile(f);
对如何攻击这个问题有什么想法吗?
从看源代码,它是打开zipfile并立即读取所有条目。它将这些信息存储在内部散列映射中,这些散列映射最初的大小并不适合您的用例。所有的重复都可能是问题所在。但很难确定。您应该使用探查器执行它,以查看这些时间都花在哪里了。
您还可以获取apache commons的源代码并制作自己的版本,这样您就可以控制初始大小,看看这是否有帮助。
如果不是,您可以始终在一个单独的线程中构造这个对象,并在构造它的同时做一些其他有用的事情。
本文向大家介绍Java构造函数,包括了Java构造函数的使用技巧和注意事项,需要的朋友参考一下 构造函数与方法相似,但在以下方面有所不同。 它们没有任何返回类型。 构造函数的名称与类的名称相同。 每个类都有一个构造函数。如果我们未为类明确编写构造函数,则Java编译器将为该类建立默认构造函数。 每次创建一个新对象时,将至少调用一个构造函数。 一个类可以具有多个构造函数。 示例 输出结果
问题内容: 我无法理解以下文件构造函数。 参数和文件含义是什么?什么时候可以使用这些?我完成了一些与文件相关的程序,但从未使用过。我通常使用 我已经阅读了Javadoc,但无法弄清楚何时以及如何使用这些构造函数。有人可以解释并举例。 问题答案: 说明 该参数是文件名或相对文件路径的父目录。 文件实例在哪里,它是目录文件。字符串在哪里,它只是该目录的术语。 例子 考虑以下部分文件系统: 您可以将Do
问题内容: 我知道我在这里问一些严重的101问题… 我有一些课,还有一个延伸课。在我有一个构造函数,它接受一组参数,并对其字段进行设置。派生类(例如)通常不需要进行修改。现在我的IDE给我 “ Foo中没有默认的构造函数” 。从一点点谷歌搜索,这似乎是因为“构造函数没有继承”。因此,一切都很好,但是我现在如何使它工作而不在每个派生类中复制此构造函数?我假设有一个更合理的方法? 问题答案: 使用构造
问题内容: 某个地方的人告诉我Java构造函数是同步的,因此在构造过程中不能同时访问它,而我在想:是否有构造函数将对象存储在映射中,而另一个线程在构造之前从该映射检索它完成后,该线程是否会阻塞,直到构造函数完成? 让我用一些代码演示: 假设put / get是地图上唯一的操作,因此我不会通过迭代之类的方法来获取CME,并尝试在此忽略其他明显的缺陷。 我想知道的是,如果另一个线程(显然不是构造该对象
实际上,我不明白无参数构造函数和默认构造函数的区别是什么。 在创建名为cFrame的Test对象时,是否调用此类的默认构造函数?
我刚刚开始用Java编程。在讨论方法和构造函数时,我们使用的文本是缺乏的。我不确定方法或构造函数到底是什么,也不确定是什么让它们独一无二。有人能帮我定义它们并区分两者吗?