Java:本身的类和内存使用情况(例如:简单的二叉树实现)?

标签 java memory reference copy

例如,如果我上一个类:

class Node
{
    int myvalue;
    Node myparent;
}

节点“myparent”是对节点的引用,还是该节点的副本?如果它是对节点的引用,这意味着内存量将大约与我拥有的节点总数(包括它们的值)一样多,对吗?或者节点是节点的副本,因此所有节点占用的内存与其深度*(节点占用的内存量)一样多?

最佳答案

Java中所有非原始变量都是引用(实际上是指针)。从文档中可以清楚地看出这一点:

There are, correspondingly, two kinds of data values that can be stored in variables, passed as arguments, returned by methods, and operated on: primitive values (§4.2) and reference values (§4.3).

http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.1

The reference values (often just references) are pointers to these objects, and a special null reference, which refers to no object.

http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.3.1

关于Java:本身的类和内存使用情况(例如:简单的二叉树实现)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43458754/

相关文章:

c++ - 成员变量作为引用

java - 如何使用 String 和 Scanner 修复 Switch-case

java - 通过单击按键更改 JFrame 的内容

php - 减少服务器资源和 php 到 C++ 的编译

c - 段错误 11,尽管分配了足够的内存

reference - 在 Rust 中借用和返回可变引用的优雅方式

java - 基本 JSF 2 和 tomcat 6 操作结果导航问题

java - Android 获取当前位置失败

c++ - 堆栈或 BSS 或数据段上的数组最大大小

module - Rust 引用模块