最近遇到一個有趣的.net 2.0程序死鎖問題,一般來說.net死鎖問題都是應用程序顯示的請求鎖的過程出現鎖訪問順序不一致導致的,但是本文中這個死鎖則相對較為隱晦,隱藏的很深。 調試過程 .net的死鎖我們可以通過sos.dll提供的syncblk來查看sync block來發現那些線程擁有鎖 ...
最近遇到一個有趣的.net 2.0程序死鎖問題,一般來說.net死鎖問題都是應用程序顯示的請求鎖的過程出現鎖訪問順序不一致導致的,但是本文中這個死鎖則相對較為隱晦,隱藏的很深。 調試過程 .net的死鎖我們可以通過sos.dll提供的syncblk來查看sync block來發現那些線程擁有鎖 ...
前陣子有一個網友在群里問了一個關於Oracle數據庫的TX鎖問題,問題原文如下: 請教一個問題: 兩個會話執行不同的delete語句,結果都是刪除同一個行。先執行的會話里where條件不加索引走全表掃描,表很大,執行很慢;后執行的用where條件直接用rowid進行delete ...
這個問題是知乎上的一個問題,看了以后覺得比較有意思。代碼短到只有十多行,但是這么短的代碼卻輸出了很奇怪的結果。很多人回答的時候都是站在理論的角度上說明代碼的問題,但是實際的問題還是沒有說明其中的問題。 問題是“C 語言局部變量,堆與棧的問題 ...
一:背景 1. 講故事 最近因為各方面原因換了一份工作,去了一家主營物聯櫃的公司,有意思的是物聯櫃上的終端是用 wpf 寫的,代碼也算是年久失修,感覺技術債還是蠻重的,前幾天在調試一個bug的時候,看到了一段類似這樣的代碼: 是不是很眼熟哈,或許你也已經多年不見了,猶記得那時候為了能從 ...
最近在debug dubbo代碼過程中遇到的很有趣的問題 我們都知道dubbo ReferenceBean是消費者的spring bean包裝,為了查一個consumer端的問題,在ReferenceBean的父類ReferenceConfig的 T get()方法(140行)打上了一個斷點 ...
隨着面向對象編程的普遍展開,面向對象展現了其中很多有趣的問題。相信很多初學者學習php面向對象時會接觸兩個函數,構造函數與析構函數。構造函數似乎用的更多,析構函數用的較少(相對初學者有限編程經驗而言,筆者也是如此。)在功能上,構造函數在創建對象時調用,析構函數在對象銷毀時調用,都無需特意去調用 ...
今天學習struts中遇到了一個有趣的問題。 問題大致如下: 聲明一個value object的arrayList對象,然后從數據庫中讀取想添加到該list對象中,結果后來添加的對象覆蓋前賣添加的對象。起初代碼如下(后來寫的測試代碼): 在while外面聲明一個 ...
一個有趣的二維碼污損問題 問題如下: 下面這個被污損的二維碼中,存儲的信息是:() 其實二維碼中間的小黑點部分,擁有大量的冗余,一般程度的變形和污損是不影響識別的,最影響識別的是三個大方框,因為它們起定位作用。了解了這樣的知識,只要打開畫板,把缺失最厲害的那個大方框補齊整,就可以 ...