欢迎来到皮皮网网首页

【系统源码与部署】【皇冠源码开发】【抄底底源码】印刷系统源码

来源:我爱源码论坛源码 时间:2024-11-25 05:42:38

1.StringBuilder为什么线程不安全?

印刷系统源码

印刷源码系统源码与部署

StringBuilder为什么线程不安全?

印刷源码系统源码与部署

       æ ¸å¿ƒæç¤ºï¼šåœ¨å‰é¢çš„面试题讲解中我们对比了String、StringBuilder和StringBuffer的区别,其中一项便提到StringBuilder是非线程安全的,那么是什么原因导致了StringBuilder的线程不安全呢?原因分析如果你看了StringBuilder或StringBuffer的源代码会说,因为StringBuilder在append操作时并未使用线程同步,而StringBuffer几乎大部分方法都使用了synchronized关键字进行方法级别的同步处理。上面这种说法肯定是正确的,对照

印刷源码系统源码与部署

       åœ¨å‰é¢çš„面试题讲解中我们对比了String、StringBuilder和StringBuffer的区别,其中一项便提到StringBuilder是非线程安全的,那么是什么原因导致了StringBuilder的线程不安全呢?

印刷源码系统源码与部署

       åŽŸå› åˆ†æž

印刷源码系统源码与部署

       å¦‚果你看了StringBuilder或StringBuffer的源代码会说,因为StringBuilder在append操作时并未使用线程同步,而StringBuffer几乎大部分方法都使用了synchronized关键字进行方法级别的同步处理。

印刷源码系统源码与部署

       ä¸Šé¢è¿™ç§è¯´æ³•è‚¯å®šæ˜¯æ­£ç¡®çš„,对照一下StringBuilder和StringBuffer的部分源代码也能够看出来。

印刷源码系统源码与部署

       StringBuilder的append方法源代码:

印刷源码系统源码与部署

       @Override

印刷源码系统源码与部署

       public StringBuilder append(String str) {

印刷源码系统源码与部署

       super.append(str);

印刷源码系统源码与部署

       return this;

印刷源码系统源码与部署

       }

印刷源码系统源码与部署

       StringBuffer的append方法源代码:

印刷源码系统源码与部署

       @Override

印刷源码系统源码与部署

       public synchronized StringBuffer append(String str) {

印刷源码系统源码与部署

       toStringCache = null;

印刷源码系统源码与部署

       super.append(str);

印刷源码系统源码与部署

       return this;

印刷源码系统源码与部署

       }

印刷源码系统源码与部署