String/StringBuilder/StringBuffer类学习(StringBuilder/StringBuffer,常用方法,网络编程)

82 阅读2分钟

day 27 2025.4.28

  1. String/StringBuilder/StringBuffer的对比 String : 不可变字符序列.
    StringBuilder : 可变字符序列,线程不安全,效率高.
    StringBuffer : 可变字符序列,线程安全,效率低.

  2. StringBuffer/StringBuilder的可变性分析(源码)
    byte[] value; // 存放字符序列
    int count; // 统计的字符数
    ①默认新建大小为16的byte[]数组 ②一旦count要超过value.length()时,数组就需要扩容,默认数组扩容为原来容量的2倍+2,并将原有数组中的数据数组到新数组中.

  3. 源码启事
    如果开发时,需要频繁对字符串进行操作,建议使用StringBuilder或StringBuffer.
    如果不涉及线程问题,建议使用StringBuilder.

  4. StringBuilder和StringBuffer的常用方法

    方法名说明
    append(xx)增,将xx追加到字符串末尾
    delete(int start, int end)删,删除start位置到end-1位置的字符
    charAt(int index)查,查找index位置的字符
    replace(int start, int end, String str)改,将start位置到end-1位置的字符替换为str
    insert(int index, String str)插,在index位置插入str
  5. 对字符串操作的效率
    StringBuilder>StringBuffer>String

  6. 其他细节

    1. null和StringBuilder

      方法结果
      sb.append(null)在字符串末尾追加"null"
      new StringBuilder(null)报异常
    2. 数组,字符串,集合获得大小的方法

      类型方式
      数组length属性
      字符串length()方法
      集合size()方法
  7. 网络编程

    1. 软件架构
      • C/S架构 : 客户机/服务器结构
      • B/S架构 : 浏览器/服务器结构
    2. 实现网络传输的3个要素
      • 使用IP地址(精确定位网络主机)
      • 使用端口号(定位主机的特定应用)
      • 规范网络通信协议(可靠,高效传输)
    3. IP地址
      • IPv4 ①32位,4字节 ②使用点分十进制 ③私有地址:c类192.168.0.0---192.168.255.255
      • IPv6 ①128位,16字节 ②使用冒分十六进制