回覆列表
-
1 # 幣特賺哥
-
2 # 深圳高大膽
bug 一種是語法錯誤,一般編譯工具都能發現,還有一種就是業務bug,程式沒有按照預想的結果執行,這就很複雜了!不是幾句話能說明白的!
-
3 # 裸奔的攻城獅
空指標是java丟擲異常的一種方式,目的是透過這種方式讓app的錯誤盡小的留在app內,而不影響系統的執行
相關內容
- 本人三本畢業,0計算機基礎,想學java,做程式設計師。報培訓班靠譜嗎?
- 百戰程式設計師大學生java入門高淇Java300集影片,學完之後基本處於一個什麼階段呢?怎麼樣?
- 對於一個java程式設計師來說,深入瞭解迭代器的概念重要嗎?
- 想學Java程式設計師,不知道網路上的教學影片有用沒有?
- 31歲java程式設計師被公司嫌老,你怎麼看?
- 新入職的JAVA程式設計師剛入職一個月,完全看不懂公司程式碼怎麼辦?
- java程式設計師,公司框架太智慧會不會削弱程式設計能力?
- 為什麼做java開發的公司需要那麼多程式設計師?
- 做Java程式設計師是怎樣一種體驗?
- JDK 16釋出了,Java程式設計師你的學習還跟得上嗎?
樓主說的讓程式設計師早點發現bug只是這個理念設計的一種解決方法,但不是最終的目的。
個人覺得這樣設計的原因有幾個:
1.減少無用的程式碼量。有了空指標,後面的程式碼都行不通了,增加了很多沒用的程式碼量。而且這樣在底層邏輯是不通的。
2.空指標null是找不到執行的變數的地址的。java的類有點像c語言的動態變數。變數名佔用四個位元組,這四個位元組儲存著實際引用的頭地址。變數名只是宣告引用的地址是什麼型別的變數,因為型別不一樣,位元組長度也不一樣。不管是取值還是呼叫方法都是從變數名引用的地址呼叫。如果現在你變數名裡沒有引用,那你去執行哪塊記憶體的方法呢?
3.不從程式碼角度講,邏輯上來講 。比如 ,你用null來做事情,往下走你的邏輯,很長一段的邏輯 有什麼意義麼? 沒有任何意義,從開始我就知道 ,你的所有的邏輯最後返回的就是null 那你寫那些幹嘛?
或者換個角度來講 ,null+邏輯程式碼=null 。所以你的邏輯程式碼從某些方面來講也是null。