温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
那么接下来大家注意啊,除了这个string buffer之外,还有一个叫builder。它俩有什么区别呢?来,Class啊,我们叫string builder test。零一啊,Build。来看一下啊。Java language builder。来PSVM走一个啊,那么这边呢,我们时尊。Builder是吧,你有一个什么呀,Builder。那它这个初始化容量是多少,看一下也是16。是不是一样的效果啊,一样的效果。直接不给就好了,可以自动扩容,对。你扩容可以啊,但你扩容次数多的话,不是效率低吗。啊。
01:00
扩容次数越少效率越高啊明白吗?嗯,点I,你看这个方法也一样啊,没啥区别呀啊,那它有啥区别呢,点ipad再追加。追加一个hello。再加个Kitty。嗯,没区别呀,没啥区别,来走一个看看。串拼接用string builder也是可以的,对吧?哎,你看使用什么呀,叫做string builder啊啊也是可以完成什么呀,字符串的拼接。那string builder和string buffer有什么区别呢?我们看源代码能看出来啊,大家看这是string builder吧,里边的方法大家看一下这,哎,这是构造方法啊,往下看,你看这个方法。
02:00
是吧,哎,我们再看一下string什么呀,Buffer啊string buffer大家看这个方法前面都有个字叫什么呀,Synchize你看。那这个方法前面S你看。SNCH的是不是,哎,你看snchize的,诶,我们spring build里边没有啊。你看这个方法没有啊。是不是不带吧,哎,说一下啊,Buffer是线程安全的。这个你已经听不懂了啊,已经听不懂了。就是STRING8份和string builder的区别,注意啊,STRING8份中的方法都有什么SNCH关键字修饰啊修饰。啊,表示死顿buffer在多线程环境下运行是安全的。String builder中的方法都没有什么synchronized关键字修饰啊,表示string builder啊,在多线程环境下运行是不安全的。
03:18
各位啊,一个是线程安全,一个是非线程安全的啊,就记一句话就行,顿八份是线程安全的啊,是线程安全的,此寸build呢,是非线程安全的。有的说老师,那我这个什么叫线上,什么叫非限制安全啊,你现在先不用管它啊,因为我们有一个专门的章节,有一个课程要将近讲一天多,将近两天的时间,我们都要讲一个东西叫什么呀,多线程。明白吧,要讲这个多线程,各位啊,到时候讲这个多线程的时候你就理解了,现在的话咱们还没有讲多线程,所以我在这里简单先提一下string buffer是什么?是线程安全的,String builder是非线程安全的啊,非线安全的好对这个有一定的认识,好像这样的话,咱们就等于是把这块的东西咱们就说完了,各位啊,String和string buffer好,咱们先休息一下。
我来说两句