最近寫程式遇到各個 Thread 之間共用資料保護的問題,做了點功課,寫下一些小筆記。
簡單介紹
Synchronized 使用時,需指定一個物件,系統會Lock此物件,當程式進入Synchrnoized區塊或Method時,該物件會被Lock,直到離開 Synchronized時才會被釋放。在Lock期間,鎖定同一物件的其他Synchronized區塊,會因為無法取得物件的Lock而等待。待物件 Release Lock後,其他的Synchronized區塊會有一個取得該物件的Lock而可以執行。
sunspirit 發表在 痞客邦 留言(0) 人氣()
轉貼至:http://jeffreyjc.pixnet.net/blog/post/13970514
Browser 中的 applet 其實就是 Browser 把 class(jar) download 下來後,再啟動 java 去執行 download 下來的程式,但因為從網路上 download 程式碼來執行是很危險的事,所以 java 一開始就把這一部分的安全設計得很嚴密。java在執行時有兩種模式,一種是有啟動 Secuirty Manager,另一種是沒有啟動 Secuirty Manager 的,一般寫程式在自己電腦上執行是沒有啟動 Secuirty Manager 的,這個情況下不論程式寫什麼,java 都會照著執行 (像是把自拍照傳給別人之類的), 因為程式是你寫的,不需要還讓你綁手綁腳的。但其實如果你怕一時手滑把自拍照傳出去,或是你用到其他人寫的 library 而你並不信任他,那其實還是可以把 security manager 給打開(加上 vm 參數 -Djava.security.manager),你就會發現你就像被關在 applet 裡一樣失去辦事的能力了。所以到這裡你就可以了解 applet 會有這麼多限制並不是因為他是 applet,而是因為 Browser在執行他的時候是開著 security manager 的。
sunspirit 發表在 痞客邦 留言(0) 人氣()
本文轉貼至http://tw.myblog.yahoo.com/eoda227/article?mid=544&prev=551&next=499
使用 jconsole 來監視 Java 程式使用資源 最近的專案都需要使用Java來開發程式,在Java程式開發中需要一些java程式debug與性能調整方面的工作,jconsole是jdk內建的工具比較好用。
sunspirit 發表在 痞客邦 留言(2) 人氣()
讀取的檔案為UTF-8編碼
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(outputPath),"UTF-8"));
sunspirit 發表在 痞客邦 留言(0) 人氣()
以下文章轉貼至:http://isochen.pixnet.net/blog/post/25668746
以前電腦剛開始發展時,每一個國家都各自發展自己的文字系統,所以就會有中文系統日文系等,可是大家在發展的過程中並沒有相互參考文字在電腦裡的編碼方式,所以同一個碼在不同的地區文字系統裡並不代表同一個字,例如台灣使用big5碼大陸使用gb碼,所以台灣的big5編碼文件拿到大陸用gb編碼系統打開,就是一片亂碼,這個問題在有網際網路以後情況就變得更嚴重,所這時就有一個單位www.unicode.org,就提出一個構想,就是何不把全世界的文字作一個統一的編碼,讓全世界的電腦都可以用,如果這樣的話,就不會再發生中文的文件拿去日本的電腦打開是亂碼的情況,這就是unicode了,現在unicode編到第8代,就utf-8
sunspirit 發表在 痞客邦 留言(0) 人氣()