草庐IT

guava-jdk

全部标签

java - 在 JDK 1.5 中使用 Collections.newSetFromMap 的替代方案?

我想在不支持它的JDK1.5中使用这种“Collections.newSetFromMap()”方法。Java5也不支持ConcurrentHashSet类。必须在JDK1.5中编译以下行。我该怎么做?protectedSetknownLCWords=Collections.newSetFromMap(newConcurrentHashMap());请指导我。 最佳答案 下面是来自JavaCollectionssource的那个方法的实现。.本质上,该方法返回包含Map的AbstractSet子类,以及一个transientSet。

java - 为什么在 Spring AOP 中将对象包装到实现接口(interface)的 JDK 代理中?

我正在学习Spring,我有以下内容考虑以下bean定义:现在考虑声明为pointcut*的情况,目标是**clientServicebean中的所有方法。还要考虑ClientServiceImpl类实现3个接口(interface)现在我知道使用AOP代理clientServicebean并且该代理实现所有3个接口(interface)。但是实现这三个接口(interface)的确切原因是什么?所以在我看来存在两种代理(如果我说错了断言请纠正我):JDKProxy:默认情况下从Spring使用(是真的吗?)我有一个接口(interface)定义了我想要代理的对象的方法。所以这个接口(

java - 工厂模式 : Validating input when creating a bean (Guice/Guava)

我正在编写一个新应用,使用Guice进行依赖注入(inject),并使用Guava的先决条件进行属性验证。我正在使用工厂模式根据外部输入创建bean。问题是,验证输入的首选方式是什么?(在可维护性、清晰度等方面)让我们假设这些类:Bean.javapublicinterfaceBean{publicObjectgetFoo();}BeanImpl.javapublicclassBeanImplimplementsBean{privatefinalObjectfoo;publicBeanImpl(Objectparam){foo=param;}@OverridepublicStringg

java - JBoss EAP 6.1 错误 : This runtime type requires a JDK. 此服务器执行环境的当前默认 VM 未被识别为 JDK

你可以检查这个警告here当我添加服务器时,我会这样。请帮帮我。谢谢 最佳答案 转到窗口->首选项->java->安装的jres点击“添加”,添加JDK路径。 关于java-JBossEAP6.1错误:ThisruntimetyperequiresaJDK.此服务器执行环境的当前默认VM未被识别为JDK,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33907249/

java - JDK 7 中泛型和三元运算符的编译错误

我在编写一些Java代码时遇到了编译失败,我将其提炼为以下测试用例:importjava.util.Collections;importjava.util.List;publicclassTernaryFailure{publicstaticListthisWorks(){returnCollections.emptyList();}publicstaticListthisFailsToCompile(){returntrue?Collections.emptyList():Collections.emptyList();}}上面的代码无法通过JDK1.7.0_45的javac编译:$

java - 仅来自 JDK 的类型层次结构

在Eclipse中,我经常喜欢找到Exception的更具体的子类-例如,我打开IOException或IllegalArgumentException的类型层次结构。我看到的是的完整层次结构JDK框架间接使用的库。我必须决定,哪种异常可能匹配得更好。很多时候,我会找到适合我需要的异常,但它不是JDK的一部分。问题:我能否将层次结构减少到JDK库或仅一个包? 最佳答案 目前,类型层次结构只能限于选定工作集中的项目(包括它们的依赖项)。因此,我想到的唯一解决方法是创建一个用作过滤器的Java项目,然后创建并选择一个只包含该项目的工作集

java - Spring MVC配置+Jackson+Guava multimap

我正在为此苦苦挣扎:我们有一个带有Guavamultimap的Table类(简化代码,基本上是1个成员,2个构造函数,multimap的getter和setter):publicclassTable{privateLinkedHashMultimapfields;publicTable(){this.fields=LinkedHashMultimap.create();};publicTable(LinkedHashMultimapfields){this.fields=fields;}publicLinkedHashMultimapgetFields(){returnfields;}

运行 jdk1.8.0 的 ARM 上的 JavaFX

我知道Oracle在8u33中删除了JavaFX,但我想知道为什么我不能在jdk1.8.0中使用JavaFX?我从Oracle文件中得到它(http://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-arm-vfp-hflt.tar.gz)我将其提取到/usr/bin/java_8_arm/jdk1.8.0中,并使用sudo/usr/bin/java_8_arm/jdk1.8.0/bin/运行我的.jar文件java-jarjarfile.jar运行/usr/bin/java_8_arm/jdk1.8.0/bin/java-ve

java - Maven 项目对 JDK 版本的依赖

我有需要使用特定版本的JDK构建的项目。问题不在于源参数和目标参数,而在于编译期间使用的运行时的jars。在某些情况下,如果我尝试使用错误的JDK进行编译,则会出现编译错误,但有时构建会成功,但在使用jars时会出现运行时错误。例如,在eclipse中,我可以在.classpath文件中为项目建立执行环境。有没有办法在maven中处理这种情况?我想要的是能够像POM文件中的项目的其他依赖项一样处理JRE依赖项。更新:当我问这个问题时,公认的解决方案是最好的,所以我不会改变它。同时引入了针对此类问题的新解决方案:MavenToolchain.点击链接了解更多详情。

java - 为什么每个 JDK 都带有 3 个 JRE?

我注意到在C:\ProgramFiles\Java文件夹中,有JDK安装的公共(public)JRE,我知道这是正常的。但是还有jdk1.x\jre\bin\文件夹,里面有java.exe、javaw等。然后是编译器文件夹jdk1.x\bin,其中包含javac以及JRE中包含的所有其他文件,如java.exe、javaw、appletviewer等为什么JDK会附带所有这些JRE?这三者有什么区别? 最佳答案 Sun/Oracle在此处记录JDK目录组织:http://docs.oracle.com/javase/6/docs/t