2012年12月27日 星期四

(暫存) 穿透 NAT 進行溝通的方法:NAT Traversal

目前查到的關鍵字似乎是「NAT Traversal」、「STUN」。
另外在網路設備方面還有微軟的 uPnP、蘋果的 NAT-PMP 也都是要解決 NAT 穿透問題的協議。

參考資料:
1、NAT Traversal with Java
2、Wikipedia:NAT Traversal
3、STUN
4、NAT Traversal, part 0
5、[筆記] NAT Traversal and Peer to Peer
6、VoIP穿墻術:互動式連接建立草案
7、P2P端口映射 UPnP功能和使用详解
8、UPnP:自動化網路設定(PDF)
9、Wikipedia:NAT Port Mapping Protocol
10、uPnP Port Mapper
11、RFC 5245
12、Interactive Connectivity Establishment: ICE

Java 的 Open Source UPnP Libraries:
11、weupnp
12、UPnPLib

2012年12月26日 星期三

浮點數比較

應該很多人都知道,電腦用二進位的方式在表達浮點數時,時常會有誤差值的存在
例如表達數字 100,如果用浮點數表達時,實際上電腦表達的數字,有可能是 100.0000000001 或者 99.999999999 之類的數字。

2012年12月19日 星期三

回復從 eclipse 上刪除的檔案

今天手殘把程式碼刪掉,用檔案救援軟體掃了半天也掃不到被刪掉的檔案
後來去 Google 發現了 [1],好不容易把檔案弄回來了!
看來 eclipse 上面的刪除,可能不是真的把檔案刪掉,也許是把檔案藏到不知道哪裡去吧..

回復的方法:
在專案上點右鍵 → 選擇「Restore from Local History...」 → 選要回復的檔案。


參考資料:
1、How to recover a deleted file in Eclipse

[轉錄] Java程式設計中“為了性能”需做的26件事

轉錄文~有些大家都在說的事情,還有可以想像會有問題的事情,但也有些不太直覺的,也許可以找個時間真的做一下測試看看。

2012-12-24 補充:
針對第 13 點,也許可以參考看看 [2],好像有些人說會有差,也有些人說 JVM 自己會解決差異。
我自己在我的電腦上做的測試,感覺上好像是差不多....但也許是我測試的方法不對?

2012年12月14日 星期五

2012年12月10日 星期一

[筆記] JDK 效率比較:Collection

在看 [1] 這本書時,覺得有些東西應該先寫下來
並且書上的比較方法我覺得還可以換點不同的圖表做比較~
所以花了些時間把書上的統計數據抄錄出來,用 Excel 畫了別的圖。

2012年12月6日 星期四

final 變數的垃圾回收

今天被問到 final 變數被回收的時機,我的想法是應該跟一般變數是一樣的
不過還是去查了一下,從 [1-3] 的討論看來,我的想法應該是沒錯。