什么是句柄??

    句柄就是指针的指针。

    学习windows编程的时候总是会接触到一个名词叫做句柄,这个词曾经困扰了我很久,始终不能理解对象的标识这个东西,知道前两天看了java的一本书,介绍java里边的引用实现手段,提到了句柄,这才明白句柄相对于指针存在的意义。

    说简单点,句柄就是一种指针,也就是一块内存区域,存放对象的地址。但是这个句柄指针是由操作系统统一管理的。它的必要性就在于,操作系统中的对象地址是会发生变化的,比如windows内存不够用的时候,系统会将一部分内存中的对象移动到硬盘上,称之为虚拟内存。这在java虚拟机里边尤其重要,因为java有一个内存回收的过程,这个过程会涉及到对象的移动,为了不影响原来程序中指针的指向,就提供了这么的一个第三方的指针,称之为句柄。

   所以概括说来:句柄就相当于一个第三方,由操作系统维护的一个指针,它存在的理由是对象的地址会被改变,而程序员不需要对这种改变负责,只需要对句柄负责就可以了。


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值