Java引用与C指针有什么区别


来源:亿速云


作者:小新

今天小编给大家分享的是Java引用与C指针有什么区别,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

Java引用与C指针的区别如下:

1、现象

指针在运行时可以改变其所指向的值(地址)即指向其它变量,而引用一旦和某个对象绑定后就不能再改变,总是指向最初的对象。

2、编译

程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名以及变量所对应的地址。

指针变量在符号表上对应的地址值为指针变量的地址值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变,因此指针可以改变指向的对象(指针变量中的值可以改),而引用对象不能改。

c语言指针和java引用 java的引用与c指针的区别_符号表

3、类型

引用其值为地址的数据元素,Java封装了的地址,可以转成字符串查看,长度可以不必关心,C指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int

4、内存占用

所占内存:引用声明时没有实体,不占空间,C指针如果声明后会用到才会赋值,如果用不到不会分配内存

5、内存溢出

java引用的使用权限比较小,不会产生内存溢出。C指针是容易产生内存溢出的,所以程序员需小心使用、及时回收。

以上就是Java引用与C指针有什么区别的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!