Java工程師多年之後看指標

coderlwz發表於2024-09-06

指標是基本資料型別,佔用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 arrays pointer.

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

}

有關指標的書籍 市面上有很多,閱讀過《C 和指標》。外國人的技術一般都是走 前面,資歷較老的工程師寫出來的書籍 一般學生或者是沒有很多年工作經驗的工程師眼裡有理解難度。大學的時間比較充裕,有印象就是一種很好的效果。

相關文章