179得票8回答
如何在Android Studio和Gradle中设置-source 1.7

我在尝试在Android Studio中编译我的项目时遇到了以下错误:Gradle: error: diamond operator is not supported in -source 1.6 我在所有找到的项目首选项中将1.7设置为目标版本。此外,在1.7 SDK下显示的项目SDK路径是...

170得票5回答
Java 8的代码能否编译运行在Java 7的虚拟机上?

Java 8引入了重要的新语言特性,例如lambda表达式。这些语言上的变化是否伴随着编译后的字节码的显著变化,从而需要使用一些反向转换器才能在Java 7虚拟机上运行?

166得票5回答
如何在JDBC中使用try-with-resources?

我有一个使用JDBC从数据库获取用户的方法:public List<User> getUser(int userId) { String sql = "SELECT id, name FROM users WHERE id = ?"; List<User&gt...

148得票2回答
如何设置IntelliJ IDEA项目SDK

我刚安装了IntelliJ IDEA,但当我尝试创建我的第一个项目时,它要求我设置项目SDK。当我点击“JDK”时,它要求我像这张图片中所示选择JDK的主目录。 我找不到它的位置。

133得票5回答
PermGen和Metaspace有什么区别?

在Java 7之前,JVM内存中有一个称为PermGen的区域,JVM用于保存其类。在Java 8中,它被删除并替换为称为Metaspace的区域。 PermGen和Metaspace之间最重要的区别是什么? 我所知道的唯一区别是不再会抛出java.lang.OutOfMemoryErro...

130得票2回答
Java: int数组以非零元素初始化

根据JLS的规定,一个int数组在初始化后应该被零填充。然而,我面临的情况是并非如此。这种行为首次出现在JDK 7u4中,并且在所有后续的更新中也存在(我使用64位实现)。以下代码会抛出异常: public static void main(String[] args) { ...

129得票2回答
为什么2020年3月30日和3月1日之间的天数错误地显示为28天而不是29天?

TimeUnit.DAYS.convert( Math.abs( new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").parse("30-03-2020 00:00:00").getTime() - new SimpleDat...

122得票2回答
Oracle JDK和OpenJDK在技术上主要有哪些区别?

我使用OpenJDK已经有一段时间了,最初在小项目中使用没有问题。但是自从我开始在大型项目中使用它,并且与H.264编解码器等交互时,我开始注意到随机/未知的致命错误和崩溃,并且这成为了一个噩梦,直到我摆脱了由OpenJDK引起的系统崩溃+致命错误。 在完全受挫和厌倦OpenJDK之后,我终...

121得票13回答
Java错误:比较方法违反其通用合同。

我看到很多关于这个问题的提问,尝试解决了这个问题,但经过一小时的搜索和许多试错后,我仍然无法解决它。希望你们中的一些人能够发现问题所在。 这是我得到的:java.lang.IllegalArgumentException: Comparison method violates its gen...

121得票5回答
无效的目标版本: 1.7。

我看过类似的问题,但还没有找到答案。 使用Maven编译,我得到:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on pr...