Hadoop之Text与String的异同

String

  • 常量,创建之后不可修改
  • 字符串连接是通过StringBuilder(或StringBuffer)类实现的
    【区别:StringBuilder是非线程安全的,这也使其性能比StringBuffer要高(少synchroned方法)】
  • String: UTF-16格式

Unicode

  • 为解决传统字符编码方案的局限而产生
  • Unicode方案包括:
    1. 给所有字符指定一个唯一对应的数字
    2. 将字符对应的数字保存在计算机中(这就涉及到占用字节数)
  • 根据保存方式不同,将Unicode分为UTF-16、UTF-8、UTF-32
    1. UTF-16就是任何数字都用两个字节来保存(可能存在空间浪费)
    2. UTF-8表示一个字符时空间可变(1~4个字节),具体根据字符对应的数字大小来确定

Text类

  • 提供了序列化、反序列化以及在字节级别上比较文本的方法
  • UTF-8编码

你可能感兴趣的:(hadoop,java,hadoop,text,String)