Sizeof for Java

原创 2004年07月05日 22:44:00

Q:java中有和C中的sizeof()相似的操作符吗?  

A:简单的说java没有提供任何和C中sizeof()类似的操作符。但是我们可以分析一下为什么java程序常常需要他.

    一个C程序员需要自己定义数据结构、分配内存,而sizeof()是知道内存块大小从而分配内存所必需的。另外,C内存分配器比如malloc()基本上不做任何事情,直到对象初始化时: programmer must set all
    object fields that are pointers to further objects. But when all is said and coded, C/C++ memory
    allocation is quite efficient.

    相比之下,java对象分配和构造是连在一起的(使用Allocated但未初始化的对象是不可能的).If a Java class defines fields that are references to further objects, it is also common to set them at construction time. Allocating a Java object therefore frequently allocates numerous interconnected object instances: an object graph.和自动垃圾收集联系一起,this is all too convenient and can make you feel like you never have to worry about Java memory allocation details.

    当然,这些事情都是对简单的java应用程序而言.和C/C++相比,同等的java数据结构需要占用更多的物理内存.在企业级的软件开发中, 现在的32位JVM(java虚拟机)的最大可用虚存通常仍scalability constraint.因此,java程序员仍应该得益于sizeof()或其他的相似的东东来注心是否他的数据结构 are getting too large or contain memory bottlenecks.幸运的是,Java reflection 可以让你方便的写出这些工具.
http://www.javaworld.com/javaworld/javaqa/2003-12/02-qa-1226-sizeof.html?

Java:sizeof()用法汇总

sizeof()功能:计算数据空间的字节数 1.与strlen()比较       strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。       而siz...
  • HMYANG314
  • HMYANG314
  • 2014年09月22日 17:15
  • 2055

为什么Java中没有sizeof()

什么是sizeof? 在C语言中,sizeof是一个判断数据类型长度符的关键字,它可以返回一个对象或者类型所占的内存字节数。 例如,在C语言中,我们可以通过 printf("%d",sizeof(in...
  • yaoqing1995
  • yaoqing1995
  • 2016年12月30日 19:32
  • 1065

java中的sizeof

关键字: java sizeof      在C/C++中,当我们想知道一个对象或者一个原始数据类型所占用的内存大小时,只需简单调用sizeof操作符即可,但是,在java中是没有相应的操作符或者方法...
  • gz2008gz
  • gz2008gz
  • 2010年05月02日 18:29
  • 12342

Java中实现sizeof详述

1.Java有类似于C语言中sizeof()的操作器吗?    表面答案是Java没有提供任何类似于C语言的sizeof()的操作器。但是,我们应该想想为什么java 程序员偶尔也需要它。    C语...
  • Sanco
  • Sanco
  • 2005年06月09日 17:19
  • 4911

为什么Java不需要sizeof()(和C/C++的比较)

C程序员在写Java程序时可能会问个问题,为什么Java不需要sizeof()功能? 总结下自己的理解。 1. 首先介绍C语言中的sizeof()    sizeof()在C语言中是个宏定义,类似如下...
  • jsky_studio
  • jsky_studio
  • 2015年01月31日 22:03
  • 919

Java 基本数据类型 sizeof 功能

Java基本数据类型 int     32bit short   16bit long    64bit byte    8bit char    16bit float   32bit doubl...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年12月26日 21:30
  • 672

java开发C语言模拟器:sizeof函数的实现

在C语言中,有一个非常基础,也是极其重要的函数,就是sizeof, 这个函数的作用是计算变量所占内存的大小。只有知道了对应变量的大小,那么我们才能动态分配对应大小的内存...
  • tyler_download
  • tyler_download
  • 2017年03月09日 16:07
  • 297

java中没有sizeof

话说java中为什么没sizeof操作符呢,那么c和c++中为什么有呢,因为c和c++需要它,而java不需要,或者说是编译器已经帮我们做了这件事情。 C/C++都是比较底层的语言,为了更好的移植,...
  • feigeswjtu
  • feigeswjtu
  • 2015年12月27日 22:10
  • 556

sizeof 各数据类型占空间大小

#include "stdafx.h" #include #include #include using namespace std; struct{ short a1; short a...
  • ycguhang
  • ycguhang
  • 2013年02月19日 21:47
  • 1001

使用sizeof计算普通变量所占空间大小

注意细节:
  • hejun_haitao
  • hejun_haitao
  • 2016年10月19日 15:45
  • 232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sizeof for Java
举报原因:
原因补充:

(最多只允许输入30个字)