草庐IT

java - 我们应该如何为空值管理 jdk8 流

我知道这个主题可能有点提前因为JDK8尚未发布(而且目前还没有发布..)但我正在阅读一些关于Lambda表达式的文章,尤其是部分与称为Stream的新集合API相关。这是JavaMagazinearticle中给出的示例(这是一个水獭种群算法..):Setotters=getOtters();System.out.println(otters.stream().filter(o->!o.isWild()).map(o->o.getKeeper()).filter(k->k.isFemale()).into(newArrayList()).size());我的问题是,如果在Set内部迭代

G1 上的 Java 7 (JDK 7) 垃圾收集和文档

Java7已经发布了一段时间,但我找不到任何关于配置垃圾收集器的好资源,特别是新的G1收集器。我的问题:G1是Java7中的默认收集器吗?如果不是,我该如何激活G1?g1在Java7中有哪些可选设置?是否对Java7中的cms或parallelcollector等其他收集器进行了任何更改?在哪里可以找到有关Java7垃圾回收的优秀文档? 最佳答案 G1垃圾收集器不是我安装的Java版本1.7.0_01的默认设置。您可以通过使用一些额外的命令行选项来亲自查看:>java-XX:+PrintCommandLineFlags-XX:+Pr

java - 如何使用 JDK 7 在 Mac OS X 上运行 IDEA IntelliJ?

我用的是MacOSX10.8.2,用的是JDK7,现在我下载了最新版本的IDEAIntelliJ,11,但是没有JDK6好像启动不了,有什么解决办法吗?如何在带有JDK7的MacOSX上运行IDEAIntelliJ? 最佳答案 更新:在JDK1.7上运行IDEA12时(在Info.plist中将JVMVersion更改为1.7*之后)确保你有LANG=en_US.UTF-8在您的环境中,请参阅相关的Java问题:http://java.net/jira/browse/MACOSX_PORT-165http://bugs.sun.co

java - JAVA_HOME 应该指向 JDK 还是 JRE?

我将JAVA_HOME指向C:\ProgramFiles(x86)\Java\jre7。它工作正常。之后解压ant并设置了Ant相关的环境变量,输入"ant-version"后出现如下错误信息我搜索了这个论坛。看起来一种解决方案是将Java指向JDK而不是JRE。我不确定这是否应该是解决方案。换句话说,一般来说,JAVA_HOME应该指向哪一个呢?JDK还是JRE? 最佳答案 如果您要进行任何类型的开发,或者使用Maven或Ant进行构建,您需要指向JDK(Java开发工具包),其中包含javac(Java编译器)等实用程序.否则,

eclipse - 在 Eclipse 中设置 JDK

我有两个JDK,分别用于Java6和7。我想使用两者来构建我的项目。最初我们只针对1.6构建。我在我的项目设置中看到我可以选择1.5、1.61.7作为编译器级别。这些选项是如何添加到IDE中的?我从未安装过Java1.5。假设我想要Java1.4。我怎样才能让它出现在列表中?我在我的IDE首选项中添加了两个不同的JRE,但这些不是出现在下拉列表中的内容。 最佳答案 您可以在Window->Preferences->Java->InstalledJRE'stab中管理可用编译器的列表。在项目构建路径配置对话框中,在库选项卡下,您可以删

java - 从技术上讲,Oracle JDK 和 OpenJDK 之间的主要区别是什么?

这个问题在这里已经有了答案:DifferencesbetweenOracleJDKandOpenJDK(13个回答)关闭7年前。我已经使用OpenJDK很长时间了,最​​初是用于没有问题的小型项目。但是自从我开始用它来玩大玩具后,我开始注意到随机/未知的fatalerror和崩溃(使用H.264编解码器等),在此之前获得系统崩溃+fatalerror是一场噩梦由OpenJDK引起的。在对OpenJDK彻底失望和厌倦之后,我最终决定切换到OracleJDK7。从那时起,我的fatalerror/崩溃就消失了。我仍在跟踪以查看它是否发生,但我还没有遇到那些系统崩溃。现在我想知道,如果Ope

java - 如何判断是否安装了 JRE 或 JDK

我有一台有意安装JDK的计算机。我有另一台装有JRE的计算机,除其他外,用于测试。但是,当我在这台计算机上运行一个java应用程序,然后在另一台计算机上尝试它时,它提示说需要JDK。如何检查JDK是否以某种方式安装在我的系统上?注意:有问题的计算机是Mac。 最佳答案 你可以打开终端,直接输入java-version//thiswillcheckyourjreversionjavac-version//thiswillcheckyourjavacompilerversionifyouinstalled这应该会显示系统上安装的java

java - 为 Mac OS X 安装 Java JDK 7 后 - mvn -version 仍然显示 java 版本 1.6.0_31

Oracle于4月26日为MacOSX发布了JavaJDK7。我按照安装说明进行操作,当我在终端窗口中执行java-version时,我得到:javaversion"1.7.0_04"Java(TM)SERuntimeEnvironment(build1.7.0_04-b21)JavaHotSpot(TM)64-BitServerVM(build23.0-b21,mixedmode)但是,当我在终端窗口中执行mvn-version时,我得到:ApacheMaven3.0.2(r1056850;2011-01-0818:58:10-0600)Javaversion:1.6.0_31,ve

java - JDK动态代理和CGLib有什么区别?

如果是ProxyDesignPattern,JDK'sDynamicProxy和有什么区别和第三方动态代码生成API,例如CGLib?同时使用这两种方法有什么区别?什么时候应该更喜欢其中一种? 最佳答案 JDK动态代理只能通过接口(interface)代理(所以你的目标类需要实现一个接口(interface),然后代理类也实现)。CGLIB(和javassist)可以通过子类化来创建代理。在这种情况下,代理成为目标类的子类。不需要接口(interface)。所以Java动态代理可以代理:publicclassFooimplement

java - Android Studio 需要 JDK 7 for Android-L mac

我试图查看我的应用在Material设计中的外观,我想使用新的卡片库。我的问题是,它在我的gradle文件中给了我这个错误,我需要修复它。Error:compileSdkVersionandroid-LrequirescompilingwithJDK7我下载了jdk-7u60-macosx-x64.dmg并安装了它。终端中的java-version显示已安装1.7:javaversion"1.7.0_60"Java(TM)SERuntimeEnvironment(build1.7.0_60-b19)JavaHotSpot(TM)64-BitServerVM(build24.60-b09