栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

访问修饰符与缓存池

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

访问修饰符与缓存池

9、访问修饰符,private protected public以及不写的区别
(1)private:同一类内可见。可以修饰对象:变量,方法
(2)default:即默认,同一包内可见,可以修饰对象:变量、方法、接口、类
(3)protected:对同一包内的类和子类可见,,修饰对象:变量、方法不能修饰类
(4)public:所有类可见,修饰对象:类、接口、变量、方法

**跨平台性:**因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。

8、int和Integer有什么区别
(1)为了编程方便,java有8种基本数据类型。又为了能将这8种基本数据类型当做对象处理,又为每个基本数据类型引入了对应的包装类型。JDK1.5之后,引入了自动拆箱机制,基本数据类型可以和包装数据类型互换。
(2)Ingeter是int的包装类,必须实例化才能使用。Integer变量实际上是对象的引用,指向对象,默认值为null。
(3)int是基本数据类型,不必实例化就可以使用,他直接存数据,默认是0.
(4)Integer和int比较时,只要两个变量的值相等,就是true,因为自动装箱拆箱。
(5)非new生成的Integer变量和new生成的integer变量比较为false。
(6)两个非new生成的integer变量,只要范围在[-128,127]之间就为true。

缓存池

new Integer(123) 与 Integer.valueOf(123) 的区别在于:

  • new Integer(123):每次都会新建一个对象
  • Integer.valueOf(123):会使用缓存池中的对象,多次调用取得同一个对象的引用
Integer x = 100;	//自动装箱,底层调用 Integer.valueOf(1)
Integer y = 100;
System.out.println(x == y);   	// true

Integer x = 1000;
Integer y = 1000;
System.out.println(x == y);   	// false,因为缓存池最大127

int x = 1000;
Integer y = 1000;
System.out.println(x == y);		// true,因为 y 会调用 intValue 自动拆箱返回 int 原始值进行比较
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/599817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号