程序语言基础知识:Java引用与C指针的区别
来源:互联网 发布:淘宝关注最多的店铺 编辑:程序博客网 时间:2024/05/17 02:40
首先, 在Java中, 不存在引用传递(也就是地址传递)一说, 全部都是值传递, 自然, 在使用对象时实际上都是使用的引用
Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于使用早已臭名昭著的"GOTO"语句。Java放弃指针的概念绝对是极其明智的。但这只是在Java语言中没有明确的指针定义,实质上每一个new 语句返回的都是一个指针的引用,只不过在大多时候Java中不用关心如何操作这个"指针",更不用象在操作C++的指针那样胆战心惊。
非也,基本类型数据存放在Stack中,存放的是数据。而产生对象时,只把对象的reference存放在stack中,用于指向某个对象,对象本身存放在Heap中。文交所行情http://www.1ubk.com/quotation/overview/
还有, 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。另外,依赖于具体的编译器/JVM,局部变量还可能得到进一步优化。
从实现上来讲,引用可以理解为一种受限的指针,引用底层可以采用指针来实现,也可以采用句柄的方式实现。早期jvm一般采用句柄的方式,现在的jvm,比如sun的,IBM的,一般就是用指针来实现。
不过从语言的角度来将,没有必要把java的引用和C的指针来比较。
指针是可以进行与整数做加减运算的,两个指针之间也可以进行大小比较运算和相减运算。
引用不行,只能进行赋值运算。
当然有区别
A a=new A();
你可以 a=a+1;吗? 指针就可以
1 0
- 程序语言基础知识:Java引用与C指针的区别
- C、C++基础知识之 引用与指针区别
- 【C/C++】指针与引用的区别
- 指针与引用的区别 (MoreEffictive C++)
- C/C++ 指针与引用的区别
- 【C++】指针与引用的区别
- 引用 与 指针的区别 -- C
- C语言---指针与引用的区别
- C中指针与引用的区别
- C/C++ 指针与引用的区别
- c中指针与引用的区别
- java引用与C指针的异同
- 【C++】指针&引用的区别
- 指针与引用的区别
- 指针与引用的区别
- 引用与指针的区别
- 指针与引用的区别
- 指针与引用的区别
- 推箱子
- H5笔记1-本地存储localStorage
- 懒加载——网页图片的加载技术
- 如何利用matlab进行频谱分析
- java创建文件和目录
- 程序语言基础知识:Java引用与C指针的区别
- WebStorm2016.1 破解 激活
- String.format()用法
- 冒泡算法
- cookie,session 和AJAX
- 每天laravel-20160728| Genaerator command-6
- 批量删除
- 内存管理:_CrtDumpMemoryLeaks和_CrtSetBreakAlloc
- svn命令行使用总结(转载集合)