美文网首页
Java中的"指针"

Java中的"指针"

作者: 超级小江 | 来源:发表于2017-09-11 20:53 被阅读10次

    Java语言有一个优点就是它相对其他编程语言(例如C语言)摒弃了指针的数据类型,但是否真的摒弃了还得仔细研究一下java的内部机制。

    Java中的堆栈

    Java堆栈都在Ram中,与其他一些语言不同的是这些堆栈一部分是由Java中的JVM通过算法自动管理,方便了许多。

    Java中当一个方法执行时,会建立相应的内存栈(栈是一段连续的内存空间),里面存放的是方法中的基本类型的变量数据和对象的引用变量

    当Java执行new语句时会建立相应堆内存(堆是一片随机的内存空间),里面存放new出来的对象

    Java中的"指针"就是这两个内存区域通过变量映射出的对应关系。

    之前说开辟栈内存中,里面存放的数据类型有基本类型的变量数据和对象的引用变量,这个引用变量就是"指针"

    public class TestObject{
          public TestObject(){
            System.out.println("Hello World!");
      }
    }
    
      public class Test{
          public static void main(String[] arge){
                  int a=10;
                  TestObject testObj = new TestObject();
      }
    }
    

    上述代码的内存分配为

    testObj就是Java中的“指针”,它指向堆内存中一块为TestObject对象随机分配的一片内存空间的地址,从而达到一种引用效果,这就是Java中的引用类型。

    相关文章

      网友评论

          本文标题:Java中的"指针"

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