首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏简单聊聊Spark

    Spark性能调优篇五之使用fastUtil工具包

            今天再来介绍一个小的优化点,是一个通过使用fastutil工具包对数据格式进行优化。首先来明确一个东西,什么是fastutil?          通过使用fastutil可以使得对象占用更小的内存,更快的存取速度;通过这两个特点,我们可以将Spark作业中用的一些map,list等结构替换成fastutil来提高Spark作业的运行效率。 fastutil的每一种集合类型,都实现了对应的Java中的标准接口(比如fastutil的map,实现了Java的Map接口),因此可以直接放入已有系统的任何代码中。 明确了fastutil以后,我们来看看其在Spark代码中的应用场景。 未使用fastUtil之前 ? 使用fastUtil之后 总结:在项目某些使用了map等集合的地方,如果这个集合较大,就可以考虑采用fastutil代替传统的map等结构,从而提高程序的运行效率。

    1.3K10发布于 2018-09-05
  • 来自专栏Lan小站

    android stadio 一直在下载download fastutil-7.2.0.jar

    重新装了个系统,然后新装Android Studio导入项目时一直在下载 fastutil-7.2.0.jar 原因是需要科学。

    1.3K10编辑于 2022-07-13
  • 来自专栏Albert陈凯

    spark2.x依赖包POM

    fastjson</artifactId> <version>1.1.41</version> </dependency> <dependency> <groupId>fastutil </groupId> <artifactId>fastutil</artifactId> <version>5.0.9</version> </dependency>

    1.1K70发布于 2018-04-08
  • 来自专栏Jed的技术阶梯

    Spark性能调优02-代码调优

    其他可选优化 (1) 使用高性能的集合类库——fastutil fastutil是扩展了Java标准集合框架(Map、List、Set)的类库,提供了特殊类型的map、set、list和queue;fastutil ,以及实用的IO类,来处理二进制和文本类型的文件;fastutil最新版本要求Java 7以及以上版本;fastutil的每一种集合类型,都实现了对应的Java中的标准接口(比如fastutil的map fastutil还提供了一些JDK标准类库中没有的额外功能(比如双向迭代器)。 fastutil除了对象和原始类型为元素的集合,fastutil也提供引用类型的支持,但是对引用类型是使用等于号"=="进行比较的,而不是equals()方法。 我们可以使用fastutil提供的集合类,来替代自己平时使用的JDK的原生的Map、List、Set 如果算子使用了外部变量而且是某种比较大的集合,那么可以考虑使用fastutil改写外部变量,或者在算子函数里

    97120发布于 2018-09-13
  • 来自专栏星河造梦坊专栏

    UNITY与安卓⭐一、Android Studio初始设置

    这一步可解决如下问题: 下载卡在: fastutil-8.4.0-sources jar 报错:SSL peer shut down incorrectly 某些同步失败 2️⃣ 添加代码 在你项目的这个位置

    40210编辑于 2024-08-15
  • 来自专栏岑玉海

    Spark调优

    in memory on mbk.local:50311 (size: 717.5 KB, free: 332.3 MB) (2)数据结构调优   1) 优先使用数组和原生类型来替代容器类,或者使用fastutil 找个包提供的容器类型,fastutil的官方链接是http://fastutil.di.unimi.it/。  

    1.3K80发布于 2018-02-28
  • 来自专栏携程技术

    干货 | 携程百亿级缓存系统探索之路——本地缓存结构选型与内存压缩

    fastutil FastUtil是一个高性能的集合框架,提供了以基础类型为元素的集合来代替JDK原生的集合类型。基础类型为元素的集合避免了大量的基础类型的装箱拆箱。 因此,在程序进行集合的遍历、根据索引获取元素的值和设置元素的值的时候,fastutil可以提供更快的存取速度以及更低的内存消耗。 数据量 HashMap ConcurrentHashMap SparseArray Guava fastutil 32 2352 2368 832 4344 624 256 18480 18496 6208 参考资料 Java对象布局: https://www.jianshu.com/p/91e398d5d17c fastutil官网: https://fastutil.di.unimi.it/ Guava

    1.5K20编辑于 2022-05-27
  • 来自专栏大数据-BigData

    干货 | 携程百亿级缓存系统探索之路——本地缓存结构选型与内存压缩

    fastutil FastUtil是一个高性能的集合框架,提供了以基础类型为元素的集合来代替JDK原生的集合类型。基础类型为元素的集合避免了大量的基础类型的装箱拆箱。 因此,在程序进行集合的遍历、根据索引获取元素的值和设置元素的值的时候,fastutil可以提供更快的存取速度以及更低的内存消耗。 数据量 HashMap ConcurrentHashMap SparseArray Guava fastutil 32 2352 2368 832 4344 624 256 18480 18496 6208 参考资料 Java对象布局: https://www.jianshu.com/p/91e398d5d17c fastutil官网: https://fastutil.di.unimi.it/ Guava

    1.4K30编辑于 2022-09-09
  • 来自专栏Kirito的技术分享

    应用JMH测试大型HashMap的性能

    其实市面上有很多其他优秀的集合库实现的,我在这里大致列一下我这边会测试的几个: FastUtil: 一个意大利的计算机博士开发的集合库。 例如,FastUtil的测试如下: @Benchmark @OperationsPerInvocation(OperationsPerInvocation) def testFastUtil map = new Long2LongArrayMap(MapSize) with LongLongOp testSetTraverse(map) printlnObjectSize("fastutil

    1.7K30发布于 2019-11-05
  • 从一个开发工程师的角度,聊聊“什么是 K 线”

    对象池化,Candle、事件包装重用;primitive 集合(fastutil/HPPC),尽量零装箱。延迟敏感路径避免 BigDecimal 运算,批量落盘,内存对齐。 性能:Disruptor 事件环,预分配对象;fastutil LongOpenHashSet 做去重;少用 BigDecimal,必要处汇总线程集中转换。

    40310编辑于 2025-12-02
  • 来自专栏小道

    Spark性能调优

    Shuffle   (3)使用Kryo序列化机制,需要注册自定义类 sparkConf.registerKryoClasses(new Class[]{***.class}); 3.6、使用 FastUtil 优化数据格式   Fastutil是java标准化集合框架(Map,List,Set)的类库扩展以及替代品,可以减小内存占用并提供更快的查询速度,Spark使用FastUtil的场景:    (1)如果算子函数中使用了外部变量 ,第一步可以广播变量,第二步可以使用Kryo序列化机制,第三步如果是较大的数据集合可以使用fastutil进行重写;   (2)Task要执行的计算逻辑里,有较大的集合时可以使用fastUtil,在一定程度上可以减小内存占用

    1.5K20发布于 2021-04-13
  • 来自专栏Spark学习技巧

    spark调优系列之内存和GC调优

    fastutil库(http://fastutil.di.unimi.it/)为与Java标准库兼容的原始类型提供方便的集合类。 2,尽可能避免使用有很多小对象和指针的嵌套结构。

    5.7K100发布于 2018-01-30
  • 来自专栏狗哥的 Java 世界

    创建节约内存的 JavaBean

    如果实在需要使用集合,推荐一个比较节约内存的集合工具,fastutil。这里面包含了JKD集合中绝大部分的实现,而且比较省内存。 小技巧 在上面的三个原则基础上,提供两个小技巧。

    61530发布于 2019-10-17
  • 来自专栏芋道源码1024

    一个 Java 对象到底有多大?

    如果实在需要使用集合,推荐一个比较节约内存的集合工具,fastutil。这里面包含了JKD集合中绝大部分的实现,而且比较省内存。 (4)小技巧。 在上面的三个原则基础上,提供两个小技巧。

    95210发布于 2019-10-24
  • 来自专栏测试技术圈

    一个Java对象到底有多大?

    如果实在需要使用集合,推荐一个比较节约内存的集合工具,fastutil。这里面包含了JKD集合中绝大部分的实现,而且比较省内存。 小技巧 在上面的三个原则基础上,提供两个小技巧。

    73620发布于 2019-08-01
  • 来自专栏IT民工的代码世界

    c#通过Redis实现轻量级消息组件

    FastIOC: 轻量级IOC容器,大家可以用AutoFac代替 2.RedisUtil是对StackExchange.Redis.dll封装的处理类,地址:https://gitee.com/code2roc/FastUtil

    45030编辑于 2023-07-19
  • 来自专栏大数据开发

    Java大数据开发:Java基础类库和API

    FastUtil也是一个好用的API,它继承了Java Collection Framework,提供了数种特定类型的容器,包括映射map、集合set、列表list、优先级队列(prority queue

    1.1K00发布于 2021-01-11
  • 来自专栏程序员的成长之路

    一个 Java 对象到底有多大?

    如果实在需要使用集合,推荐一个比较节约内存的集合工具, fastutil。 这里面包含了 JKD 集合中绝大部分的实现,而且比较省内存。 小技巧 在上面的三个原则基础上,提供两个小技巧。

    51530发布于 2019-06-14
  • 来自专栏IT技术订阅

    20个常用的Java开发类库和API

    FastUtil是另一种相似的API,其继承了JavaCollectionFramework,提供了多种特定类型的容器,包括map映射、setset、list、prorityqueue)、为java.util

    92120编辑于 2022-06-23
  • 来自专栏Flink实战剖析

    高性能sparkStreaming 实现

    另外使用fastutil 包下面的集合类代替java 的集合类, 减少广播数据所占大小 sparkStreaming 中从source 获取的数据默认是存储在内存中的,那么处理过的批次数据会不会一直存储在内存中中

    70640编辑于 2022-04-18
领券