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

手机移动端网站怎么做的/软文代写平台

手机移动端网站怎么做的,软文代写平台,传奇私服网站怎么做,wordpress免费网站目录反射什么是反射机制?反射机制优缺点Java获取反射的三个方法String字符型常量和字符串常量的区别什么是字符串常量池?String 是最基本的数据类型吗String有哪些特性String为什么是不可变的吗?是否可以继承 String 类String str"i&quo…

目录

  • 反射
    • 什么是反射机制?
    • 反射机制优缺点
    • Java获取反射的三个方法
  • String
    • 字符型常量和字符串常量的区别
    • 什么是字符串常量池?
    • String 是最基本的数据类型吗
    • String有哪些特性
    • String为什么是不可变的吗?
    • 是否可以继承 String 类
    • String str="i"与 String str=new String(“i”)一样吗?
    • 在使用 HashMap 的时候,用 String 做 key 有什么好处?
    • String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的
  • 包装类
    • Integer a= 127 与 Integer b = 127相等吗

反射

什么是反射机制?

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

反射机制优缺点

  1. 优点: 运行期类型的判断,动态加载类,提高代码灵活度。
  2. 缺点: 性能瓶颈:反射相当于一系列解释操作,通知 JVM 要做的事情,性能比直接的java代码要慢很多。

Java获取反射的三个方法

  1. 通过new对象实现反射机制
  2. 通过路径实现反射机制
  3. 通过类名实现反射机制
public class Get {//获取反射机制三种方式public static void main(String[] args) throws ClassNotFoundException {//方式一(通过建立对象)Student stu = new Student();Class classobj1 = stu.getClass();System.out.println(classobj1.getName());//方式二(所在通过路径-相对路径)Class classobj2 = Class.forName("fanshe.Student");System.out.println(classobj2.getName());//方式三(通过类名)Class classobj3 = Student.class;System.out.println(classobj3.getName());}
}

String

字符型常量和字符串常量的区别

  1. 形式上: 字符常量是单引号引起的一个字符 字符串常量是双引号引起的若干个字符
  2. 含义上: 字符常量相当于一个整形值(ASCII值),可以参加表达式运算 字符串常量代表一个地址值(该字符串在内存中存放位置)
  3. 占内存大小 字符常量只占一个字节 字符串常量占若干个字节(至少一个字符结束标志)

什么是字符串常量池?

字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串,在创建字符串时 JVM 会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用。

String 是最基本的数据类型吗

  • 不是。Java 中的基本数据类型只有 8 个 :byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(referencetype),Java 5 以后引入的枚举类型也算是一种比较特殊的引用类型。
  • String 底层就是一个 char 类型的数组,只是使用的时候开发者不需要直接操作底层数组,用更加简便的方式即可完成对字符串的使用。

String有哪些特性

  1. 不变性:String 是只读字符串,是一个典型的 immutable 对象,对它进行任何操作,其实都是创建一个新的对象,再把引用指向该对象。不变模式的主要作用在于当一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性。
  2. 常量池优化:String 对象创建之后,会在字符串常量池中进行缓存,如果下次创建同样的对象时,会直接返回缓存的引用。
  3. final:使用 final 来定义 String 类,表示 String 类不能被继承,提高了系统的安全性。

String为什么是不可变的吗?

简单来说就是String类利用了final修饰的char类型数组存储字符

是否可以继承 String 类

String 类是 final 类,不可以被继承

String str="i"与 String str=new String(“i”)一样吗?

不一样,因为内存的分配方式不一样。String str="i"的方式,java 虚拟机会将其分配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中。

在使用 HashMap 的时候,用 String 做 key 有什么好处?

HashMap 内部实现是通过 key 的 hashcode 来确定 value 的存储位置,因为字符串是不可变的,所以当创建字符串时,它的 hashcode 被缓存下来,不需要再次计算,所以相比于其他对象更快。

String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的

  1. 可变性:String类中使用字符数组保存字符串,string对象是不可变的。StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,char[] value,这两种对象都是可变的。
  2. 线程安全性:String中的对象是不可变的,也就可以理解为常量,线程安全。AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。
  3. 性能:每次对String 类型进行改变的时候,都会生成一个新的String对象,然后将指针指向新的String 对象。StringBuffer每次都会对StringBuffer对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用StirngBuilder 相比使用StringBuffer 仅能获得10%~15% 左右的性能提升,但却要冒多线程不安全的风险。
  4. 对于三者使用的总结
    • 如果要操作少量的数据用 = String
    • 单线程操作字符串缓冲区下操作大量数据 = StringBuilder
    • 多线程操作字符串缓冲区下操作大量数据 = StringBuffer

包装类

Integer a= 127 与 Integer b = 127相等吗

对于对象引用类型:==比较的是对象的内存地址。
对于基本数据类型:==比较的是值。
如果整型字面量的值在-128到127之间,那么自动装箱时不会new新的Integer对象,而是直接引用常量池中的Integer对象,超过范围 a1==b1的结果是false

http://www.lbrq.cn/news/1754551.html

相关文章:

  • 平面设计接单赚钱吗/关键词优化需要从哪些方面开展?
  • 电商网站制作成手机app/国家认可的赚钱软件
  • 亿唐网不做网站做品牌案例分析/网站友情链接查询
  • 做平面设计在那个网站上找图好/百度seo软件
  • 网站备案 服务内容/广东深圳疫情最新
  • 网站建设分析报告/绍兴seo外包
  • 天津刘金鹏做网站/申请自媒体平台注册
  • 图片二维码生成器在线制作/seo独立站优化
  • 网站横幅怎做/seo优化范畴
  • 常德市建设局网站/想要推广网页正式版
  • cbd网站建设/网络推广自学
  • b2b免费发布信息网站/合肥seo软件
  • seo网站分析报告/众志seo
  • 做网站开发学什么/seo搜索引擎优化方法
  • 网站开发与维护竞赛/免费发布广告信息的网站
  • 网站上怎么做企业推广/武汉百度seo网站优化
  • 欧美 电台 网站模板/深圳网络推广招聘
  • 东山县建设局网站/友情链接交换平台有哪些
  • 用网站空间可以做有后台的网站吗/狼雨的seo教程
  • 企业做淘宝客网站有哪些/郑州seo外包服务
  • 马云做网站最早/软文代写兼职
  • 零售商城/百度排名优化
  • 长沙建网站/怎么做微信推广和宣传
  • 有哪些网站是用vue做的/百度首页
  • 生产企业做网站的费用怎么做账/百度指数什么意思
  • 泰州建设工程信息网/朝阳区seo搜索引擎优化介绍
  • 上海网站托管/起名最好的网站排名
  • 馨端网站建设/郑州网站seo
  • 为网站做推广/2022适合小学生的简短新闻
  • 本地的沈阳网站建设/开鲁网站seo不用下载
  • 习题4.1 输出3个人的顺序
  • Linux服务器端口被占用?
  • 关于用git上传远程库的一些常见命令使用和常见问题:
  • 开源 python 应用 开发(六)网络爬虫
  • Kotlin比较接口
  • 李宏毅《生成式人工智能导论》 | 第9讲 AI Agent