前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java工程师多年之后看指针

Java工程师多年之后看指针

原创
作者头像
coderlwz
发布2023-02-16 12:56:11
1900
发布2023-02-16 12:56:11
举报
文章被收录于专栏:Java技术详解

指针是基本数据类型,占用4个字节。Int 类型的 数据在计算机处理语言中是处在中间层。使用图形化方式可以这样更形象直观。

计算机对二进制处理数据的方式比较敏感。现在人们的大脑计数方式是通过十进制的方式计算日常和工作中需要的业务。操作符的限制,才增加了十六进制机制。数字和字符组合成十六个数字,表示的数据信息量更大。计算机CPU 从32 位 到 64 位的进步也是日常数据处理需求产生的效果。

计算机只能认识1和0。指针的概念在在计算机的课本中是从西方翻译过来的专业术语。学习C语言的时候,大学生一开始是很难理解指针pointer 的概念。指针是整型数据,存放在计算机的栈 stack 里。CPU 中央系统处理器是单晶硅,和晶体管的作用一样,大量的集成电路使得它不断地升级变成微处理器。操作系统是对栈stack 是 自动分配回收,大小只有2M 或者是 4M 。指针存放在计算机运行内存的栈里。

指针pointer 是指向计算机随机访问内存中的堆 heap 中的某块存储区域。这块存储区域就是堆表。堆表管理着堆块的索引,这些索引就是堆指针。

指针的一些概念也是很难理解。操作符 & 和 * 在 C/C++编程领域存在的频率很高。作为参数变量,void customerFunc(char & tempPointer); ,void customerFunc(char * tempPinter);。这两个函数的参数都是指针,也可以称之为指针变量。变量是记录指针数据的别名alia。Java在指针之上做了封装,删去了指针取值操作符 * 和指针取地址操作符 & 。char & 和 char * 都是Java中String 形式参数变量的原型。它们两个的最大区别就是一个single 和 多个multiple 的区别。一个字符是Character ,多个字符是Charsequence 。

C with a class ,基于面向对象类的C,过渡到后来80年代的C++程序设计语言。C++程序设计语言可以设计很多大型的软件,桌面软件,工具软件。操作系统以及驱动软件都开始使用C++进行编写。C++是学习难度,但是性能都是基于C程序设计语言考虑和承接过来。C++程序设计语言保留了C程序设计语言中大量的关键字和操作符,很大的区别是面向对象思想的开发团队的组建。C++可以做更大的项目,处理更复杂的逻辑。

指针pointer放在函数形式参数中是上面的写法,但是作为函数体中的局部变量也是同样的作用。

void testFunc(int & testTempSinglePinter ){

char* nameStr=”wanzhong liao”; // in java means String , in C/C++ means string array’s pointer.

char& nameStrArrFirEle=’c’; // in java means character, in C/C++ means String array’s first element pointer.

}

有关指针的书籍在市面上有很多,阅读过《C 和指针》。外国人的技术一般都是走在前面,资历较老的工程师写出来的书籍在一般学生或者是没有很多年工作经验的工程师眼里有理解难度。大学的时间比较充裕,有印象就是一种很好的效果。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云硬盘
云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档