ZT文萃

          本博不原創,轉帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          CPU
          CPU好比一個人的大腦,CPU的運算能力就像平時心算,心算速度越快CPU的性能就越好。AMD目前不給力,3A平臺也只能在低端系列拼一拼,高端還是Intel的天下。
          Intel CPU推薦
          賽揚系列:G1610、G1620、G1820
          奔騰系列:G2020、G2030、G3220
          酷睿  I  5:3470、3570、3570K、4670K
          酷睿  I  7:3770、4770、3770K、4770K
          至強系列:E3-1230V2、E3-1230V3
          個人覺得Intel的奔騰和賽揚系列CPU足夠滿足平常辦公、上網、看電影、玩玩小游戲等日常需求了。酷睿系列CPU足以應付目前大多數3D網游和單機游戲,I3目前性價比低,有種低不成高不就的感覺。游戲機還是咬咬牙上I5,不會超頻就選I5-3470、I5-4570。想折騰的就選擇帶K的CPU,比如I5-3570K、I5-4670K。工作設計、高帥富土豪類直接上至強和I7系列不糾結,在土豪面前毫無性價比可言,玩得爽才是王道。
          說明一下:CPU盒裝和散片的差別在于是否是正規的質保,原盒是3年質保,而散片(無散熱器,就一個CPU)大多是店鋪質保一年。

          散熱
          個人認為原裝的散熱基本上能夠滿足需求,當然如果你買的是散片CPU不妨多花點錢,無論從散熱還是噪音方面都有不錯的提升。
          CPU散熱推薦
          九州風神玄冰400、九州風神霜塔、采融B81、利民HR-02M

          主板
          主板好比人體的骨架,能做多少活,能干多大事還需看主板。世界一線主板大廠已被華碩、技嘉、華擎三分天下,微星已被華碩的子公司華擎成功地小三上位。低端不會超頻的用H81/B85主板最佳,高端不差錢又想折騰的直接Z87不糾結,至于具體到那個型號,看自己需求什么樣的功能即可。個人建議直接上華擎各系列,這種BIOS做得NB到爆,價格便宜量又足的屌絲之友去哪找!

          內存
          內存好比人體的神經,把腦和脊髓的興奮傳給各個器官,或把各個器官的興奮傳給腦和脊髓,相當于說內存越大對事件處理的速度越快。個人覺得4G勉強夠用,8G還算可以,12G以上看各人的需求。威剛、海盜船、金士頓、芝奇、宇瞻……品牌比較多就不一一推薦了,不超頻直接網上商城買金士頓。實體店千萬別買金士頓,現在的金士頓假條比以前NB多了,直接連原廠都難分辨,可以選宇瞻或者威剛的。

          顯卡
          顯卡好比人臉化妝,你可以選擇不化妝,也可以去做韓國美女。目前比較出名的顯卡廠商有技嘉、藍寶石、華碩、微星、迪蘭恒進、HIS、映眾,游戲類顯卡競爭最激烈,而且價位又互相錯開,所以說A/N兩大顯卡芯片廠商簡直狡猾到爆。
          N卡低端買650,中低端買650TI,中端買660,中高端買760,高端買770。切記顯卡型號第二位數少于5(不包括5),比如210、430、640等等絕對是垃圾!
          A卡低端買7750,中端買7770或260X,中高端買R270X,高端買R280X。切記顯卡型號第三位數少于5(包括5),比如5450、6450等等絕對是垃圾,另外新系列顯卡R250性價比低也不建議購買。

          硬盤
          大水過后500G和1TB的差價很小了,最好直接上單碟1TB的。希捷西部數據都看臉,個人覺得希捷是慢慢死的,有時間給你轉移數據;西部數據說掛就掛,根本沒給你挽救的時間。SSD本人沒用過,就不在這里吹牛逼了。

          機箱
          機箱好比人的衣服,除了外觀好看外還能保護重要部位。這里就不多說了,說多了都是淚,秀才說不過倔的兵,我直接推薦算了。
          酷冷至尊毀滅者經典U3版、酷冷至尊開拓者U3普及版、恩杰H230、恩杰小幻影、恩杰H2、銀欣烏鴉、銀欣FT02

          電源
          電源好比人體的血液,血液不正常對人體整體的功能都有危害,一臺電腦最重要的是電源,電源功率小了,那么恭喜你,你可以提前給你的設備挖好坑買棺材了。目前市面上的電源都是貼牌貨,沒有好的電源牌子,只有好的電源型號。有條件盡量不要用電腦城4大坑爹之王:航嘉、長城、金河田、大水牛之流的電源,低端電源已被黑出翔,請自行劉東一下“紅星炸彈”,個人建議首選臺系或臺系代工的電源。
          安鈦克VP350P、安鈦克ECO400、安鈦克ECO520、安鈦克TPN550、安鈦克HCP1200,注意安鈦克VP450P是坑爹貨
          海韻S12II-330、海韻S12II-430、海韻S12II-520、海韻S12II-620
          在確定各硬件后,可以去各個官網查看硬件的參數,然后把功耗加起來基本上就是要買電源功率的大小了,至于電源功率余量留多少看各人需求。

          顯示器
          有人喜歡屏幕大,有人喜歡16:10,眾口難調很難作推薦,反正認定三年質保的大品牌顯示器就沒錯。為了大家的視力,請不要選擇18.5、20、21.5這幾個尺寸的顯示器,可以劉東一下“顯示器分辨率”。需要注意的是顯示器尺寸越大標準的分辨率越高,對機器的配置的需求也越高。

          posted @ 2014-03-06 05:32 ZT文萃 閱讀(185) | 評論 (0)編輯 收藏

          http://laohuang.iteye.com/blog/55613

          1.拳頭之Get/Post
          拳頭是最基本的一重武器,也是最重要的,好比練武之人必須先扎穩馬步。

          java 代碼
           
          1. HttpClient httpclient=new HttpClient();//創建一個客戶端,類似打開一個瀏覽器  
          2. GetMethod getMethod=new GetMethod("http://www.blablabla.com");//創建一個get方法,類似在瀏覽器地址欄中輸入一個地址  
          3. int statusCode=httpclient.executeMethod(getMethod);//回車——出拳!  
          4. System.out.println("response=" + getMethod.getResponseBodyAsString());//察看拳頭命中情況,可以獲得的東西還有很多,比如head, cookies等等  
          5. getMethod.releaseConnection();//釋放,記得收拳哦  


          2.孔雀翎之支持https

          如何支持https?
          java 代碼
           
          1. static{  
          2.     Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);  
          3.     Protocol.registerProtocol("https", easyhttps);  
          4. }  

          在執行具體的http method之前,暗中將https協議注冊一把,如孔雀翎暗藏玄機,斃敵于無形。記住,官方的binary發行版本沒有ssl的contribute包,方法一是下載源代碼版本來打造你的孔雀翎。

          3.多情環之cookies
          常道人老多情,其實是記憶太多,所以情之所至,正如cookies甜心,無論你走到那,總把你牽掛:
          java 代碼
           
          1. HttpClient httpclient=new HttpClient();  
          2. httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);//RFC_2109是支持較普遍的一個,還有其他cookie協議  
          3. HttpState initialState = new HttpState();  
          4. Cookie cookie=new Cookie();  
          5. cookie.setDomain("www.balblabla.com");  
          6. cookie.setPath("/");  
          7. cookie.setName("多情環");  
          8. cookie.setValue("多情即無情");  
          9. initialState.addCookie(cookie);  
          10. httpclient.setState(initialState);  
          11. ...  


          4.離別鉤之解構cookies

          多情環的反面即離別鉤,鉤出,敵之身體某個部件即要與身體別離,端的是無情:
          java 代碼
           
          1. ...//執行了某些get/post方法后  
          2. Cookie[] cookies = httpclient.getState().getCookies();  
          3. System.out.println("Present cookies: ");  
          4. for (int i = 0; i < cookies.length; i++) {//循環結構零部件  
          5.     System.out.println(" - " + cookies[i].toExternalForm());  
          6.     System.out.println(" - domain=" + cookies[i].getDomain());  
          7.     System.out.println(" - path=" + cookies[i].getPath());  
          8.     ...            
          9. }  


          5.霸王搶之post參數
          槍,長兵器之王,諸多名將均使一桿或金或銀命名的名槍,比如岳飛。post方法在提交參數對時,猶如靈蛇出洞:
          java 代碼
           
          1. PostMethod postMethod = new PostMethod("http://www.saybot.com/postme");  
          2. NameValuePair[] postData = new NameValuePair[2];  
          3. postData[0] = new NameValuePair("武器", "槍");  
          4. postData[1] = new NameValuePair("什么槍", "神槍");  
          5. postMethod.addParameters(postData);  
          6. ...//出槍吧  


          6.七星碧玉刀之支持代理(proxy)

          代理,非常重要,尤其在局域網橫行的年頭,沒有代理,你在公司上不了QQ,沒有代理,google不了網頁快照,代理之威,可比七星碧玉刀,無刀,在局域網和開發當中,一切白搭:
          java 代碼
           
          1. HttpClient httpclient=new HttpClient();  
          2. httpClient.getHostConfiguration().setProxy("192.168.0.1", 9527);  
          3. httpClient.getParams().setAuthenticationPreemptive(true);//重要!!!告訴httpclient,使用搶先認證,否則你會收到“你沒有資格”的惡果  
          4. /* 
          5.   這一步也至關重要,MyProxyCredentialsProvider實現了org.apache.commons.httpclient.auth.CredentialsProvider接口, 
          6.   返回代理的credential(username/password)*/  
          7. httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, new MyProxyCredentialsProvider());  
          8. httpClient.getState().setProxyCredentials(  
          9.     new AuthScope("192.168.0.1",  
          10.         AuthScope.ANY_PORT, //任意端口哦,可要小心  
          11.         AuthScope.ANY_REALM),//任意域哦,可要小心  
          12. new UsernamePasswordCredentials("username",//proxy的用戶名  
          13.                         "password"));//proxy的密碼  

          ...

          7.長生劍之天下第一
          看httpclient的官方文檔:jakarta.apache.org/commons/httpclient/userguide.html
          看Hilton網友寫的小葵花寶典筆記:www.cnjm.net/tech/article1155.html
          通讀后,你會有種拔劍四顧心茫然的高手感覺。

          七種武器,打完收工!

          posted @ 2014-02-26 18:10 ZT文萃 閱讀(284) | 評論 (0)編輯 收藏

          轉載自:
          http://wallimn.iteye.com/blog/540566

          最近忙于一個項目,了解下httpclient,在這里總結出來,和大家一起學習分享,希望各位朋友提出寶貴的意見。

          首先介紹一下項目的背景:
            目標:把國內一家保險公司的“WEB一賬通”改成“WAP一賬通”。
            資源:客戶不提供任何的webservice接口。
           
          本項目中用到的第三方組件是apache的httpclient,一個非常強大的網頁抓取工具(抓這個字用得可能不太好), 這里和大家
          一起討論下httpclient的一些常用用法和要注意的地方。

          本文引用的資源列表:

            httpclient入門:  http://www.ibm.com/developerworks/cn/opensource/os-httpclient/
            httpclient證書導入:http://www.aygfsteel.com/happytian/archive/2006/12/22/89447.html
            httpclient高級認識:http://laohuang.iteye.com/blog/55613
            httpclient官方文檔:http://hc.apache.org/httpcomponents-client/index.html
            httpclient資源關閉:http://www.iteye.com/topic/234759
           
           
          上面的文章寫得很好,看完之后也就知道怎么用httpclient這個很好的工具了,但是在這里還是補充一些比較重要的東西,也是項目中經
          常碰到的問題。

          首先要注意的有以下幾點:
          1、httpclient連接后資源釋放問題很重要,就跟我們用database connection要釋放資源一樣。
          2、https網站采用ssl加密傳輸,證書導入要注意。
          3、做這樣的項目最好先了解下http協義,比如302,301,200,404返回代碼的含義(這是最基本的),cookie,session的機制。
          4、httpclient的redirect狀態默認是自動的,這在很大程度上給開發者很大的方便(如一些授權獲得cookie),但是有時要手動管理下,比如
            有時會遇到CircularRedirectException異常,出現這樣的情況是因為返回的頭文件中location值指向之前重復(端口號可以不同)地址,導致可能會出現死
            循環遞歸重定向,這時可以手動關閉:method.setFollowRedirects(false)
          5、有的網站會先判別用戶的請求是否是來自瀏覽器,如不是,則返回不正確的文本,所以用httpclient抓取信息時在頭部加入如下信息:
            header.put("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727)");
          6、當post請求提交數據時要改變默認編碼,不然的話提交上去的數據會出現亂碼。重寫postMethod的setContentCharSet()方法就可以了:





           
          下面寫一個通用類來處理request請求返回的文本:
          Java代碼  收藏代碼
          1. /* 
          2.  * HttpRequestProxy.java 
          3.  * 
          4.  * Created on November 3, 2008, 9:53 AM 
          5.  */  
          6.   
          7. package cn.com.mozat.net;  
          8.   
          9. import java.io.BufferedReader;  
          10. import java.io.IOException;  
          11. import java.io.InputStream;  
          12. import java.io.InputStreamReader;  
          13. import java.util.HashMap;  
          14. import java.util.Iterator;  
          15. import java.util.Map;  
          16. import java.util.Set;  
          17.   
          18. import org.apache.commons.httpclient.Header;  
          19. import org.apache.commons.httpclient.HttpClient;  
          20. import org.apache.commons.httpclient.HttpException;  
          21. import org.apache.commons.httpclient.HttpMethod;  
          22. import org.apache.commons.httpclient.NameValuePair;  
          23. import org.apache.commons.httpclient.SimpleHttpConnectionManager;  
          24. import org.apache.commons.httpclient.methods.GetMethod;  
          25. import org.apache.commons.httpclient.methods.PostMethod;  
          26.   
          27. import cn.com.mozat.exception.CustomException;  
          28.   
          29. /** 
          30.  *  
          31.  * @author bird  email:lihongfu-84@163.com 
          32.  * 
          33.  * 2008-11-4  09:49:48 
          34.  */  
          35. public class HttpRequestProxy{  
          36.     //超時間隔  
          37.     private static int connectTimeOut = 60000;  
          38.  //讓connectionmanager管理httpclientconnection時是否關閉連接  
          39.     private static boolean alwaysClose = false;  
          40.  //返回數據編碼格式  
          41.     private String encoding = "UTF-8";  
          42.       
          43.     private final HttpClient client = new HttpClient(new SimpleHttpConnectionManager(alwaysClose));  
          44.    
          45.     public HttpClient getHttpClient(){  
          46.         return client;  
          47.     }  
          48.         
          49.     /** 
          50.      * 用法: 
          51.      * HttpRequestProxy hrp = new HttpRequestProxy(); 
          52.      * hrp.doRequest("http://www.163.com",null,null,"gbk"); 
          53.      *  
          54.      * @param url  請求的資源URL 
          55.      * @param postData  POST請求時form表單封裝的數據 沒有時傳null 
          56.      * @param header   request請求時附帶的頭信息(header) 沒有時傳null 
          57.      * @param encoding response返回的信息編碼格式 沒有時傳null 
          58.      * @return  response返回的文本數據 
          59.      * @throws CustomException  
          60.      */  
          61.     public String doRequest(String url,Map postData,Map header,String encoding) throws CustomException{  
          62.      String responseString = null;  
          63.      //頭部請求信息  
          64.      Header[] headers = null;  
          65.      if(header != null){  
          66.       Set entrySet = header.entrySet();  
          67.          int dataLength = entrySet.size();  
          68.           headers= new Header[dataLength];  
          69.          int i = 0;  
          70.          for(Iterator itor = entrySet.iterator();itor.hasNext();){  
          71.           Map.Entry entry = (Map.Entry)itor.next();  
          72.           headers[i++] = new Header(entry.getKey().toString(),entry.getValue().toString());  
          73.          }  
          74.      }  
          75.      //post方式  
          76.         if(postData!=null){  
          77.          PostMethod postRequest = new PostMethod(url.trim());  
          78.          if(headers != null){  
          79.           for(int i = 0;i < headers.length;i++){  
          80.            postRequest.setRequestHeader(headers[i]);  
          81.           }  
          82.          }  
          83.          Set entrySet = postData.entrySet();  
          84.          int dataLength = entrySet.size();  
          85.          NameValuePair[] params = new NameValuePair[dataLength];  
          86.          int i = 0;  
          87.          for(Iterator itor = entrySet.iterator();itor.hasNext();){  
          88.           Map.Entry entry = (Map.Entry)itor.next();  
          89.           params[i++] = new NameValuePair(entry.getKey().toString(),entry.getValue().toString());  
          90.          }  
          91.          postRequest.setRequestBody(params);  
          92.          try {  
          93.     responseString = this.executeMethod(postRequest,encoding);  
          94.    } catch (CustomException e) {  
          95.     throw e;  
          96.    } finally{  
          97.     postRequest.releaseConnection();  
          98.    }  
          99.         }  
          100.       //get方式  
          101.         if(postData == null){  
          102.          GetMethod getRequest = new GetMethod(url.trim());  
          103.          if(headers != null){  
          104.           for(int i = 0;i < headers.length;i++){  
          105.            getRequest.setRequestHeader(headers[i]);  
          106.           }  
          107.          }  
          108.          try {  
          109.     responseString = this.executeMethod(getRequest,encoding);  
          110.    } catch (CustomException e) {  
          111.                 e.printStackTrace();  
          112.     throw e;  
          113.    }finally{  
          114.     getRequest.releaseConnection();  
          115.    }  
          116.         }  
          117.    
          118.         return responseString;  
          119.     }  
          120.   
          121.  private String executeMethod(HttpMethod request, String encoding) throws CustomException{  
          122.   String responseContent = null;  
          123.   InputStream responseStream = null;  
          124.   BufferedReader rd = null;  
          125.   try {  
          126.    this.getHttpClient().executeMethod(request);  
          127.    if(encoding != null){  
          128.     responseStream = request.getResponseBodyAsStream();  
          129.      rd = new BufferedReader(new InputStreamReader(responseStream,  
          130.                       encoding));  
          131.               String tempLine = rd.readLine();  
          132.               StringBuffer tempStr = new StringBuffer();  
          133.               String crlf=System.getProperty("line.separator");  
          134.               while (tempLine != null)  
          135.               {  
          136.                   tempStr.append(tempLine);  
          137.                   tempStr.append(crlf);  
          138.                   tempLine = rd.readLine();  
          139.               }  
          140.               responseContent = tempStr.toString();  
          141.    }else  
          142.     responseContent = request.getResponseBodyAsString();  
          143.              
          144.    Header locationHeader = request.getResponseHeader("location");  
          145.    //返回代碼為302,301時,表示頁面己經重定向,則重新請求location的url,這在  
          146.    //一些登錄授權取cookie時很重要  
          147.    if (locationHeader != null) {  
          148.              String redirectUrl = locationHeader.getValue();  
          149.              this.doRequest(redirectUrl, null, null,null);  
          150.          }  
          151.   } catch (HttpException e) {  
          152.    throw new CustomException(e.getMessage());  
          153.   } catch (IOException e) {  
          154.    throw new CustomException(e.getMessage());  
          155.   
          156.   } finally{  
          157.    if(rd != null)  
          158.     try {  
          159.      rd.close();  
          160.     } catch (IOException e) {  
          161.      throw new CustomException(e.getMessage());  
          162.     }  
          163.     if(responseStream != null)  
          164.      try {  
          165.       responseStream.close();  
          166.      } catch (IOException e) {  
          167.       throw new CustomException(e.getMessage());  
          168.   
          169.      }  
          170.   }  
          171.   return responseContent;  
          172.  }  
          173.    
          174.      
          175.  /** 
          176.   * 特殊請求數據,這樣的請求往往會出現redirect本身而出現遞歸死循環重定向 
          177.   * 所以單獨寫成一個請求方法 
          178.   * 比如現在請求的url為:http://localhost:8080/demo/index.jsp 
          179.   * 返回代碼為302 頭部信息中location值為:http://localhost:8083/demo/index.jsp 
          180.   * 這時httpclient認為進入遞歸死循環重定向,拋出CircularRedirectException異常 
          181.   * @param url 
          182.   * @return 
          183.   * @throws CustomException  
          184.   */  
          185.  public String doSpecialRequest(String url,int count,String encoding) throws CustomException{  
          186.   String str = null;  
          187.   InputStream responseStream = null;  
          188.   BufferedReader rd = null;  
          189.   GetMethod getRequest = new GetMethod(url);  
          190.   //關閉httpclient自動重定向動能  
          191.   getRequest.setFollowRedirects(false);  
          192.   try {  
          193.      
          194.    this.client.executeMethod(getRequest);  
          195.    Header header = getRequest.getResponseHeader("location");  
          196.    if(header!= null){  
          197.     //請求重定向后的URL,count同時加1  
          198.     this.doSpecialRequest(header.getValue(),count+1, encoding);  
          199.    }  
          200.    //這里用count作為標志位,當count為0時才返回請求的URL文本,  
          201.    //這樣就可以忽略所有的遞歸重定向時返回文本流操作,提高性能  
          202.    if(count == 0){  
          203.     getRequest = new GetMethod(url);  
          204.     getRequest.setFollowRedirects(false);  
          205.     this.client.executeMethod(getRequest);  
          206.     responseStream = getRequest.getResponseBodyAsStream();  
          207.     rd = new BufferedReader(new InputStreamReader(responseStream,  
          208.                       encoding));  
          209.              String tempLine = rd.readLine();  
          210.              StringBuffer tempStr = new StringBuffer();  
          211.              String crlf=System.getProperty("line.separator");  
          212.              while (tempLine != null)  
          213.              {  
          214.                  tempStr.append(tempLine);  
          215.                  tempStr.append(crlf);  
          216.                  tempLine = rd.readLine();  
          217.              }  
          218.              str = tempStr.toString();  
          219.    }  
          220.      
          221.   } catch (HttpException e) {  
          222.    throw new CustomException(e.getMessage());  
          223.   } catch (IOException e) {  
          224.    throw new CustomException(e.getMessage());  
          225.   } finally{  
          226.    getRequest.releaseConnection();  
          227.    if(rd !=null)  
          228.     try {  
          229.      rd.close();  
          230.     } catch (IOException e) {  
          231.      throw new CustomException(e.getMessage());  
          232.     }  
          233.     if(responseStream !=null)  
          234.      try {  
          235.       responseStream.close();  
          236.      } catch (IOException e) {  
          237.       throw new CustomException(e.getMessage());  
          238.      }  
          239.   }  
          240.   return str;  
          241.  }  
          242.    
          243.    
          244.    
          245.    
          246.  public static void main(String[] args) throws Exception{  
          247.   HttpRequestProxy hrp = new HttpRequestProxy();  
          248.    Map header = new HashMap();  
          249.          header.put("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727)");  
          250.   String str = hrp.doRequest(  
          251.     "http://www.cma-cgm.com/en/eBusiness/Tracking/Default.aspx?BolNumber=GZ2108827",  
          252.      null, header,null);  
          253.   System.out.println(str.contains("row_CRXU1587647"));  
          254. //  System.out.println(str);  
          255.  }  
          256.      

          posted @ 2014-02-26 18:08 ZT文萃 閱讀(350) | 評論 (0)編輯 收藏

          轉載自:
          http://www.cnblogs.com/happyPawpaw/archive/2013/03/27/2984023.html

          現提供兩種方法: 
          方法一: 
          如果你用過Toolkit(java.awt.Toolkit)類,這將是一件很簡單的事情: 
          Toolkit tk=Toolkit.getDefaultToolkit() 
          Image image=tk.createImage("image.gif"); /*image.gif是你的圖標*/ 
          this.setIconImage(image); 

          注意:這個圖標一定要是好用的圖標。

          就這么簡單,看看,已經變成你自己的圖標了。Toolkit是個很有用類的,提供很多對窗口默認行為的修改,下面隨便提一下,怎么把默認的鼠標圖標改成你自己的圖標: 
          Toolkit tk=Toolkit.getDefaultToolkit(); 
          Image img=tk.getImage("mouse.gif"); /*mouse.gif是你的圖標*/ 
          Cursor cu=tk.createCustomCursor(img,new Point(10,10),"stick"); 
          this.setCursor(cu); 

          方法二: 
          用到ImageIcon類和setIconImage方法。 
          import javax.swing.*; 
          public class A extends JFrame { 
              String image = new String("face.gif"); //建立一個字符串保存要用的圖標的路徑,關于java的路徑請參考其它文檔 
              ImageIcon test = new ImageIcon(image); //建立一個ImageIcon類,產生setIconImage()方法需要的Image數據 

              public A() { 
                  super("演示自定義標題欄的圖標的方法"); 
                  this.setIconImage(test.getImage()); //設置標題欄的圖標為face.gif 
                  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
                  this.show(); 
                  //this.setTitle("sdfsdf"); 
                  this.setSize(400,200); 
              } 
              public static void main(String[] args) { 
                  A jIcon = new A();       
              } 


          此法本人再次簡化為兩條語句: 
          import javax.swing.*; 
          public class A extends JFrame { 
              ImageIcon test = new ImageIcon(new String(face.gif));//第一句 
              public A() { 
                  super("演示自定義標題欄的圖標的方法"); 
                  this.setIconImage(test.getImage()); //第二句 
                   this.setSize(400,200); 
                  this.show(); 

              public static void main(String[] args) { 
                  A jIcon = new A();       
              } 
          }

          posted @ 2014-02-21 10:13 ZT文萃 閱讀(246) | 評論 (0)編輯 收藏

          轉載自:
          http://www.sbanzu.com/topicdisplay.asp?BoardID=8&Page=9&TopicID=4112790

          照片中的柴靜雖然身材明顯發福,但仍可見昔日“女神”風采。據知情人透露,柴靜私下從不主動談及私生活,特別是在結婚消息曝光后,讓她對隱私更加保護。至于其老公趙嘉,如今在央視下屬一家公司擔任首席財政官,同時繼續從事攝影事業。


          被坊間傳聞為“央視最窮主持人”的柴靜被爆在去年10月赴美國產下一女,升級當媽。此外,她為女兒取名叫柴知然,柴靜曾私下表示希望女兒不僅“知然”,且能“知其所以然”。



          不管公知還是五毛,都把后代往洋大人那里放。批評這個體制的,吹捧這個體制的,都選擇把娃兒生在美國。這才是真正的普世價值啊,無關身份,無關制度,無關膚色,無關民族,只有對孩子絕對的愛,以及與孩子有關的自由向往。

          @十年砍柴 :公知和五毛理應都為柴靜在美國產女感到高興。所謂公知當然賀其為孩子選擇了含金量高的國籍。而愛國的五毛,應慶祝她的女兒將來沒有強大的中國庇護,而且為自己的兒女騰出在中國的空間,替自己兒女省下社會撫養費。

          @劉桂娟: 我認識的很多精英和條件優越的人都選擇在美生孩子,將來孩子不用付出幾百萬的留學費用,18歲后有選票。我一移民澳洲的朋友,兩個孩子免費上學,她經常回國看父母,每到選舉時必回澳洲,驕傲的說:我去投票!我都沒見過咱們的選票長什么樣

          @沁水一波:柴靜在美國生孩子真是她個人的事,勿須責怪。讓人不舒服的是以前高調深愛中國的她用腳表明她的愛并不深。記得知青下放時叫的最響要扎根農村的人往往是溜的最快的。不高調就不行嗎?此事讓人不適應的是語言和行動的反差,而不是在美國生孩子這事。

          @木子老龍 :柴靜把孩子生在美國,司馬南把孩子送到美國,無論政見如何,在愛自己的孩子這一點上,方向是高度一致的。什么叫普世價值?這就是普世價值。

          @奮壹:在推特上看到一個神評:看到柴靜美國產女的新聞,不勝唏噓,不管是民主派還是自由派,最后都是美國派。好不容易有個深深的愛著這片土地的國師張藝謀把孩子生在國內,還被計生委罰得稀里嘩啦。

          @王鵬律師 :以前覺得她很高尚,媒體屆最具良心的代表之一,現發現她很務實,沒有拿女兒的未來做賭博。作為父母,從子女幸福的角度出發本身沒有什么錯,也不能指責她的選擇。該反思的問題是為什么這么多精英去國外生子,享有外國戶籍? 中國到底哪里有問題?

          奇葩國家啊,愛他和恨他的人都要做他敵人的爹媽。
          基本上,就算未來中國富裕民主發達了,那些特權移民同樣可以依靠特權設法回來。比如現在那些拿著美國綠卡乃至國籍卻可以賴在中國摟錢的特權分子就是如此(無論他們嘴巴里喊的是普世價值還是共產主義,被人稱作公知還是走狗,本質上都是一樣的)。

          后悔的最多不過是那些普通移民罷了。也不用等將來,現在就有。

          中國盡出漢奸,這倒是沒跑的

          posted @ 2014-02-21 06:46 ZT文萃 閱讀(221) | 評論 (0)編輯 收藏

           

          http://wangguanxiong.baijia.baidu.com/article/4681

           

          創辦5年、50個人的小公司值160億美元!

          是FaceBook瘋了還是你不夠“瘋”?

          【巨頭狂野搏命移動端】

          今晨重磅消息,美國社交網絡老大Facebook收購WhatsApp,一個員工50人、其中32名是工程師的 小公司。為此,Facebook付出了總金額160億美元“現金+股票”的昂貴代價。此外,還承諾給創始人團隊30億美元的四年行權限制股,加上期權交易 規模將達190億美元。

          WhatsApp是一個跨平臺通訊應用,創辦于2009年。界面樸素簡潔,沒有任何花哨的功能,核心功能就是幫助用戶收發消息。簡單說,有點像簡化版的微信。

          目前其月活躍用戶達4.5億(其中70%每天登錄),每天新增用戶100萬,每天發送消息達到全球電信的短信數量,每天有10億張照片、2億條音頻消息、1億條視頻消息通過該軟件傳輸。

          因此,這對致力于“連結人與信息”的Facebook來說,是一個極大威脅。很簡單,要么戰勝你,要么買下你。這和臉譜2012年收購圖片分享應用Instagram的邏輯一致,在社交網絡這個核心領域,臉譜絕不會允許他人染指。

          更重要的是,從WhatsApp、Instagram到最近風靡美國年輕人的snapshot,都是為移動而生的應用。實際上,移動互聯網的發展速度遠遠超過桌面互聯網,巨頭們正瘋狂地買公司、買人,否則一不小心就會被干掉。

          【每個員工值20億】

          然而,在這筆轟動全球的交易中,真正讓我激動的是人的價值。

          即使不包含30億美元的期權價值,僅按立即支付的160億美金收購價計算,按最新匯率,WhatsApp一個員工值20億人民幣,20億!

          兩年前,當FaceBook斥資10億美金收購只有13個人的Instgram時,他們該處的價格是一個人大約一億美金。現在,價格翻了3倍。

          這對一直重視“看得見的資產”的中國人來說,幾乎是不可想象的。許多傳統老板會想,就這么幾個小屁孩敢要幾十億美金,瘋了?這種思維定勢有時很難扭轉,看走眼的還包括現在如日中天的騰訊CEO馬化騰。

          當年,Instagram估值還不到1億美金時騰訊曾有機會投資。當時Instagram只有幾個人,在一個靠 近海邊的房子辦公。就是一層玻璃,外面都看得見,扔個磚頭就可以把里面的電腦全拿走了。騰訊某副總裁看著說,這個公司不太靠譜吧,才幾個人。后來,騰訊不 得不估值8億美金時跟投。

          這就是人的價值,只要擁有創新能力的人做出一個創新產品,他們足以撬動整個地球。

          【人是科技第一生產力】

          NOP男裝創始人劉爽認為管理分為兩種:管人管事,選擇哪種不取決于領導者意志,而取決于企業行業類型。管事型 企業的代表是制造業和零售業,比如富士康和沃爾瑪,人人都是螺絲釘,不需要你創新,需要的是你的執行效率。而管人型企業的代表是高科技和互聯網,比如微軟 和谷歌,其產品和服務的研發改良依賴于員工個人的創造力創新力。

          如果想做一個產品服務高度依托互聯網經濟和體驗經濟的軟硬件一體式品牌公司,那就應該選擇管人和眾智。落到具體就是有邊界的制度,無邊界的溝通。

          當年,鄧小平同志以無畏的政治勇氣和理論高度,說出了一句名言:“科技是第一生產力”。這句話,激勵了整整幾代中國人。它讓人們看到了科技的價值、知識的價值,也是現在長盛不衰的知識經濟的動力。

          現在,我想說:人是科技的第一生產力。不重視人的價值,不尊重人的需求,不解放人的生產力,必將被互聯網時代快速淘汰。

          請捫心自問。

          (更多深度,掃描下方二維碼后看歷史文章)

          作者簡介:一個IPO專業戶、超級自媒體。我信仰互聯網,因為它實現了人和一切的自由連接,這是3代人必經的命運。微博@互聯網信徒王冠雄,微信wang-guanxiong。見人所之未見,每一條都對得起關注!

          posted @ 2014-02-21 06:12 ZT文萃 閱讀(199) | 評論 (0)編輯 收藏

          轉載自:
          http://blog.csdn.net/haoren_e/article/details/6043645


               在linux上部署項目的時候,我們往往通過一段shell來啟動程序,甚至是通過crontab定時任務來定時的調用java程序,但是很奇怪的一個問題就是,比如我寫了一個如下的shell腳本:

           

          1. #!/bin/sh  
          2. # -----------------------------------------------------------------------------  
          3. # Start script for the CMGP BOSSCONTROL   
          4. #  
          5. # $Id: run_bosscontrol.sh,v 1.0 2007/11/06 Exp $  
          6. # -----------------------------------------------------------------------------  
          7. #指定字符集  
          8. LANG=zh_CN.GBK export LANG  
          9. RUN_HOME=.  
          10. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/checking.jar  
          11. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/ojdbc14.jar  
          12. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/commons-dbutils-1.1.jar  
          13. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/log4j-1.2.14.jar  
          14. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/dom4j-1.6.jar  
          15.   
          16. export CLASSPATH  
          17.   
          18. java  com.**.checking.Checking_Start >> log.out &   
           

           

          手動命令行運行該腳本的時候,可以正常運行java程序,但是使用crontab定時任務,貌似就不起效果了,很是郁悶哪,查原因哪,分析可能原因:

           1)是否當前用戶對此shell腳本沒有可執行權限,通過ls -lrt /apps/service/mtk/checking/run.sh查看腳本是有可執行,但是有執行權限呀-rwxr-xr-x

           2)既然單獨運行腳本沒問題,那會不會是定時的問題呢?于是寫了一個簡單的輸出的shell腳本通過定時也是沒問題的。說明還是腳本的問題。

          后來上網查了下,想到可能是腳本中環境變量的原因,因為通過crontab運行腳本,是以root用戶,而不是當前用戶,于是cat /etc/profile查看環境變量,然后修改腳本如下:

          1. #!/bin/sh  
          2. # -----------------------------------------------------------------------------  
          3. # Start script for the CMGP BOSSCONTROL   
          4. #  
          5. # $Id: run_bosscontrol.sh,v 1.0 2007/11/06 Exp $  
          6. # -----------------------------------------------------------------------------  
          7. export PATH=/apps/usr/java/jdk1.5/bin:$PATH  
          8. export JAVA_HOME=/apps/usr/java/jdk1.5  
          9. export JRE_HOME=/apps/usr/java/jdk1.5/jre  
          10. export CLASSPATH=/apps/usr/java/jdk1.5/lib:/apps/usr/java/jdk1.5/jre/lib:$CLASSPATH  
          11. RUN_HOME=/apps/service/checking  
          12. CLASSPATH=$CLASSPATH$RUN_HOME/lib/checking.jar  
          13. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/ojdbc14.jar  
          14. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/commons-dbutils-1.1.jar  
          15. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/log4j-1.2.14.jar  
          16.  CLASSPATH=$CLASSPATH:$RUN_HOME/lib/dom4j-1.6.jar  
          17.   
          18. export CLASSPATH=$CLASSPATH  
          19.   
          20. java  com.**.checking.Checking_Start >> log.out &   

           

          export顯示導出為用戶環境變量的環境變量
          以上這種jar包是通過eclipse工具export導出,不包含MANIFEST.MF文件,如果使用打包工具Ant,我們可以在打包默認的build.xml文件中設置Class-Path
          將第三方jar包加入manifest.mf文件中,且指定程序主類
          在build.xml中添加如下內容:

           

          1. <!-- create a property containing all .jar files, prefix lib/, and seperated with a space -->  
          2. <pathconvert property="libs.project" pathsep=" ">  
          3.    <mapper>  
          4.       <chainedmapper>  
          5.         <!-- remove absolute path -->  
          6.         <flattenmapper />  
          7.        <!-- add lib/ prefix -->  
          8.        <globmapper from="*" to="lib/*" />  
          9.       </chainedmapper>  
          10.     </mapper>  
          11.      <path>  
          12.       <!-- lib.home contains all jar files, in several subdirectories -->  
          13.       <fileset dir="${lib.dir}">  
          14.        <include name="**/*.jar" />  
          15.       </fileset>  
          16.      </path>  
          17.   </pathconvert>  

           

          另外,在create manifest文件時,加上:

          1. <!-- 這樣就可以將第三方jar包加入 -->   
          2. <attribute name="Class-Path" value="${libs.project}" />  
          3. <!-- 程序運行的主類 -->  
          4. <attribute name="Main-Class" value="com.**.checking.Checking_Start " />  

           

          這樣運行ant,打成的jar包中MANIFEST.MF中內容如下:

          1. Manifest-Version: 1.0  
          2. Ant-Version: Apache Ant 1.7.0  
          3. Created-By: 1.5.0_09-b01 (Sun Microsystems Inc.)  
          4. Implementation-Title: fee task  
          5. Implementation-Version: 1.0  
          6. Implementation-Vendor: Aspire  
          7. Main-Class: com.aspire.cmgp.flowcontrol.server.FlowControlServer  
          8. Class-Path: lib/cmgp-util-1.0.1.jar lib/commons-codec-1.3.jar lib/comm  
          9.  ons-collections.jar lib/commons-dbcp-1.2.1.jar lib/commons-httpclient  
          10.  .jar lib/commons-logging.jar lib/commons-pool-1.2.jar lib/dom4j.jar l  
          11.  ib/log4j.jar lib/ojdbc14.jar  

           

          這樣在shell腳本中就不需要指定程序所需要的jar包了,也就不存在環境變量設置的惱人問題。比較正規的也是這么操作的。
          這樣在shell中就直接運行jar包就行了:java -jar 主程序.jar -Xmx1024m -Xms1024m -Xmn512m,多好多方便~

          posted @ 2014-02-20 11:25 ZT文萃 閱讀(642) | 評論 (0)編輯 收藏

          http://blog.163.com/kevinlee_2010/blog/static/16982082020112710557998/

          第一種是以毫秒為單位計算的。

            Java代碼

            //偽代碼

            long startTime=System.currentTimeMillis();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.currentTimeMillis(); //獲取結束時間

            System.out.println("程序運行時間: "+(end-start)+"ms");

            //偽代碼

            long startTime=System.currentTimeMillis();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.currentTimeMillis(); //獲取結束時間

            System.out.println("程序運行時間: "+(end-start)+"ms");

            第二種是以納秒為單位計算的。

            Java代碼

            //偽代碼

            long startTime=System.nanoTime();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.nanoTime(); //獲取結束時間

            System.out.println("程序運行時間: "+(end-start)+"ns");

            //偽代碼

            long startTime=System.nanoTime();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.nanoTime(); //獲取結束時間

            System.out.println("程序運行時間: "+(end-start)+"ns");

          posted @ 2014-02-14 09:51 ZT文萃 閱讀(210) | 評論 (0)編輯 收藏

          http://china.gmail.cn/html/38/63638-41467.html


          javaz中對日期時間的處理比較多,代碼中列出了3中日期時間計算差值的方法。

          比如:現在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

           

          java計算時間差及比較時間大小
          比如:現在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

          方法一:
          DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

          try
          {
          Date d1 = df.parse("2004-03-26 13:31:40");
          Date d2 = df.parse("2004-01-02 11:30:24");
          long diff = d1.getTime() - d2.getTime();
          long days = diff / (1000 * 60 * 60 * 24);
          }
          catch (Exception e)
          {
          }

          方法二: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date now = df.parse("2004-03-26 13:31:40");
          java.util.Date date=df.parse("2004-01-02 11:30:24");
          long l=now.getTime()-date.getTime();
          long day=l/(24*60*60*1000);
          long hour=(l/(60*60*1000)-day*24);
          long min=((l/(60*1000))-day*24*60-hour*60);
          long s=(l/1000-day*24*60*60-hour*60*60-min*60);
          System.out.println(""+day+"天"+hour+"小時"+min+"分"+s+"秒");

          方法三:
          SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
          java.util.Date end = dfs.parse("2004-03-26 13:31:40");
          long between=(end.getTime()-begin.getTime())/1000;//除以1000是為了轉換成秒

          long day1=between/(24*3600);
          long hour1=between%(24*3600)/3600;
          long minute1=between%3600/60;
          long second1=between%60/60;
          System.out.println(""+day1+"天"+hour1+"小時"+minute1+"分"+second1+"秒");


          ====================================================

          java 比較時間大小

          String s1="2008-01-25 09:12:09";
          String s2="2008-01-29 09:12:11";
          java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Calendar c1=java.util.Calendar.getInstance();
          java.util.Calendar c2=java.util.Calendar.getInstance();
          try
          {
          c1.setTime(df.parse(s1));
          c2.setTime(df.parse(s2));
          }catch(java.text.ParseException e){
          System.err.println("格式不正確");
          }
          int result=c1.compareTo(c2);
          if(result==0)
          System.out.println("c1相等c2");
          else if(result<0)
          System.out.println("c1小于c2");
          else
          System.out.println("c1大于c2");

          posted @ 2014-02-14 09:49 ZT文萃 閱讀(225) | 評論 (0)編輯 收藏

          下文轉載自:

          http://www.cnblogs.com/qixin622/archive/2010/07/23/1784002.html

           


          Java'中的幾種Look and Feel
          1、Metal風格 (默認)
          String lookAndFeel = "javax.swing.plaf.metal.MetalLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          2、Windows風格
          String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          3、Windows Classic風格
          String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          4、Motif風格
          String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          5、Mac風格 (需要在相關的操作系統上方可實現)
          String lookAndFeel = "com.sun.java.swing.plaf.mac.MacLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          6、GTK風格 (需要在相關的操作系統上方可實現)
          String lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          7、可跨平臺的默認風格
          String lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
          UIManager.setLookAndFeel(lookAndFeel);
          8、當前系統的風格
          String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
          UIManager.setLookAndFeel(lookAndFeel);

          在Java中讓用戶能夠動態地更改應用的外觀,可以給用戶更好地體驗,具體的實現方式是:
          1,先使用UIManager.setLookAndFeel(String s)方法設定對應的外觀
          2,再使用SwingUtilities.updateComponentTreeUI(Component c)方法立刻更新應用的外觀
          這兩個類均在javax.swing包中

          posted @ 2014-02-12 10:20 ZT文萃 閱讀(214) | 評論 (0)編輯 收藏

          僅列出標題
          共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
          主站蜘蛛池模板: 桃园市| 上蔡县| 二手房| 澄城县| 河池市| 乳山市| 崇州市| 黎川县| 新竹市| 包头市| 呼和浩特市| 财经| 白山市| 华容县| 泰和县| 平阴县| 平果县| 凌海市| 绥滨县| 五大连池市| 中山市| 延津县| 花莲市| 鹤山市| 海丰县| 磐石市| 施秉县| 九江县| 石柱| 天台县| 黄大仙区| 万载县| 瑞丽市| 无极县| 榆中县| 平谷区| 富裕县| 宿松县| 光山县| 邵东县| 石嘴山市|