Tag: java

什么时候在Java中调用finalize()方法?

我需要知道什么时候在JVM调用finalize()方法。 我创build了一个testing类,当通过覆盖它来调用finalize()方法时写入文件。 它没有执行。 有人可以告诉我为什么它不执行?

标准简洁的方式来复制在Java文件?

它一直困扰着我,用Java复制文件的唯一方法就是打开stream,声明一个缓冲区,读入一个文件,循环遍历它,然后把它写出来。 networking上散布着类似的,但这种types的解决scheme仍然稍有不同的实现。 有没有更好的方法,保持在Java语言的范围内(意思是不涉及执行特定于操作系统的命令)? 也许在一些可靠的开源工具包中,至less会掩盖这个底层的实现,并提供一个单一的解决scheme?

Map.get(Object key)不是(完全)generics的原因是什么?

决定在java.util.Map<K, V>的接口中没有完全通用的get方法的原因是什么? 为了澄清这个问题,该方法的签名是 V get(Object key) 代替 V get(K key) 我想知道为什么( remove, containsKey, containsValue相同的东西remove, containsKey, containsValue )。

NoClassDefFoundError和ClassNotFoundException之间的区别是什么?

NoClassDefFoundError和ClassNotFoundException什么区别? 是什么导致他们被抛出? 他们如何解决? 在修改现有代码以包含新的jar文件时,我经常遇到这些throwables。 我已经在客户端和服务器端为通过webstart分发的Java应用程序打了他们。 可能的原因我遇到过: 不包含在build.xml中的代码的客户端的包 运行时类path缺less我们正在使用的新jar子 版本与之前的jar有冲突 当我今天遇到这些问题时,我会采取一种“跟踪 – 错误”的方法来使事情顺利进行。 我需要更多的清晰和理解。

如何在Java中反转int数组?

我想在Java中反转一个int数组。 此方法不会颠倒数组。 for(int i = 0; i < validData.length; i++) { int temp = validData[i]; validData[i] = validData[validData.length – i – 1]; validData[validData.length – i – 1] = temp; } 这是怎么回事?

为什么调用System.gc()是不好的做法?

在用System.gc() 回答一个关于如何在Java中强制释放对象的问题(这个人正在清除一个1.5GB的HashMap System.gc() ,我被告知手动调用System.gc()是一个坏习惯,但是这些注释并不是完全有说服力。 另外,似乎没有人敢鼓掌,也不赞成我的回答。 我被告知在那里这是不好的做法,但后来我也被告知,垃圾收集器的运行不会系统地停止世界了,它也可以有效地被JVM用作暗示,所以我是种在损失。 我明白,当需要回收内存时,JVM通常比你更清楚。 我也明白,担心几千字节的数据是愚蠢的。 我也明白,即使是兆字节的数据也不是几年前的情况。 但是,仍然是1.5千兆字节? 而且你知道有1.5 GB的数据存储在内存中。 这不像是在黑暗中的一枪。 System.gc()系统性的坏,还是有一些点可以吗? 所以问题实际上是双重的: 为什么调用System.gc()是或不是不好的做法? 在特定的实现中,它仅仅是JVM的一个暗示,还是总是一个完整的收集周期? 真的有垃圾收集器的实现,可以做他们的工作,而不是停止世界? 请对我的回答中的人们在评论中提出的各种主张发表一些看法。 门槛在哪里? 调用System.gc() 不是一个好主意,还是有时候可以接受? 如果是的话,那是什么时候?

解决javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpath构build失败错误?

编辑: –试图格式化的问题和接受的答案在我的博客更多的方式 这是原来的问题: 我得到这个错误 详细消息sun.security.validator.ValidatorException:PKIXpath构build失败: sun.security.provider.certpath.SunCertPathBuilderException:无法find有效的证书path到请求的目标 导致javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpath构build失败:sun.security.provider.certpath.SunCertPathBuilderException:无法find有效的证书path到请求的目标 我正在使用tomcat 6作为networking服务器。 我有两个https webbapplication安装在differte端口上不同的tomcat,但在同一台机器上。 说App1(port 8443)和App2(port 443) 。 App1连接到App2 。当App1连接到App2 i以上错误。 我知道这是非常常见的错误,所以在不同的论坛和网站上遇到很多解决scheme。 我有两个tomcat即server.xml中的条目 keystoreFile="c:/.keystore" keystorePass="changeit" 每个站点都表示与app2提供的证书不在app1 jvm的可信存储中相同的原因。 这似乎也是如此,当我厌倦了打IE浏览器中的相同的URL,它的工作原理(与温暖,有这个网站的安全证书有问题,在这里我说继续这个网站)但是,当相同的url被击中Java客户端(在我的情况)。 所以我得到上面的错误。 所以把它放在可信任我试过这些树选项即 选项1 System.setProperty("javax.net.ssl.trustStore", "C:/.keystore"); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); Option2在环境variables中设置如下 CATALINA_OPTS — param name -Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit —param value Option3在环境variables中设置如下 JAVA_OPTS — param name -Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit —param value 但没有任何工作 。 最后的工作是执行如何处理无效的SSL证书与Apache HttpClientbuild议的java方法? 由帕斯卡尔Thivent即执行程序InstallCert。 […]

领先的Java HTMLparsing器有什么优点和缺点?

searchSO和Google,我发现有几个Java HTMLparsing器一直被各方推荐。 不幸的是,很难find有关各个图书馆的长处和短处的信息。 我希望有些人花了一些比较这些图书馆,并分享他们学到的东西。 这是我所看到的: JTidy NekoHTML jsoup TagSoup 如果有一个我曾经错过的重要parsing器,我也很乐意听到它的优点和缺点。 谢谢!

如何find使用堆栈跟踪或reflection的方法的调用者?

我需要find一个方法的调用者。 是否有可能使用堆栈跟踪或reflection?

StringBuilder和StringBuffer的区别

StringBuffer和StringBuilder的主要区别是什么? 在决定其中的任何一个时,是否有任何性能问题?