安丘网站建设,中国企业集成网网址电子商务,网站做支付宝 微信模块,做美妆的网站回答思路#xff1a; 原始数据类型和包装类介绍 主要区别#xff08;数据使用内存#xff09; 自动装箱、自动拆箱机制和实践原则
回答总结#xff1a; int 是8种基本数据类型#xff08;byte、boolean、char、short、int、long、float、double#xff09;之一#xff… 回答思路 原始数据类型和包装类介绍 主要区别数据使用内存 自动装箱、自动拆箱机制和实践原则
回答总结 int 是8种基本数据类型byte、boolean、char、short、int、long、float、double之一表示整型数据类型虽然Java是面向对象语言以对象贯穿整个思维但是基本数据类型不是对象 Integer是int对应的包装类它有一个int类型存储数据并且提供了基本的数学运算、类型转换的操作方法它是一个Java对象可以通过new的方式创建Integer的方法实现和String一样都是final修饰的不可变所以线程安全 两者的区别 1.初始角度基本数据类型有默认值包装类是对象没有默认值 2.使用角度Java泛型不支持基本数据类型但支持包装类 3.内存角度包装类型比基本数据类型占用空间更大下面列举占用内存的结构。 在JDK1.5开始提供了基本数据类型和包装类之间的自动装箱、自动拆箱功能据上下文自动转换类型极大简化了编程自动装箱是Integer.valueOf()自动拆箱调用的是Integer.intValue()这里静态工厂方法valueOf()会用到缓存但是调用new方法不使用缓存哦 在开发实践中要尽量避免无意识的拆箱和装箱。简单来说个人理解不一定对在用于计算场景的时候多用int等基本数据类型在实现业务开发的时候大多使用Integer等包装类型。 扩展Java对象的内存结构《深入理解Java虚拟机》中内容
基本数据类型实际类型占用内存大小是多少就是多少
对象类型对象头 实例数据 对齐数据
数组类型对象头 数组长度 实例数据 对齐数据 其中对象头主要组成是4字节的markwork和4字节的class对象指针