关于句柄的概念
???????身為新入行的萌新,作者在學習汽車網絡測試工程時,發現了句柄這個玩意,多方搜索,總結以下內容,錯誤之處請指正:
1、什么是句柄?
???????句柄(Handle)是一個是用來標識對象或者項目的標識符,可以用來描述窗體、文件等,值得注意的是句柄不能是常量—引自科學百科
???????通過參考網上各路大神的解釋,個人認為:句柄就是健康碼,它的作用就是讓你找到所需的對象去到了何處,因為你始終都可以根據健康碼找到對象的所在地,然后找到對象給他做核酸檢測。健康碼(句柄值)是國家(操作系統)分給你的,你沒有自定義的權利。
???????在操作系統中,我們想要操作一個對象,就要知道它的地址,但是對象的內存地址總是變化,因為在windows系統中的內存管理一般會將當前處于空閑狀態的對象的內存釋放掉,當需要訪問的時候再重新提交分配物理內存,從而導致對象的物理地址是變化的。此時windows就搞了一個玩意—句柄,句柄用來管理對象的地址(句柄表),不管對象的地址如何變化,我都可以通過訪問句柄來拿到對象的實時地址,進而操作對象。句柄值是操作系統給的,你不能定義。
2、句柄與普通指針的區別?
?????指針指向系統中物理內存的地址,而句柄是windows在內存中維護的一個對象內存物理地址列表的整數索引,句柄是一種指向指針的指針。也就是管理指針(內存地址)的工具。
?????句柄的作用范圍也是存在局限性的,你只能用句柄最終調用到對象,并作一些系統允許你做的事情,但是你拿到指針的話就能干任何事情了,比如破壞對象。當然,句柄的優點也是顯而易見的,句柄很明顯更方便管理,部分場景處理對象時比指針快。
本文目的在于為各位初學者解釋兩者區別,更多的知識可翻閱其他博主的文章,感謝。
建議閱讀:
https://blog.csdn.net/swordarcher/article/details/81744930
https://blog.csdn.net/macrossdzh/article/details/4588681
總結
- 上一篇: 几个免费的IT技能学习视频网站
- 下一篇: jade选峰之后怎么去掉_教程丨用Jad