美文网首页
java基础02-变量:Python与java中的变量异同总结

java基础02-变量:Python与java中的变量异同总结

作者: RocheLimit007 | 来源:发表于2020-03-03 22:34 被阅读0次

    1 什么是变量

    可以把变量理解为一种容器,可以用它来存储数据或者对象的内存地址。

    2 java中的变量

    2.1 主数据类型(primitive)& 引用类型(reference)

    主数据类型包括:numeric types, boolean type, returnAddress type。跟引用类型相比较,主数据类型存储的是实际值,而引用类型存储的不是数据本身而是数据的引用地址。

    `其中需要注意的是 returnAddress 数据只存在于字节码层面,与编程语言无关,也就是说,我们在 Java 语言中是不会直接与 returnAddress 类型的数据打交道的。returnAddress 类型的值是指向字节码的指针,不管是物理机还是虚拟机,运行时内存中的数据总归可分为两类:代码,数据。对于冯诺依曼结构的计算机,指令数据和数值数据都存储在内存中,而哈弗结构的计算机,将程序指令与数据分开存储。对于 JVM 来说,程序就是存储在方法区的字节码指令,而 returnAddress 类型的值就是指向特定指令内存地址的指针`。

    3  Python中的变量类型

    在Python中一切皆对象,无论什么样的变量保存的都是数据的引用地址。因此在Python中命名变量时不需要强调类型,因为所有的变量存储的都是内存地址。

    4 Python与java比较

    1. java中的变量分为主数据类型,Python中的变量全是引用类型。

    2. java中变量需先声明类型,可以先赋值后引用,且主数据类型的大小固定。Python中的变量无需声明类型,但是创建时必须先赋值。

    3. Python中为了提高性能对一些常用的不可变类型数据采用缓存机制。

    java中没有类似的机制,每个新创建的变量都是不同的内存空间。

    相关文章

      网友评论

          本文标题:java基础02-变量:Python与java中的变量异同总结

          本文链接:https://www.haomeiwen.com/subject/xzcrlhtx.html