当前位置: 首页 > news >正文

新闻单位建设网站的意义网页平面设计模板

新闻单位建设网站的意义,网页平面设计模板,哪个网站好,小型人力资源公司注册String字符串 不可变的字符序列在 jdk1.8#xff0c;我们底层用 char [ ] 存储在 jdk 17#xff0c;我们底层用 byte [ ] 存储 StringBuffer字符串缓冲区类 可变的字符序列#xff0c;线程安全的#xff08;synchronized#xff09;#xff0c;效率低在 jdk1.8#xf… String字符串 不可变的字符序列在 jdk1.8我们底层用 char [ ] 存储在 jdk 17我们底层用 byte  [ ] 存储  StringBuffer字符串缓冲区类 可变的字符序列线程安全的synchronized效率低在 jdk1.8我们底层用 char [ ] 存储在 jdk 17我们底层用 byte  [ ] 存储  StringBuilder字符串生成器类 可变的字符序列jdk5.0新增的线程不安全的效率高在 jdk1.8我们底层用 char [ ] 存储在 jdk 17我们底层用 byte  [ ] 存储  1、那么在开发当中我们应该到底怎么选择呢 首先看是不是一个多线程问题。不是多线程问题就用StringBuilder因为只有多个线程操作共享数据的时候我们才会考虑用StringBuffer否则不是多线程或者不存在多线程的安全问题我们都建议用StringBuilder。 2、jdk8源码分析String String str new String();                    //char[ ] value new char[0];String str1 new String(abc)         //char[ ]  value new char[ ]{  a,  b,  c  }; 3、jdk8源码分析StringBuffer StringBuffer sb1 new StringBuffer();        //char[ ] value new char[16];   底层创建了一个长度是16的数组。sb1.append(a);    //value[0] a;sb1.append(b)     //value[1] b; package stringdemo;public class StringBufferTest {public static void main(String[] args) {StringBuffer sb new StringBuffer();System.out.println(sb.capacity());//16} } D:\Java\jdk-17\bin\java.exe -javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar34469:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin -Dfile.encodingUTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception stringdemo.StringBufferTest 16Process finished with exit code 0StringBuffer   sb2 new StringBuffer“abc”//char[ ] value new char[abc.length()16] package stringdemo;public class StringBufferTest {public static void main(String[] args) {StringBuffer sb1 new StringBuffer(abc);System.out.println(sb1.capacity());//31619} } D:\Java\jdk-17\bin\java.exe -javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar35502:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin -Dfile.encodingUTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception stringdemo.StringBufferTest 19Process finished with exit code 03.1、扩容问题 如果要添加的数据底层数组盛不下了那就需要扩容底层的数组。默认情况下扩容为原来容量的2倍2同时将原有数组中的元素赋值到新的数组中。new StringBuilder();     创建的时候是不会扩容的容量是字符串参数的长度 加上16。 package stringdemo;public class StringBufferTest {public static void main(String[] args) {//new StringBuffer();创建的时候是不会扩容的StringBuffer sb1 new StringBuffer(66666666666666666666666666666666666666666666666666666666);System.out.println(sb1.length());//56System.out.println(sb1.capacity());//561672} } D:\Java\jdk-17\bin\java.exe -javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar37260:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin -Dfile.encodingUTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception stringdemo.StringBufferTest 56 72Process finished with exit code 0sb1.append();的时候追加的时候才会发生扩容。超出字符串参数的长度16的时候才会发生扩容。 public class StringBufferTest {public static void main(String[] args) {StringBuffer sb1 new StringBuffer(44444444);//new创建的时候不会发生扩容System.out.println(sb1.length());//8System.out.println(sb1.capacity());//81624System.out.println();sb1.append(44444444);System.out.println(sb1.length());//16System.out.println(sb1.capacity());//24System.out.println();sb1.append(44444444);System.out.println(sb1.length());//24System.out.println(sb1.capacity());//24 这个时候StringBuffer的容量已经满再append就会扩容System.out.println();sb1.append(4);System.out.println(sb1.length());//25System.out.println(sb1.capacity());//24*2250 扩容为原来容量的2倍2} } D:\Java\jdk-17\bin\java.exe -javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar37603:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin -Dfile.encodingUTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\jdk8 StringBufferTest 8 2416 2424 2425 50Process finished with exit code 03.2、指导意见 开发中建议大家使用StringBufferint capacity为了避免扩容一开始建议使用带参数的构造器效率会高一些。 4、StringBuffer类常用方法 StringBuffer appendxxx 提供了很多的append方法用于进行字符串拼接 StringBuffer  deleteint startint end 删除指定位置的内容 StringBuffer  replaceint startint endString str 把[start,end]位置替换为str StringBuffer insertint offsetxxx 在指定位置插入xxx StringBuffer  reverse 把当前字符序列逆转 当append和insert时如果原来value数组长度不够可扩容。如上这些方法支持方法链操作 总结 增 append(xxx) 删 delete(int start,int end) 改 setCharAt(int n,char ch)        /     replace(int start,int end,String str) 查 charAt(int n) 插 insert(int offset,xxx) 长度 length(); *遍历 for() charAt()     /    toString() 5、对比String、StringBuffer、StringBuilder三者的效率 从高到低排列StringBuilder StringBuffer String public class Efficiency {public static void main(String[] args) {long startTime 0L;long endTime 0L;String text ;StringBuffer buffer new StringBuffer();StringBuilder builder new StringBuilder();startTime System.currentTimeMillis();for (int i 0; i 20000; i) {buffer.append(String.valueOf(i));}endTime System.currentTimeMillis();System.out.println(StringBuffer的执行时间 (endTime - startTime));startTime System.currentTimeMillis();for (int i 0; i 20000; i) {builder.append(String.valueOf(i));}endTime System.currentTimeMillis();System.out.println(StringBuilder的执行时间 (endTime - startTime));startTime System.currentTimeMillis();for (int i 0; i 20000; i) {text text i;}endTime System.currentTimeMillis();System.out.println(String的执行时间 (endTime - startTime));} } D:\Java\jdk-17\bin\java.exe -javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar18779:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin -Dfile.encodingUTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\jdk8 Efficiency StringBuffer的执行时间5 StringBuilder的执行时间3 String的执行时间210Process finished with exit code 0
http://www.hkea.cn/news/14379659/

相关文章:

  • emlog怎么做视频网站wordpress自建菜单
  • aspsqlserver做网站wordpress显示所有文章列表
  • 网页美工设计主要从哪些方面设计seo外包公司优化
  • 如何建设考研网站wordpress网站布置视频
  • 小说网站怎么建设wap网站怎么做
  • 网站导航页面制作wordpress自动 插件
  • 电脑做系统ppt下载网站好郑州网站制作公司汉狮
  • 网站建设 协议书做网站运营需要学的东西
  • 模板网站 知乎写作网站5妙不写就删除
  • 静安建设机械网站网站建设教程讲解
  • 网站原创文章来源wordpress+程序优化
  • 上海自助建站系统手机怎么做网站免费的
  • 徐水住房建设局网站wordpress主题修改软件
  • 设计师网站建设厅网站集约化建设
  • 成都建站优化妻子2018高清免费视频
  • o2o网站建设服务网站推广关键词排名
  • 建设网站还不如搬砖wordpress用户排行
  • 学做宝宝衣服网站好网站关键词用什么符号
  • 网站最合适的字体大小合肥市城乡建设局2019网站
  • 中国营销型网站有哪些公司网站建设需要些什么要求
  • 福建网站建建设网站建设四川推来客网站系统
  • 柳州正规网站制作公司html5手机网站开发实例
  • 广州最专业的网站建设网站建设工作室+怎么样
  • 四平网站建设有哪些博客园网站开发
  • 成品网站货源入口福田皇岗社区网站建设
  • 南宁武鸣区建设局网站上海58同城招聘网最新招聘
  • 江门手机模板建站嵌入式开发的系统
  • 网站建设与运营课程总结建设银行网站登录不上去
  • 晋城龙采网站建设网站后台密码在哪里
  • 物流信息网站qq对话制作器app