码迷,mamicode.com
首页 > 编程语言 > 详细

Java为什么需要基本类型

时间:2018-03-28 16:53:53      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:ref   question   article   数据类型   .com   过程   net   string   空间   

提问

首先抛出问题吧:Java为什么需要基本类型?

最开始遇到这个问题的场景不记得了,但是一查之下,发现一个问题:Java既然是面向对象的,宣称一切都是对象,为什么还有基础类型。

先上结论

为了性能+惯性

解决过程

先理解下java的数据构成:java的基本数据类型有八种

简单点就是,基本数据类型+引用型数据类型。

接下来查查为啥还要基本数据类型呢?

因为这样子,性能上的追求。

那么进一步,为啥栈要比堆快呢?其实这个就是个博弈,要灵活性(堆,动态分配内存空间),就要舍弃速度;要速度(栈,速度快,严格限制进出方式),就要牺牲灵活性。

具体看这里:栈和堆的区别是什么? 为什么说栈的速度快,堆的速度慢?

但是java发展这么多年,想现在这点速度差别应该不算什么事儿了吧,为啥还有。

仔细查查看,发现还是一开始出现的这个东西,一直沿用了下来呗,让面向对象的代码中,出现了一丝丝的不和谐。

最后说下装箱和基本类型:

  • 基本类型都有对应的装箱类型,但声明的时候看声明情况判断是否是对象:

    int a = 0; // 基本类型
    Integer b = 1; //自动装箱
    Integer c = new Integer(3); // 对象声明
  • 可以自动装箱不代表就是基本类型,比如

    String str = "str";

Java为什么需要基本类型

标签:ref   question   article   数据类型   .com   过程   net   string   空间   

原文地址:https://www.cnblogs.com/andy1202go/p/8664275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!