2013年2月28日 星期四

wget網絡下載文件工具

0

wget是一個從網絡上自動下載文件的自由工具。它支持HTTP,HTTPS和FTP協議,可以使用HTTP代理. 所謂的自動下載是指,wget可以在用戶退出系統的之後在後台執行。這意味這你可以登錄系統,啟動一個wget下載任務,然後退出系統,wget將在後台執行直到任務完成,相對於其它大部分瀏覽器在下載大量數據時需要用戶一直的參與,這省去了極大的麻煩。 wget 可以跟踪HTML頁面上的鏈接依次下載來創建遠程服務器的本地版本,完全重建原始站點的目錄結構。這又常被稱作"遞歸下載"。在遞歸下載的時候,wget 遵循Robot Exclusion標準(/robots.txt). wget可以在下載的同時,將鏈接轉換成指向本地文件,以方便離線瀏覽。 wget 非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性.如果是由於網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用。 wget的常見用法 wget雖然功能強大,但是使用起來還是比較簡單的,基本的語法是:wget [參數列表] "URL" 用""引起來可以避免因URL中有特殊字符造成的下載出錯。 下面就結合具體的例子來說明一下wget的用法。     1、下載整個http或者ftp站點。     wget http://place.your.url/here     這個命令可以將http://place.your.url/here 首頁下載下來。使用-x會強制建立服務器上一模一樣的目錄,如果使用-nd參數,那麼服務器上下載的所有內容都會加到本地當前目錄。     wget -r http://place.your.url/here  ...

2013年1月24日 星期四

Java Synchronized 筆記

0

Java Synchronized 筆記 最近寫程式遇到各個 Thread 之間共用資料保護的問題,做了點功課,寫下一些小筆記。 簡單介紹 Synchronized使用時,需指定一個物件,系統會Lock此物件,當程式進入Synchrnoized區塊或Method時,該物件會被Lock,直到離開Synchronized時才會被釋放。在Lock期間,鎖定同一物件的其他Synchronized區塊,會因為無法取得物件的Lock而等待。待物件Release Lock後,其他的Synchronized區塊會有一個取得該物件的Lock而可以執行。 各種用法 1. Synchronized Method synchronized public void syncMethod() { … } 此種synchronized用法鎖定的物件為Method所屬的物件,只要物件被new出超過一個以上的Instance,就有可能保護不到Method內程式。但如果此物件只會被new出一個Instance,譬如new出來後就放到ServletContext,要用的時候從ServletContext中拿出來執行,就可以避免此情況。 2. Synchronized Static Method synchronized static public void syncMethod() { … } 此種synchronized用法鎖定的物件為Method所屬的物件的Class,不管被new出幾個的Instance,都能夠保證同一個時間只會有一個Thread在執行此Method。 3. Synchronized(this) public void syncMethod() { synchronized(this) { … } } 此種synchronized用法與synchronized...

2013年1月15日 星期二

Java Class Libraries - Time (Alvin API)

0

# import java.util.*; public class Timer { public static void main(String args[]) { // create start and end calendar objects Calendar sTime=Calendar.getInstance(); Calendar eTime=Calendar.getInstance(); // now set times -- add routines to get from sio or file // be sure to verify times are in range !! // adjust times for early start and late finish sTime.set(Calendar.HOUR_OF_DAY,8);sTime.set(Calendar.MINUTE,0); eTime.set(Calendar.HOUR_OF_DAY,16);eTime.set(Calendar.MINUTE,0); long span=timeSpan(sTime,eTime); // adjust time for lunch hour here long secs=span/1000;long mins=secs/60;long hours=mins/60; System.out.println(hours); System.out.println(mins); } // timeSpan (calendarObject,calendarObject) returns long milliseconds public static long timeSpan(Calendar...

Java Class Libraries - DateFormat (Alvin API)

0

Java Class Libraries - DateFormat # import java.text.*; import java.util.*; public class DateFormat { public static String getCurrencyFormat(double currency , String format){ String pattern = format; DecimalFormat df = new DecimalFormat(pattern); String s ="$ " + df.format(currency); return s; } public static String getCurrentTime(String format){ SimpleDateFormat sdf = new SimpleDateFormat(format); Date d = new Date(System.currentTimeMillis()); String timeStamp = sdf.format(d); return timeStamp; } public static String getToday(String format){ Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat(format); ...

Pages 14« 567891011 »