java中short和int开销是一致的?short开销比int大??

一直从课本中看到,short占2个字节,int占4个字节,在使用过程,肯定小于2的16次方,那应该选择short而不是int,but,其实short并不比int节省资源,甚至short消耗资源大于int



这是什么问题:“ 我知道为什么会转成int,是为了节省指令数目。我的问题是,为什么我们平时会说short占16位,int占32位。类似的还有byte、char,这几个都会转成”

这个很简单,因为32位的系统(x86系列的寄存器啥的)一次能够处理4个字节,也就是32位,所以直接搞32位的数据就不必进行什么数据的对齐 啊补全啊什么的。。
换句话,为了速度喽。





扩展一下,mysql数据库中,int(1)和int(10),开销一样嘛?或者,int(1)只能存0-9,存不下100?
答案是 NO
首先说下,mysql中int(N),其中的N,是显示位数。在mysql中,除了显示位数,还有一个存储位数的概念,int类型的字段能存储的数据上限还是2147483647(有符号型)和4294967295(无符号型),也就是说,你用int(1)和int(10),其实都是int的。。。。。。


可能有人问,我varchar(10),存11位的字母,为什么就存不了呢?因为varchar是可变字符串啊,总不能让你随便存储吧,如果都是让你随便存储,那一个十位的字符串占着一个TEXT的空间,那效率不是太太太低下了么?





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是几个与Java八种基本数据类型和对应的包装类型相关的面试题: 1. Java有哪八种基本数据类型?它们分别是什么? Java有8种基本数据类型,分别是:byte、shortint、long、float、double、char和boolean。 2. Java的基本数据类型和包装类型有什么区别? 基本数据类型直接存储数据的值,而包装类型是基于基本数据类型的对象类型,它们提供了一些额外的功能,如自动装箱和自动拆箱、null值、equals方法等。 3. 什么是自动装箱和自动拆箱? 自动装箱是指将基本数据类型转换为对应的包装类型,自动拆箱是指将包装类型转换为对应的基本数据类型。Java 5引入了自动装箱和自动拆箱的特性,使得开发者无需手动转换,而是由编译器自动完成转换的工作。 4. 如何将基本数据类型转换为对应的包装类型? 可以使用对应的包装类型的valueOf方法进行转换。例如,将int类型的值转换为Integer类型可以使用Integer.valueOf(int)方法。 5. 如何将包装类型转换为对应的基本数据类型? 可以使用包装类型的xxxValue方法进行转换,其xxx是对应的基本数据类型的名称。例如,将Integer类型的对象转换为int类型可以使用intValue()方法。 6. Integer i = 10 和 Integer i = new Integer(10) 有什么区别? 前者使用自动装箱将int类型的值10转换为Integer类型,而后者是通过显式地创建一个Integer对象来实现的。 7. 为什么应该使用包装类型而不是基本数据类型? 使用包装类型可以提供更多的功能,如自动装箱和自动拆箱、null值、equals方法等。此外,某些框架和库要求使用包装类型,例如Hibernate的映射。 8. 为什么应该避免使用包装类型? 使用包装类型会带来一些额外的开销,如对象创建、内存分配和垃圾回收等,对性能有一定的影响。因此,在性能要求较高的场景下,应该尽量使用基本数据类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值