关于Java中指针的探讨

原创 2016年08月29日 14:13:37
引用和指针还是差别的。
C中的指针还可以进行运算,比如p++,但Java中的引用绝对不可以。

java内部有,比如对象内部有指向方法的方法指针等,但java中不能直接操作指针,把指针的操作封装了,比如封装成引用,所以java的地址操作更加安全。

java的引用明明和指针没什么本质区别,java为什么还宣称没有指针并把这个当作语言的优点? 
java声称没有指针,但给我的感觉是根本所有变量都是指针在控制,只不过很多指针的功能被限制了,这怎么能算没有指针呢?

java的引用是c/c++用指针实现的,但不是说java语言本身需要指针。
为什么java语言要用c/c++来实现?因为这个语言是我们用的冯诺依曼结构计算机的直接映射。
为什么可以不用c/c++?因为我们的应用可以跑在抽象结构上,这个结构上不需要指针。
还有不需要指针的结构吗?当然,丘齐体系。
还有用c/c++(包括指针)实现的其他无指针的语言吗?当然,python,haskell,ocaml。

补充:忘了说一句,指针在冯诺依曼结构上直接映射的是间接寻址(什么是间接寻址?)

1: java有指针,在java中称为 引用。 所谓的引用就是内存地址的值。拿到该引用就相当 于得到了该内存处的对象。

2: java中可以使用指针(我们称之为引用),但不能修改引用。  如C++中可以 进行pointer++; 在java中是错误的。(Integer,Float等包装类除外,因为java有自动封箱、解箱特性)。  这就好比:在java中可以坐飞机到指定的目的地,但是你不能开飞机(安全)。但是在C++中可以自己开飞机(操作飞机)--具有危险性。


它没有显式的使用指针,其实Java语言内部的实现机制来说是肯定有指针的,用不用一样东西是看有没有必要去用。Java是一个纯面向对象的语言,基本上来说,程序员不需要关心内存的分配与释放的操作(jre、虚拟机帮忙做了),既然不关心内存那么没必要引入指针这么种相对复杂而容易重大错误的一种形式。其实Java里边充斥着引用的说法,从某种角度上说,引用就是指针的简化版。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java中的对象类型的引用到底是不是指针

初学Java,感觉引用和c中的指针很像,特此学习,mark一下 原文详见:http://blog.csdn.net/linyt/article/details/1573864 先放结论:可以认...

如何用Java实现类似c/c++指针效果

如何用Java实现类似c/c++指针效果        JAVA作为一门类C语言,已经得到大家的青睐,许多人问过我Java是否也可以用指针,当然这主要是因为他们觉得有了指针,可以省去对象调用的麻烦,...

JAVA里面的“指针”

众所周知,在java里面是没有指针的。那为何此处还要说java里面的“指针”呢?我们知道在C/C++中,指针是指向内存中的地址,该地址就是存储变量的值。该地址所存储的变量值是“公有”的,此处的“公有”...

Java 对象、引用和指针

在前面PersonTest.java代码中,有这样一行代码:Person p = new Person(); 这行代码创建了一个Person实例,也被称为Person对象,这个Person对象被赋给...
  • OREO_GO
  • OREO_GO
  • 2016年05月13日 21:02
  • 2288

Android Studio自动生成带系统签名的apk

如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如: [html] view plain copy   pre>p...

【框架解析】Hadoop系统分析(四)--namenode regular

hadoop namenode -regular 正常启动NameNode服务,regular是默认参数用于启动服务,如果不带参数直接执行hadoop namenode,也是进入regular运...
  • shorn
  • shorn
  • 2012年08月20日 17:26
  • 1627

java的引用和C语言指针的探讨

首先在C语言中,函数的内存都是分配在栈中的,当该函数执行完之后,该函数所占用的内存就会被回收掉C语言有跨函数使用的一种功能,而实现这种功能的就是指针。这种功能的优点是使用malloc函数来进行动态分配...

java的引用和C语言指针的探讨

首先在C语言中,函数的内存都是分配在栈中的,当该函数执行完之后,该函数所占用的内存就会被回收掉C语言有跨函数使用的一种功能,而实现这种功能的就是指针。这种功能的优点是使用malloc函数来进行动态分配...

java_指针_数组的

  • 2014年05月31日 15:25
  • 3KB
  • 下载

基于java swing的指针时钟

  • 2015年03月05日 14:47
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Java中指针的探讨
举报原因:
原因补充:

(最多只允许输入30个字)