stringbuilder_String,StringBuilder,StringBuffer三者的区别?
(1) 问题分析
考官主要想对final修饰符的作用,同步锁,以及数据类型的考察。在工作中为什么业务层频繁的拼接sql不用string而用StringBuilder,为什么Stringbuilder比StringBuffer效率高
(2) 核心答案讲解
String是引用类型,底层是被final修饰的字符数组,所以String相当于一个常量,是不可改变的,每拼接一次就会产生一个新的对象,而由于垃圾回收机制的原理,原有的对象不会立马被回收,这是对内存极大的消耗;而StringBuilder和StringBuffer 是可变长度的,可以利用append方法向原有对象拼接,然后用toString方法将其转化为String类型;这两个相比起来StringBuilder的效率更高,因为他是非线程安全的,不需要花费资源去维护同步锁。
(3) 问题扩展
Final修饰符的作用是什么?
在工作中你们如果在业务层去拼接sql,使用String类型去接收的吗?
(4) 结合项目中使用
在项目中如果频繁的拼接字符串需要用什么类型对象去接收
stringbuilder_String,StringBuilder,StringBuffer三者的区别?相关推荐
- Java基础之String,StringBuilder,StringBuffer三者的区别
Java基础之String,StringBuilder,StringBuffer三者的区别 目录 运行速度方面 线程安全方面 小结 1. 运行速度方面 运行速度,在这方面运行速度快慢为:StringB ...
- String StringBuilder StringBuffer三者之间的区别~~~
String StringBuilder StringBuffer三者之间的区别~~~ String是字符串常量,它是典型的immutable类,被声明final class,所有的属性都是fina ...
- Java:中的String,StringBuilder,StringBuffer三者的区别
Java中的String,StringBuilder,StringBuffer三者的区别 最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBu ...
- Java中的String,StringBuilder,StringBuffer三者的区别
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- 【Java】Java中String、StringBuilder、StringBuffer三者的区别
这三个类之间的区别主要是在两个方面(运行速度和线程安全)这两方面. 1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为: StringBuilder >StringBuffer & ...
- String,Stringbuilder,Stringbuffer及正则表达式
掌握String StringBuilder StringBuffer类的区别 一.String String是不可变类,一旦String对象被创建之后,包含对象中的字符串序列都是不可改变的,直到类被 ...
- String , StringBuilder , StringBuffer
String 首先从String底层看起 从底层代码被final修饰,我们能看出来,String是只读字符串,他的成员方法也都默认为final方法.所以String所引用的字符串内容不能被改变 Str ...
- Java中String、StringBuffer、StringBuilder三者的区别
一.简介 String.StringBuffer.StringBuilder三个类之间的区别主要是在两个方面:运行速度和线程安全. 二.区别 1.运行速度,或者说是执行速度 在这方面运行速度快慢为:S ...
最新文章
- Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络...
- .Net开源微型ORM框架测评
- CSDN编程挑战——《高斯公式》
- windows oracle 内存大,如何设计Oracle数据库内存的大小
- opencv2.4.3通过不同方式访问图像像素
- linux六个标准目录,Linux基本目录规范——XDG
- 在线 pdf转word
- 第十二章 Android第三方库源码
- 通过hosts文件配置域名ip
- 【无向图求最小割集】
- linux战争雷霆无法运行,《战争雷霆》Mac版下载及运行问题汇总
- 全球都在建智慧城市,智慧城市究竟什么样?中通服创立科技告诉你
- 快速了解 Git 仓库
- 电脑虚拟摄像头 -obs及obs虚拟摄像头插件(免费)
- 吉大计算机如何本科进实验室,吉林大学本科实验教学管理办法(试行)
- 【TencentOS tiny】 超详细的TencentOS tiny移植到STM32F103全教程
- IDM下载器最新版本6.36.5
- Java自动生成订单编号+流水号
- java对字符串进行加星号处理
- Android 虚拟按键适配动态调整布局
热门文章
- Sketch2Code 前端智能AI-识别草图生成代码
- Spring框架入门(一)
- Java 多态的特性和概念
- uni-app中v-html中的元素添加样式
- python音频实时频谱分析_基于python的音频设计及频谱分析
- C# 未能加载文件或程序集“ Newtonsoft.Json” Json格式错误
- JAVA 中转义符的理解
- js手机端图片弹出方法
- 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别
- [leetcode]Flatten Binary Tree to Linked List