zoukankan      html  css  js  c++  java
  • Java中String、StringBuilder和StringBuffer

    StringBuilder和StringBuffer内部都是通过char[]来实现的。(jdk1.9后,底层把char 数组变成了byte[]。)唯一不同的就是StringBuffer内部操作方法都加上了synchronized关键字,因为保证了线程安全,同时效率相比StringBuilder较低。

    String不可变的好处:
      1.安全,由于String是不可变的,天生就具备了线程安全。
      2.String经常作为参数,String不可变,代表参数不可变。
      3.常量池的需要,String在开发中,经常被使用,常量池会对String进行缓存,只有String不可变,常量池才有意义,节约内存空间。
      4.当String作为HashMap或者其他散列表key的时候,因为String不可变,所以其hash值也不会发生改变,不需要每次去计算,可以缓存其hash值,提高Hash表的效率。

  • 相关阅读:
    关于 js 下载PDF文件时
    vue3.0 学习
    iOS
    bootstrap treeview
    SVN版本管理
    js框架
    正则表达式
    如何让安卓手机在电脑上同步显示(MX4 Pro为例)
    mysql 中文乱码
    ADO.NET 数据库连接池大小
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12082023.html
Copyright © 2011-2022 走看看