美文网首页
Erlang数据结构

Erlang数据结构

作者: 拉德 | 来源:发表于2018-09-15 15:01 被阅读0次

    数据类型回顾

    基础数据类型:

    int、 float、 atom、 ref、 fun、 port、 pid、 binary

    符合数据类型:

    tuple、list、map

    语法糖:

    string、record

    数据类型的内部实现

    Eterm, 64位,字

    4种大类型:

          Header

               描述非直接数的数据类型, 一般与Boxed共同使用

          立即数

               用一个字表示的数据

          列表

                 指向List第一个节点的指针或者立即数NIL. 节点包含CAR和CDR,CDR是指向想一个节点或者NIL的指针。 CAR是一个Eterm,可以是List,立即数或者二进制。erts_debug:size("PHI") =:= 6

          Boxed对象

                指向Header的指针

    Binary

    Heap binary: <<"0123456789ABCDEF">>

      创建于进程堆, 小于64字节,跨进程值传递

    Refc Binary

      创建于共享堆,大于64字节,跨进程引用传递

    Sub Binary

    是Erlang为了优化binary分割而产生的

    相关文章

      网友评论

          本文标题:Erlang数据结构

          本文链接:https://www.haomeiwen.com/subject/nlttnftx.html