String , StringBuffer 与 StringBuilder 简单的JDK JRE描述

来源:互联网 发布:淘宝买港版note7怎么退 编辑:程序博客网 时间:2024/06/05 23:06

处理字符串的时候经常会用到这三个

首先来说 string 是不可变的 其很多属性都使final 的 所引用对象的值是不可变的,像
String s = “1111”; —》相当于string s = “111”+”11”;
String s1 = s +”1111”;
在系统中是相当于 s->”11111” 对象
然后 s1 ->s+”11111”这个 并不是将s与“11111”拼接在一起 而是在常量池中 找到与s+”11111” 所匹配的字符串 让s1指向它,所以每次当String的值改变时都会 其变量都会指向一个其它的对象 而这样就会产生很多 无引用的对象 使得JVM的GC开始工作加大 影响整体性能

StringBuffer与StringBuilder 不一样他们使两个类 是以流的形式 来操控,每次操作 都是对其类的对象本身来进行操作,所以在其性能 肯定比string的好很多(String s = “sss”+”sss”时除外 因为这只是直接给一个引用变量赋值 并不属于操作操作字符串 )

而StringBuffer与StringBuilder的最大区别就在于 StringBuffer线程安全 而StringBuilder不安全从而在运行效率上来看StringBuilder更佳

JDK(全称java development kit)java开发工具, 是完整的java开发工具,包含JRE与一些其它的java编译工具(e:javaDoc,java调试器),可以提供开发人员直接开发,编译,执行java程序

JRE(全称java runTime Environment)java运行时环境,它包含java虚拟机(jvm),java核心类库和支持文件。同时也包含了执行applet需要的浏览器插件。

0 0
原创粉丝点击