http://expert.csdn.net/Expert/topic/2522/2522120.xml?temp=.3335993http://expert.csdn.net/Expert/topic/2484/2484866.xml?temp=.5402185

解决方案 »

  1.   

    java中实现了跨平台开发,也就是说,基本变量的字节是固定不变的,所以,sizeof 也就没有存在的必要了。
      

  2.   

    to banalman(飘泊) :
    你说的我知道,我就是想实现sizeof的功能,检验一下primitive date type到底是多大.
      

  3.   

    用位运算自己写一个sizeof method
      

  4.   

    真是瞎说. :)(1) 基本变量长度是固定的,但是占据内存的字节空间不是固定的.
    (2) 无法写出sizeof方法,只有在VM内部才可能实现.
    (3) 楼主的要求有够无聊的.JVM存储单元是"字(word)",规定一个字的长度就可以容纳int,char,short,byte,returnAddress等.而至少两个字就可以容纳long和double.如果字长是32位,那么int的存储空间就可能是4字节,如果字长是64位,int的存储空间就可能是8字节.这些都是不同的虚拟机特定的实现.这对于程序员来说是不定的东西.只有针对特定的虚拟机实现才有意义.
      

  5.   

    xiaohaiz你说的好像有道理关于这一块儿我也是菜鸟像你学习喽!
      

  6.   

    To:xiaohaiz
    你说的意思是,int, char 等类型的实际长度是不固定的吗?
      

  7.   

    TO i_doit(憨憨兔):
    对JAVA语言是固定的.对于物理存储针对不同的虚拟机实现是不固定的.