如果 Java 不支持指针,那么它如何记录保存数据的内存位置?

达曼德拉·阿格拉瓦尔

C 和 C++ 等编程语言使用指针,但 Java 出于安全原因不使用它们,那么它如何记录 C 中使用指针维护的动态分配内存?

Java 确实有指针。假设你有一个类A与属性x具有setter和gettervoid set_x(int)int get_x()和考虑以下代码:

public static void foo(A a)
{
   a.setx(13);
}

public static void main()
{
    A a = new A();
    a.setx(12);
    foo(a);
    System.out.println(a.getx());
}

这将打印,13因此它确实是一个指针。但是,您不能像在 C 中那样声明一个指针并让它自由地指向它。也不能进行指针运算。

Java 虚拟机内部有很多指针,但它们不会暴露给程序员。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果Java不支持参数化类型数组,那么Arrays.asList()如何与它们一起使用?

如果服务器不支持SSLv3,为什么Java SSL套接字连接会严重失败

如果我的主板不支持,如何启动Android Simulator

如果Android是Linux发行版,那么Ubuntu为什么不支持.apk文件?

如何给定的,如果条件是给在java中真

如何更换在Java中,如果很多的声明?

如何使用Java锁定文件(如果可能)

如果死于脚本,如何启动Java进程

如果asp.net mvc不支持页面加载事件,那么在mvc中我们应该如何处理页面laod事件

如果我有Java / C ++背景,那么“ Scala中的思想”?

如果以下语句在堆上不存在,那么它放在内存中的什么位置?

如果Windows 7不支持WSL,那么“基于UNIX的应用程序子系统”是什么?

如果编程语言不支持方法重写,那么程序员可能会遇到什么不便?

如果字符串以 java 结尾,则删除它

Java:自动“抛出”声明:是,如果是,它的价值是什么?

在Java流减少。如果

如果项目* in *数组java

如果不是Java

java,如果操作并返回

如果静态方法不能被覆盖,那么它在这里如何工作(对于Java)?

如果不支持 WebM,则使用 jQuery 隐藏视频

Angular 2如果不支持浏览器,如何显示警告页面

如果用户使用的是Twitter Bootstrap不支持的浏览器,如何显示div

如果浏览器不支持原生 Promise,如何将微任务排队?

如果光标不支持列表切片,如何遍历查询结果Flask-Mongoengine

如果不支持嵌套类型,如何定义可为空的类型

如何找到所有SSE指令的列表?如果CPU不支持SSE,会发生什么?

在Java中,如果发生异常,如何设置返回类型?

如果Sun不响应,如何成功打开Java错误?