JAVA中为什么保留基本数字类型
来源:互联网 发布:苹果蜂窝数据怎么设置 编辑:程序博客网 时间:2024/06/06 03:05
JAVA中为什么保留基本数字类型
相对于c++来说,java应该是比较“纯净”的面向对象的语言了。但是所谓的纯净其实也并不是那么“纯净”,不像JS、Ruby等一切均是对象,java中还保留了8个基本数据类型。那到底为什么要保留这8个基本数据类型(byte、short、char、int、long、boolean、double、float)呢?今天看了一片介绍这个的文章,感觉写的还不错,我把文章总结如下:
原文作者认为保留基本数据类型的主要原因是:基本数据类型的性能比其包装类的要好这点对那些以计算为主的应用很重要。
作者主要从两个方面进行了论证:
1)内存的使用情况:Java中的double总是占据内存的64个比特,但是引用类型的字节数取决于JVM。我的电脑运行64位Win7和64位JVM,因此在我的电脑上一个引用占用64个比特。根据图1,一个double比如n1要占用8个字节(64比特),一个Double比如n2要占用24个字节——对象的引用占8个字节,对象中的double的值占8个字节,对象中对Double对象的引用占8个字节。此外,Java需要使用额外的内存来支持对象的垃圾回收,但是基本类型不需要。
此图摘自原文
2)运算复杂度。作者用double类型和Double类型分别使1000*1000的矩阵相乘,最后比较了时间。结果如下:
类型 秒数
double 11.31
Double 48.48
由此我们也可以看出java中保留基本数据类型的很大一个原因就是性能问题。
0 0
- JAVA中为什么保留基本数字类型
- Java为什么需要保留基本数据类型
- Java为什么需要保留基本数据类型
- Java为什么需要保留基本数据类型
- java中有了基本类型为什么还要有包装类型?
- Java的基本类型和保留字
- Java中基本类型
- java中数字类型转换
- java将数字转化为指定类型[float保留小数点确定、数字前加0]
- Java中为什么要为基本类型提供封装类呢
- java中基本类类型
- Java中基本类型转换
- Java中基本类型转换
- java中double类型数组保留小数点后位数问题!!!!!
- java中double类型变量保留小数点后两位的问题
- Java中double类型保留两位小数
- java中基本类型与引用类型
- Double类型的数字保留位数问题
- 基于Kinect的三维动作重现
- linux开机启动程序加载的shell script
- Jericho Html paser详解
- 编程挑战-高校俱乐部-数字游戏
- 方向问题
- JAVA中为什么保留基本数字类型
- 计算机网络读书笔记2
- 火狐浏览器FireFox怎么截图整个网页 - 装插件!FireFox霸气!
- CodeForces 402A
- Swift学习6——解析json天气信息Demo
- cobbler在执行cobbler check时出现httpd does not appear to be running and proxying cobbler的解决方法
- 学生信息管理系统之【修改信息窗口】
- 麻理工MIT的脑计划eyewire (顺便学习一下医学影像知识)
- 利用Cobbler安装ESXI5.5报错的解决