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

资阳网站建设资阳商标设计网址

资阳网站建设资阳,商标设计网址,网站手机模板源码,中企动力 网站建设 眼镜一、java基础面试题 第四天 1. String 为什么不可变? **不可变对象:**不可变对象在java中就是被final修饰的类就称为不可变对象,具体含义是,不可变对象一但被赋值以后,他的引用地址就不能被修改(它的属性…

一、java基础面试题 第四天

1. String 为什么不可变?

**不可变对象:**不可变对象在java中就是被final修饰的类就称为不可变对象,具体含义是,不可变对象一但被赋值以后,他的引用地址就不能被修改(它的属性的值可以被修改)

不可变原因

线程安全。同一个字符串实例可以被多个线程共享,因为字符串不可变,本身就是线程安全的。

支持hash映射和缓存。因为String的hash值经常会使用到,比如作为 Map 的键,不可变的特性使得 hash 值也不会变,不需要重新计算。

出于安全考虑。网络地址URL、文件路径path、密码通常情况下都是以String类型保存,假若String不是固定不变的,将会引起各种安全隐患。比如将密码用String的类型保存,那么它将一直留在内存中,直到垃圾收集器把它清除。假如String类不是固定不变的,那么这个密码可能会被改变,导致出现安全隐患。

字符串常量池优化。String对象创建之后,会缓存到字符串常量池中,下次需要创建同样的对象时,可以直接返回缓存的引用

2.为何JDK9要将String的底层实现由char[]改成byte[]?

这样能节省内存

在java的存放堆内存中,存放最多的就是字符串,大部分的字符串编码类型为拉丁字符,拉丁字符只占1个字节

在Java中char类型占两个字节,这样就极大的浪费Java中堆内存,所以JDK9将String的底层实现由char[]改成byte[]

3.String, StringBuffer 和 StringBuilder区别

  • String类是不可变字符串,他是不可以进行修改的,而

    StringBuffer和StringBuilder为可变字符串

  • StringBuffer实在1.5之前出的,StringBuilder实在1.5之后出的,StringBuffer 和StringBuilder 区别在于,StringBuffer方法都加同步锁,所以在单线程情况下,StringBuilder效率要比StringBuffer 效率要高

4.什么是StringJoiner?

StringJoiner是Java 8新增的一个API,他是基于StringBuilder实现,用于实现对字符串之间通过分隔符拼接的场景。

StringJoiner sj = new StringJoiner("间隔符号");
//创建一个StringJoiner对象,指定拼接时的间隔符号
间隔符号为:“---”
1---2---3StringJoiner sj = new StringJoiner("间隔符号","开始符号","结束符号");
//创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号
间隔符号为:“---”  开始符号:“[”  结束符号:“]”
[1---2---3]

5.String 类的常用方法有哪些?

  • indexOf():返回指定字符的索引。
  • charAt():返回指定索引处的字符。
  • replace():字符串替换。
  • trim():去除字符串两端空白。
  • split():分割字符串,返回一个分割后的字符串数组。
  • getBytes():返回字符串的 byte 类型数组。
  • length():返回字符串长度。
  • toLowerCase():将字符串转成小写字母。
  • toUpperCase():将字符串转成大写字符。
  • substring():截取字符串。
  • equals():字符串比较。

6.new String(“dabin”)会创建几个对象?

会创建两个对象

"dabin"会在字符运行常量中生产一份

在堆中生成一份字符串对象

7.什么是字符串常量池?

字符串常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = "java"这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。

http://www.yayakq.cn/news/754895/

相关文章:

  • 网站开发毕设文档wordpress 提取文章段落
  • 济宁市网站建设手机端网站尺寸规范
  • 深圳市建设工程造价管理站专业的大良网站建设
  • 安徽省工程建设协会网站个人网页制作模板html
  • 阿里备案成功后怎么做网站个人网站建设维护
  • 安庆做网站企业南海建设局网站
  • 网站 开发合同html网站的直播怎么做
  • 楼盘网站模板h5网页设计
  • 网站空间怎样算云南省建设工程造价信息网官网
  • 要建设一个网站需要什么时候开始wordpress全站cdn ssl
  • asp建设的网站建设银行信用卡官方网站
  • 如何创建自己的网站网站开发网上悼念
  • 做旅游海报哪个网站好免费的页游平台排行榜
  • dw旅游网站设计教程赵公口网站建设北京网站设计
  • 如何做企业网站规划西宁网站建设价格低
  • 建造师在建设部网站何时更新深圳企业社保登录入口
  • 做建材加盟什么网站好郑州手机网站制作
  • 怎么做自动发卡的网站农村建设集团有限公司网站首页
  • 知名网站建设托管营销品牌策划公司
  • 房地产型网站建设外贸站外推广
  • 哪些网站用python做的编程前端和后端是什么
  • 哪些网站做推广好宁波建设网证书查询平台
  • 注册个人网站域名topwordpress微信群二维码
  • 搜狗站长平台打不开云南建设工程招标网站
  • 什么是网站设计与建设copyright 个人网站
  • 视觉设计类网站微信小程序商店wordpress做
  • 网站留言板模版石家庄高端网站制作
  • 做网站直播平台商城网站开发的任务书
  • 2018一级a做爰片免费网站昨天正常的网站突然显示建设中
  • 西安做网站选哪家好网站建设与实践高自考