Java基本数据类型boolean占内存多少?包装类Boolean又占多少?在API文档里没有看到说明,有说一个字节的,但我见一本书上看到说的占1bit。求正解

解决方案 »

  1.   

    http://topic.csdn.net/u/20071128/11/19AF0938-3700-4BB9-A84D-95A2908F8BBB.html
      

  2.   

    boolean占1个bit,1/8个字节,而Boolean是引用类型,在栈内存中存放着它的引用,在堆内存中存放着它的对象(Integer可以看成是对象),没法计算它占对少内存
      

  3.   

    呵呵 boolean类型占用 1byte 也就是8bit  但是它只用了1个bit 
    就一位 0、1  就可以表示true  false
      

  4.   

    刚才在Java虚拟机中看到:
    虽然Java虚拟机也把boolean看做基本类型,但是指令集对boolean只有很有限的支持,boolean在编译成字节码时会用int或byte来表示。false用整数0表示,true用非零整数表示。涉及boolean的操作是用int进行的。boolean数组是当成byte数组进行访问的。
      

  5.   

    跟 JVM 的实现有关,不过绝在多数都是按字长来处理的,按字长处理的话可以达到最高的效率,在 32 位机器上字长是 4 个字节,在 64 位机器上字长是 8 个字节。
      

  6.   

    基本数据类型boolean:1byte,8bit
    包装类Boolean:是基本数据类型boolean的封装类,对应一个基本数据类型boolean,里面还提供了许多方法
      

  7.   

    火龙果的建议是正确的,没有必要深究这个问题,如果你的程序需要深入控制内存,那就不要用java。
    而且这个会根据虚拟机实现的不同而不同,不过sun的公用jdk,boolean类型是当作int来处理的。