day 27 2025.4.28
-
String/StringBuilder/StringBuffer的对比 String : 不可变字符序列.
StringBuilder : 可变字符序列,线程不安全,效率高.
StringBuffer : 可变字符序列,线程安全,效率低. -
StringBuffer/StringBuilder的可变性分析(源码)
byte[] value; // 存放字符序列
int count; // 统计的字符数
①默认新建大小为16的byte[]数组 ②一旦count要超过value.length()时,数组就需要扩容,默认数组扩容为原来容量的2倍+2,并将原有数组中的数据数组到新数组中. -
源码启事
如果开发时,需要频繁对字符串进行操作,建议使用StringBuilder或StringBuffer.
如果不涉及线程问题,建议使用StringBuilder. -
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 -
对字符串操作的效率
StringBuilder>StringBuffer>String -
其他细节
-
null和StringBuilder
方法 结果 sb.append(null) 在字符串末尾追加"null" new StringBuilder(null) 报异常 -
数组,字符串,集合获得大小的方法
类型 方式 数组 length属性 字符串 length()方法 集合 size()方法
-
-
网络编程
- 软件架构
- C/S架构 : 客户机/服务器结构
- B/S架构 : 浏览器/服务器结构
- 实现网络传输的3个要素
- 使用IP地址(精确定位网络主机)
- 使用端口号(定位主机的特定应用)
- 规范网络通信协议(可靠,高效传输)
- IP地址
- IPv4 ①32位,4字节 ②使用点分十进制 ③私有地址:c类192.168.0.0---192.168.255.255
- IPv6 ①128位,16字节 ②使用冒分十六进制
- 软件架构