JAVA的优势主要体现在可移植性和夸平台,不太懂,原因是什么?我在一本书上看到说是“基本数据类型不依赖于具体实现”,请高人指点,谢谢!!!

解决方案 »

  1.   

    java是解释性语言,跨平台是说java代码或编译生成的class文件都可以在不同平台上在jre支持下仍可用
    比如windows用java做的一个程序在linux下仍然可以运行,只要有jre环境
      

  2.   

    Thinks:),“基本数据类型不依赖于具体实现”是什么意思?
      

  3.   

    同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在Windows3.1中整数(Integer)为16bits,在Windows95中整数为32bits,在DECAlpha中整数为64bits,在Intel486中为32bits。通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。Java语言的基本数据类型及其表示方式如下:byte8-bit二进制补码short16-bit二进制补码int32-bit二进制补码long64-bit二进制补码float32-bitIEEE754浮点数double32-bitIEEE754浮点数char16-bitUnicode字符在任何Java解释器中,数据类型都是依据以上标准具体实现的。因为几乎目前使用的所有CPU都能支持以上数据类型、8~64位整数格式的补码运算和单/双精度浮点运算。Java编译器本身就是用Java语言编写的。Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成。Java语言规范中也没有任何"同具体实现相关"的内容。 
      

  4.   

    java的扩平台分为两种理解方式
    1 jvm用软件实现了硬件CPU的功能,其中基本数据类型的固定范围即属于cpu计算范畴
    2 jvm实现了软件级别的操作系统和图形系统,java里许多东西已经超出了语言范围,其中一部分是操作系统
      

  5.   

    简单的说就是
    你不用管一个字在一部机器上的定义是一个字节,到了另一台机上的定义是两个字节
    java的运行环境是和机器底层无关的
      

  6.   

    :),“基本数据类型不依赖于具体实现”是什么意思?
    在C或c++ 或者其他一些语言上,int,LONG,FLOAT的长度,取决于CPU的字长.cpu的字长越长,刚所占的位数就越多,所以在C中提供了,SIZEOF()这个函数来确定所占的字节数.
    但在JAVA中,为了提高移植性和跨平台性.他将,所有的基本数据类型的长度,全部固定了.无论在那种机子上,都只占那么多长度.所以不依赖于具体实现