Java異常的奇怪問題

不知道有沒有同仁遇到過這樣的一個奇怪的問題
調試把斷點打到throw e;這一行的時候 程序居然跑到catch (Exception e)這一行去了

這個貌似比較正常, 就像你把斷點打在 } 上一樣,調試時也會偏移的。
 還有, 我 還是第一次看見 throw e; 這樣的寫法。

你自己throw的自己捕獲。。。這現象是正常的吧

程序不是這樣處理的 是要封裝異常 只是在catch裏面把封裝的異常向上拋

連續修改-調試導致混亂了?
如果把調試器中所有斷點先remove掉,然後再重新設斷點在那行上試試?

應該就是這個原因,那個顯示的紅線什麼的“斷點線”所在文本行數沒能完全同步上代碼的修改

連接請求的最大隊列長度,注意不是請求的最大數,如果請求沒有當時處理,就會放入隊列中,如果隊列長度超過設置的值就會拋異常:java.net.ConnectException: Connection refused: connect

通俗地說,就是最大連接字長度。Socket能監聽端口上的隊列消息,但是如果指定了backlog的話,就會對連接字的長度進行校驗,長於最大長度的話,就拒絕該連接。

LZ把需求說清楚點,你1.txt的內容格式和往2.txt中寫的內容

如題,如何從一個表中查詢最新的來自不同地區的四條記錄

不過想問清楚樓主,表中是否有一個字段記錄數據插入時間?還是用系統自動記錄?

就是一個表中的記錄有region字段還有time字段,還有別的,我要從中查詢時間最新的四條記錄,但這四條記錄要來自不同地區,可能按世界排序後前三條最新的都是來自一個地區(例如北京),但是隻取第一條,然後再取別的地區的最新的

我想到了呀,但是裏面的地區很多,就是分很多組,我怎麼取出裏面有最新記錄的那個組呢,反正一條語句我沒寫出來,您能幫我寫個查詢語句嗎我還想試試,能不能把那個建表語句和初始化數據給我呢?
如果是oracle,需要使用rownum或者按樓上有位童鞋的使用row_number()分析函數!

謝謝你啊。我用的是SQL SERVER 2005 ,我用一個sql語句沒寫出來,我就分開做的,先查詢出該表中的所有的地區,再找出每個地區中時間最新的一條記錄,然後又將這些記錄排的序,我是接手了師姐做的東西,很多東西我不會,我剛剛讀研
使用EJB的時候遇到一個問題,因爲系統比較老 用得的都是xml配置的 
有兩張表:A,B
是原本的想法是A中的a字段update後,B表中的b字段根據A中更新a字段的數據做update
但是執行此方法 2個update好像是同時發出,所以B中的字段沒有upadte 只有A的會變化
 貌似不是commit不commit的問題吧,是不是你DetailDao.updateB裏面的邏輯判斷導致數據庫本身就沒有被更新。
不慣怎麼着,容器管理的事務應該是沒問題的。看看你裏面的邏輯判斷 是不是不滿足更新的條件。

謝謝你的回覆,第一次updateA是有成功,而第二次updateB失敗
所以我把log裏面的sql貼出來跑的話,
如果不執行完一條commit一次 也會出現我所述的情況,
但執行第一條,commit,再執行第二條 就正常了,
因此我纔會往CMT的commit的方向猜,
其實修改一下可以解決 因爲原來的邏輯分析一下本來就欠妥···
同一個method裏面 不應該讓另一個update的結果依賴於上面的update的結果。。。
我只是比較好奇這個問題,希望能搞明白~

可能是你的DAO中採用了連接池,在這裏DAO兩個方法使用了兩個不同的連接。
而在oracle中,如果第一個會話(體現在這裏就是第一個連接)不commit的話,其他會話(在這裏就是第二個連接)是看不到它的更新的。
其他數據庫是什麼樣子的我不知道。

所以,如果你要實現這樣的事務,就得保證你的DAO裏面,兩個方法使用的是同一個連接會話(中間不能有connection.close把連接放回連接池)。我看你這裏是兩個dao中的方法,所以才如此猜想。。。
好像你理解有些偏差···我本意是想讓它成爲2個事務,這樣第一次做的update 才能爲第二次做的可見
我想的是 我的配置有問題 只讓Impl裏面的method讓容器管理
而Dao裏面的並沒有 但實際上做update是由Dao裏面的method來控制 
第一次update,此時還未提交 第二次update的時候看到的是髒數據
來源:nba直播
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章