ramfmy
云计算爱好者V
2016-08-11 09:09

java的内存问题(堆,常量池)

10

刚开始学java,今天遇到三个不太懂的地方,问题是这样的:

问题一:
堆中的方法区是用来存放类的信息,其中包括方法代码(比如study()方法)。
老师说,新建的对象的方法是使用指针指向方法区类的方法代码,那么如果用这个类新建两个对象,两个对象中的study()方法都是指向方法区的同一个地址吗?

问题二:
常量池中如果已经存在某一个字符串了(如"java"),那么再新建一个变量,为它赋值为"java",那么这个变量是不是指向之前已经存在的那个"java"的地址?这样如果常量池中有很多常量,每次新建时程序都要去常量池挨个寻找吗?会不会太麻烦。

问题三:
java中可以像C++中一样打印某一个变量的地址吗?

谢谢。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答