首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序那些事

    类型擦除type erasure

    java.util.ArrayList<java.lang.String>无法转换为java.util.ArrayList<java.lang.Object> 原因 上面例子的原因就是类型擦除(type erasure

    86110发布于 2020-07-08
  • 来自专栏用户8644135的专栏

    java中的类型擦除type erasure

    java中的类型擦除type erasure 简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型,从而提升了程序的健壮度。 java.util.ArrayList<java.lang.String>无法转换为java.util.ArrayList<java.lang.Object> 原因 上面例子的原因就是类型擦除(type erasure

    89740发布于 2021-06-22
  • 来自专栏01ZOO

    有趣的纠删码(erasure code)

    纠删码(Erasure Coding,EC)是一种编码容错技术,最早是在通信行业解决部分数据在传输中的损耗问题。 /encode --decode panic: too few shards given 参考 Shenoy_The_Pros_and_Cons_of_Erasure 纠删码 Erasure Code Dummies Guide to Erasure Coding

    13.1K304发布于 2021-05-30
  • 来自专栏分布式研究小院

    Erasure-Code-擦除码-2-实现篇

    wiki/Finite_field [Reed-Solomon]: https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction [Erasure-Code ]: https://en.wikipedia.org/wiki/Erasure_code [Prime-Polynomial]: https://en.wikipedia.org/wiki/Irreducible_polynomial

    1K10编辑于 2022-04-28
  • 来自专栏java技术鸡汤

    分布式存储MinIO Erasure Code 部署

    本篇文章主要介绍分布式存储MinIO Erasure Code的部署方式 MinIO 使用Erasure Code和checksum保护数据免受硬件故障及数据损坏。 1、Erasure Code的概念 Erasure Code是一种用于重建丢失或损坏数据的数学算法。MinIO 使用 Reed-Solomon 将对象分片为可变数据和奇偶校验块。 MinIO 的erasure code使用高速 HighwayHash 校验和来防止 Bit Rot。 MinIO将你提供的drives划分为4~16个erasure-coding set。因此,你提供的驱动器数量必须是这些数字之一的倍数。每个对象都被写入一个单独的erasure code set。 适用于部署单机版的MinIO Erasure Code方式。 所有的drives的大小应该尽量保持相同的规模。

    1.8K20编辑于 2022-07-12
  • 来自专栏偏前端工程师的驿站

    Java魔法堂:解读基于Type Erasure的泛型

    泛型的官方文档:http://docs.oracle.com/javase/tutorial/java/generics/erasure.html   注意:以下内容基于JDK7和HotSpot。 ArrayList<String>(); list.add("test"); lsa[0] = list; System.out.println(lsa[0].get(0));     四、类型擦除(Type Erasure 而Java则采用Code Sharing的思路,并通过类型擦除(Type Erasure)来实现。   类型擦除的过程大致分为两步:      ①. System.out.println(lstStr.getClass() == intStr.getClas()); // 显示true,因为lstStr和intStr的类型均被擦除为List了 五、各种基于Type Erasure 八、参考                           http://blog.zhaojie.me/2010/02/why-not-csharp-on-jvm-type-erasure.html

    1.4K80发布于 2018-01-18
  • 来自专栏分布式研究小院

    Erasure-Code-擦除码-3-极限篇

    如果你需要一个LRC的c实现, 移步此处: [lrc-erasure-code] Hitchhiker EC算法 [Hitchhiker] 可以认为是基于LRC的进一步优化. paper太繁琐, 核心思想挺简单 wiki/Finite_field [Reed-Solomon]: https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction [Erasure-Code ]: https://en.wikipedia.org/wiki/Erasure_code [Prime-Polynomial]: https://en.wikipedia.org/wiki/Irreducible_polynomial / [s3-durability]: https://aws.amazon.com/s3/faqs/#Durability_.26_Data_Protection [lrc-erasure-code]: https://github.com/drmingdrmer/lrc-erasure-code [实现高性能纠删码引擎]: http://www.templex.xyz/blog/101/writers.html

    1.1K10编辑于 2022-04-28
  • 来自专栏分布式研究小院

    Erasure-Code-擦除码-1-原理篇

    本文链接: [https://blog.openacid.com/storage/ec-1/] 下载pdf: [Erasure-Code-擦除码-1-原理篇.pdf] 前言 做分布式存储的同学, 一定都知道一个了不地的冗余算法叫作擦除码 ([Erasure-Code]), 它让存储以多副本几分之一的成本来达到同样高的可靠性. 不论是单机上的[RAID]技术, 还是今天要提到的EC([Erasure-Code], 擦除码, 纠删码) 都是用来解决这个问题的. 接下来, 我们通过几个例子, 来逐步展示 EC 的工作原理. 下一篇 Erasure-Code-擦除码-2-实现篇 中, 我们会展示出算数和计算机算法之间的差异, 以及我们将通过什么样的手段来解决这些问题, 将EC真正应用到生产环境中. -擦除码-1-原理篇.pdf] [下载Erasure-Code-擦除码-1-原理篇.pdf]: https://blog.openacid.com/publish/pdf/storage/ec-1.pdf

    84210编辑于 2022-04-28
  • 来自专栏偏前端工程师的驿站

    Java魔法堂:解读基于Type Erasure的泛型

    泛型的官方文档:http://docs.oracle.com/javase/tutorial/java/generics/erasure.html   注意:以下内容基于JDK7和HotSpot。 ArrayList<String>(); list.add("test"); lsa[0] = list; System.out.println(lsa[0].get(0));     四、类型擦除(Type Erasure 而Java则采用Code Sharing的思路,并通过类型擦除(Type Erasure)来实现。   类型擦除的过程大致分为两步:      ①. System.out.println(lstStr.getClass() == intStr.getClas()); // 显示true,因为lstStr和intStr的类型均被擦除为List了 五、各种基于Type Erasure 八、参考                           http://blog.zhaojie.me/2010/02/why-not-csharp-on-jvm-type-erasure.html

    1.3K50发布于 2018-01-18
  • 来自专栏全栈程序员必看

    分布式系统下的纠删码技术(一) — Erasure Code (EC)

    文章会分为多篇,主要将Erasure Code,LRC, 以及相关的数学基础,作为学习总结。 一、纠删码简介 分布式系统需要在硬件失效等故障发生后仍然能继续提供服务。 二、Erasure Codes(EC)原理 1、朴素的解释 有下列6个方程组成的方程组 (1)x1 = 1 (2)x2 = 2 http://jerasure.org/ (2)Intel EC库 http://www.intel.com/content/www/us/en/storage/erasure-code-isa-l-solution-video.html /sourceforge.net/projects/hadoop-ec/ http://blog.cloudera.com/blog/2016/02/progress-report-bringing-erasure-coding-to-apache-hadoop

    4.4K20编辑于 2022-11-17
  • 来自专栏NFS

    Linux 6.12内核中 “客户端侧纠删编码” 介绍及场景应用

    什么是纠删编码(Erasure Coding)? 纠删编码(Erasure Coding, EC)是一种数据保护技术,旨在通过将数据分割成多个碎片并冗余编码,使得即使丢失部分碎片,也能够恢复完整的数据。 Client-side Erasure Coding在NFS中的作用 在NFS(Network File System)中,Client-side Erasure Coding是指在客户端对数据进行纠删编码的过程 Client-side Erasure Coding的工作原理 数据分块和编码: 在客户端,原始文件被分割成多个数据块(例如,分割成4个数据块)。 总结 Client-side Erasure Coding是NFS协议中的一种数据保护机制,旨在通过在客户端执行纠删编码来提高数据的容错性和系统性能。

    24710编辑于 2025-07-27
  • 来自专栏IT从业者张某某

    HDFS分布式文件系统01-HDFS JAVA操作与联邦机制

    使学生了解Erasure Coding,能够简述Erasure Coding节省存储空间的原理 第三课时 除了通过HDFS Shell操作HDFS之外,还可以通过HDFS提供的Java API操作HDFS Coding PPT结合实际操作的方式讲解Erasure Coding。 (1)介绍Erasure Coding(纠删码)。 (2)介绍条带化技术。 (3)介绍HDFS通过条带化实现Erasure Coding的原理。 (4)通过示意图介绍应用Erasure Coding的HDFS如何存储文件。 (5)介绍常用的Erasure Coding策略。 ① RS-10-4-1024k ② RS-6-3-1024k ③ RS-3-2-1024k (6)演示通过Admin Commands类型的HDFS Shell子命令ec的子命令选项应用Erasure

    60910编辑于 2024-09-25
  • 来自专栏山河已无恙

    Ceph:关于Ceph 集群中池管理的一些笔记

    编码池 Erasure 编码池使用擦除编码代替复制来保护对象数据 存储在 Erasure 编码池中的对象被划分为多个数据块,这些数据块存储在单独的osd中,编码块的数量是根据数据块计算出来的,并存储在不同的 osd中,当OSD出现故障时,编码块用于重建对象的数据,主OSD接收到写操作后,将写载荷编码成K+M块,通过Erasure编码池发送给备OSD Erasure 编码池使用这种方法来保护它们的对象,并且与 但是,计算编码块会增加Erasure编码池的CPU处理和内存开销,从而降低整体性能 使用以下命令创建Erasure编码池 [ceph: root@node /]# ceph \ osd pool create Erasure Code配置文件 Erasure Code 配置文件配置你的 Erasure Code池用来存储对象的数据块和编码块的数量,以及使用哪些 Erasure Code 插件和算法 创建配置文件来定义不同的纠删编码参数集 ceph osd erasure-code-profile ls # 查看默认的 erasure-code-profile 配置 ceph osd erasure-code-profile get

    1.3K30编辑于 2023-08-21
  • 来自专栏精讲JAVA

    揭开Java 泛型类型擦除神秘面纱

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    1.3K10发布于 2018-10-26
  • 来自专栏java思维导图

    揭开Java 泛型类型擦除神秘面纱

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    1.5K30发布于 2018-10-24
  • 来自专栏琦小虾的Binary

    转:Java 泛型,你了解类型擦除吗?

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    1.7K10发布于 2019-05-26
  • 来自专栏johnhuster

    ceph中pg与pool关系

    类型: Pool可以是replicated(复制型)或erasure-coded(纠删码型)。 设置Pool的最小大小为2(即至少需要2个副本才能读取) 8ceph osd pool set my-replicated-pool min_size 2 创建纠删码型 Pool 1# 创建名为"my-erasure-pool "的纠删码型Pool 2ceph osd pool create my-erasure-pool 128 128 erasure my-erasure-code-profile 3 4# 设置纠删码配置文件 5ceph osd erasure-code-profile set my-erasure-code-profile k=2 m=1 在这里,128表示Pool中的PG数量,可以根据集群的实际规模和工作负载进行调整

    90310编辑于 2024-09-06
  • 来自专栏微信公众号:Java团长

    Java泛型,你了解类型擦除吗?

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    2.6K20发布于 2018-08-03
  • 来自专栏Java技术栈

    揭开Java 泛型类型擦除神秘面纱

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    1.2K40发布于 2018-09-29
  • 来自专栏码农沉思录

    关于泛型,你可能不知道的事儿

    public class Erasure <T>{ T object; public Erasure(T object) { this.object = object; Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println ("erasure class is:"+eclz.getName()); 打印的结果是 erasure class is:com.frank.test.Erasure Class 的类型仍然是 Erasure public class Erasure <T extends String>{ // public class Erasure <T>{ T object; public Erasure Erasure<String> erasure = new Erasure<String>("hello"); Class eclz = erasure.getClass(); System.out.println

    1.5K10发布于 2018-08-17
领券