草庐IT

guava-jdk

全部标签

java - Mac OSX El Capitan 上的 JDK 7/JavaFX 2 应用程序

我刚刚升级到ElCapitan,但在启动在JDK1.7.0u79(Oracle提供的最新版本)下运行的自定义JavaFX2应用程序时遇到了问题。启动应用程序时,出现此异常:Exceptioninthread"main"java.lang.RuntimeException:ExceptioninApplicationstartmethodatcom.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)atcom.sun.javafx.application.LauncherImpl.ac

java - JDK9有动态模块发现吗?

在即将到来的Java9中,有没有办法动态发现哪些模块可用?例如:使用一些模块路径运行一些应用在应用程序运行时,将更多模块添加到模块路径中(例如,复制到模块目录中)在应用内,查询“给我所有可用的模块”(可能带有过滤器,例如那些提供相同服务的替代实现的模块)我无法从文档中完全分辨出来。 最佳答案 我认为不支持这样的动态功能。目前,documentationofModuleFinder.findAll()状态:AModuleFinderprovidesaconsistentviewofthemodulesthatitlocates.Iff

java - sun.misc.Unsafe 是否在 JDK9 中公开?

我刚刚尝试了JDK9并发现sun.misc.Unsafe现在不包含本地方法,而是将它们委托(delegate)给一些jdk.internal。misc.Unsafe,例如:@ForceInlinepublicintgetInt(Objecto,longoffset){returntheInternalUnsafe.getInt(o,offset);}反过来,最新的看起来实际上像旧的sun.misc.Unsafe,但现在这些方法用一些注释进行了注释:@HotSpotIntrinsicCandidatepublicnativevoidputObject(Objecto,longoffset

java - Java11 中找不到 jdk.incubator.httpclient 模块

使用earlyaccessbuildforJDK/11编译existingcodebasedonJava-9这是使用VM参数--add-modulesjdk.incubator.httpclient解决HTTP/2clientincubatormodule现在以编译错误结束Modulenotfound:jdk.incubator.httpclientJava版本详细信息:-java11-ea2018-09-25Java(TM)SERuntimeEnvironment18.9(build11-ea+11)JavaHotSpot(TM)64-BitServerVM18.9(build11-

java - guava-libraries - Ordering 类线程安全吗?

guava-libraries上课Ordering.我想知道它是否是线程安全的。比如可以作为静态变量使用吗?publicstaticOrderingBY_LENGTH_ORDERING=newOrdering(){publicintcompare(Stringleft,Stringright){returnInts.compare(left.length(),right.length());}}; 最佳答案 它与您的compare方法一样线程安全。Ordering的默认实现没有任何实例数据,因此唯一重要的是如何定义比较方法。

深度解析Java JDK 1.8中Stream流的源码实现:带你探寻数据流的奥秘

文章目录一、Stream流概述1.1什么是Stream流,以及它的主要特点和优势1.2Stream流的基本操作:过滤、映射、排序等二、Stream流源码解析2.1接口和基本概念2.2创建流2.3源码分析2.3.1流的起始2.3.2流的初始2.3.3认识BaseStream2.3.4Stream接口继承BaseStream2.3.5Stream流的其它流形式一、Stream流概述1.1什么是Stream流,以及它的主要特点和优势什么是Stream流?jdk1.8中引入的Stream流是一种用函数式编程方式操作集合的新特性,提供了一种更简洁、高效的方式来处理集合数据,可以将集合操作转换为一系列的流

java - Guava 缓存是否考虑驱逐选择的权重?

优秀的Guava库的最新版本更新了缓存api。CacheBuilder现在有一个maxmimumWeight()方法来强制缓存的最大权重。javadoc指出:Specifiesthemaximumweightofentriesthecachemaycontain.WeightisdeterminedusingtheWeigherspecifiedwithweigher,anduseofthismethodrequiresacorrespondingcalltoweigherpriortocallingbuild(com.google.common.cache.CacheLoader).

java - Google Guava 的 CacheLoader loadAll() 与 reload() 语义

我非常喜欢Guava11的CacheLoader(感谢Google!)的两件事是loadAll(),它允许我一次加载多个key,以及reload(),当它“过时”时,它允许我异步重新加载key"但旧值存在。我很好奇它们是如何一起玩的,因为reload()仅在一个键上运行。具体来说,扩展CachesExplained中的示例:LoadingCachegraphs=CacheBuilder.newBuilder().maximumSize(1000).refreshAfterWrite(1,TimeUnit.MINUTES).build(newCacheLoader(){publicGra

java - Guava:保持插入顺序的 HashBasedTable?

我需要一种方法来为一个值保留两个键——这正是Guavan的HashBasedTable所做的。问题是它在遍历值时不保持插入顺序。有什么优雅的解决方案可以让它工作吗?它不一定是Guava,但我不想用依赖项来膨胀我的项目。我正在尝试使用提到的ImmutableTable-但我还没有找到任何示例。构建这样的表时,我到处都会遇到NPE:ImmutableTableunits;ImmutableTable.Builderbuilder=units.builder();builder.put(unit1.getType(),unit1.getName(),unit1);...units=build

java - ArrayList<Integer> 是否经过 JDK 优化以像 int[] 那样执行?

我们被告知Java的ArrayList对于整数效率较低,因为列表实际上包含指针,而整数数组包含适当的整数,从而避免了内存分配和访问。我的问题是JDK/JIT编译器是否优化了这种低效率?它拥有所有的信息来得出结论,这些实现在功能上是等价的,所以它也可以在底层用一个支持int[]的实现替换ArrayList。 最佳答案 不,它不能,因为你可以存储null在ArrayList中。编辑:哦,它也不能,因为泛型在编译时被删除—在运行时,JRE无法通过元素类型区分ArrayList。IOW,它比null更糟糕—你可以在ArrayList中存储任