隨筆 - 72  文章 - 28  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(66)

          隨筆檔案(72)

          文章檔案(19)

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          空倉資金怎么買一只好股?

          其實這個話題也是博客老生常談的話題:

           

          一:基本面

           

          第一,屬于產業政策扶植、培植的朝陽產業、支柱產業、新興產業。

          第二,流通盤一定不可太大,2-3億以下比較合適,最得宜的還是2億之內,流通市值在20億以內最理想。

          第三:股票價格5-7元最合理,即使出現恢復性上漲行情,價格尺度也別輕易放寬到10元以上,為數極少的優質個股價格不可超過20元。請記?。簝r值投資的成功基礎是價格。像去年的大B浪反彈過后,封起談“三低”股淘金技巧時,很多人苦悶股市找不到符合條件的10元以下“三低”股,而在今年7月,這樣特征的股票很多,可是,很多資金又一次失去這些機會。封起希望,(c)點殺跌之后,誰都別再次錯過這樣的機會。

           

          二:技術面

           

          第一:下降趨勢的始終不要買,要買也要等下降趨勢終結,新的上升趨勢開始構筑的時候。

          第二:整體表現比大盤弱的股票不要買,要買也等其整體表現開始比大盤強的時候。如果區分不了,建議用普通免費股票軟件里的大盤疊加功能,將所關注的自選股和大盤指數疊加在一起就看明白了。

          第三:新的上升趨勢緩慢構筑的初期買進,這個時候,通過長期下跌后,市場恐慌氣氛開始減少,股價殺跌動能逐步衰竭,體現在成交量異??s小,而K線開始有上升三角形、圓底、雙底、黃金坑等技術特征,尤其應該參考周線、月線指標基本調整到位的股票。

           

          還有一個重要的法則就是,本次第一浪行情里累積上漲空間不大,本次調整浪里,重新跌回10元以下區域,而且能夠確定上市公司大股東有資產重組預期的三低股,一定要長期跟蹤,保持適度倉位,以中線思維對待,這樣的股票,一旦主力籌碼收集完畢,遲早會有爆發的一天。

           

          因為低價是永遠的利好,因為基本面朦朧的資產重組消息永遠是股價颮漲的推動劑!

          posted @ 2010-12-02 11:21 kelly 閱讀(273) | 評論 (0)編輯 收藏
          String today="2008-06-21";

           String dayNames[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
           SimpleDateFormat f =new SimpleDateFormat("yyyy-MM-dd");
           Date d=f.parse(today);
           Calendar cal = Calendar.getInstance(); 
           cal.setTime(d); 
           int day= cal.get(Calendar.DAY_OF_WEEK); 
           String week_day = dayNames[day - 1];

          posted @ 2009-05-31 21:30 kelly 閱讀(754) | 評論 (0)編輯 收藏

          Calendar   calendar   =   Calendar.getInstance();

          calendar.setTime(new   Date());  
                                String   year   =   String.valueOf(calendar.get(Calendar.YEAR));  
                                String   month   =   String.valueOf(calendar.get(Calendar.MONTH)+1);  
                                String   day   =   String.valueOf(calendar.get(Calendar.DATE));  
                                String   hour   =   String.valueOf(calendar.get(Calendar.HOUR));  
                                String   minute   =   String.valueOf(calendar.get(Calendar.MINUTE));  
                                String   second   =   String.valueOf(calendar.get(Calendar.SECOND));  
                                System.out.println(year+month+day+hour+minute+second);

          posted @ 2009-05-31 20:53 kelly 閱讀(1007) | 評論 (0)編輯 收藏
          首先,說說JSP/Servlet中的幾個編碼的作用。

          在JSP/Servlet中主要有以下幾個地方可以設置編碼,pageEncoding="UTF-8"、contentType="text/html;charset=UTF-8"、request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding("UTF-8"),其中前兩個只能用于JSP中,而后兩個可以用于JSP和Servlet中。

          1、pageEncoding="UTF-8"的作用是設置JSP編譯成Servlet時使用的編碼。

                 眾所周知,JSP在服務器上是要先被編譯成Servlet的。pageEncoding="UTF-8"的作用就是告訴JSP編譯器在將JSP文件編譯成Servlet時使用的編碼。通常,在JSP內部定義的字符串(直接在JSP中定義,而不是從瀏覽器提交的數據)出現亂碼時,很多都是由于該參數設置錯誤引起的。例如,你的JSP文件是以GBK為編碼保存的,而在JSP中卻指定pageEncoding="UTF-8",就會引起JSP內部定義的字符串為亂碼。

                 另外,該參數還有一個功能,就是在JSP中不指定contentType參數,也不使用response.setCharacterEncoding方法時,指定對服務器響應進行重新編碼的編碼。

                 2、contentType="text/html;charset=UTF-8"的作用是指定對服務器響應進行重新編碼的編碼。

                 在不使用response.setCharacterEncoding方法時,用該參數指定對服務器響應進行重新編碼的編碼。服務器在將數據發送到瀏覽器前,對數據進行重新編碼時,使用的就是該編碼。

                 3、request.setCharacterEncoding("UTF-8")的作用是設置對客戶端請求進行重新編碼的編碼。

                 該方法用來指定對瀏覽器發送來的數據進行重新編碼(或者稱為解碼)時,使用的編碼。

                 4、response.setCharacterEncoding("UTF-8")的作用是指定對服務器響應進行重新編碼的編碼。

                 服務器在將數據發送到瀏覽器前,對數據進行重新編碼時,使用的就是該編碼。

                 其次,要說一說瀏覽器是怎么樣對接收和發送的數據進行編碼的

                 response.setCharacterEncoding("UTF-8")的作用是指定對服務器響應進行重新編碼的編碼。同時,瀏覽器也是根據這個參數來對其接收到的數據進行重新編碼(或者稱為解碼)。所以在無論你在JSP中設置response.setCharacterEncoding("UTF-8")或者response.setCharacterEncoding("GBK"),瀏覽器均能正確顯示中文(前提是你發送到瀏覽器的數據編碼是正確的,比如正確設置了pageEncoding參數等)。讀者可以做個實驗,在JSP中設置response.setCharacterEncoding("UTF-8"),在IE中顯示該頁面時,在IE的菜單中選擇"查看(V)"à"編碼(D)"中可以查看到是" Unicode(UTF-8)",而在在JSP中設置response.setCharacterEncoding("GBK"),在IE中顯示該頁面時,在IE的菜單中選擇"查看(V)"à"編碼(D)"中可以查看到是"簡體中文(GB2312)"。

                 瀏覽器在發送數據時,對URL和參數會進行URL編碼,對參數中的中文,瀏覽器也是使用response.setCharacterEncoding參數來進行URL編碼的。以百度和GOOGLE為例,如果你在百度中搜索"漢字",百度會將其編碼為"%BA%BA%D7%D6"。而在GOOGLE中搜索"漢字",GOOGLE會將其編碼為"%E6%B1%89%E5%AD%97",這是因為百度的response.setCharacterEncoding參數為GBK,而GOOGLE的的response.setCharacterEncoding參數為UTF-8。

                 瀏覽器在接收服務器數據和發送數據到服務器時所使用的編碼是相同的,默認情況下均為JSP頁面的response.setCharacterEncoding參數(或者contentType和pageEncoding參數),我們稱其為瀏覽器編碼。當然,在IE中可以修改瀏覽器編碼(在IE的菜單中選擇"查看(V)"à"編碼(D)"中修改),但通常情況下,修改該參數會使原本正確的頁面中出現亂碼。一個有趣的例子是,在IE中瀏覽GOOGLE的主頁時,將瀏覽器編碼修改為"簡體中文(GB2312)",此時,頁面上的中文會變成亂碼,不理它,在文本框中輸入"漢字",提交,GOOGLE會將其編碼為"%BA%BA%D7%D6",可見,瀏覽器在對中文進行URL編碼時,使用的就是瀏覽器編碼。

                 弄清了瀏覽器是在接收和發送數據時,是如何對數據進行編碼的了,我們再來看看服務器是在接收和發送數據時,是如何對數據進行編碼的。

                 對于發送數據,服務器按照response.setCharacterEncoding—contentType—pageEncoding的優先順序,對要發送的數據進行編碼。

                 對于接收數據,要分三種情況。一種是瀏覽器直接用URL提交的數據,另外兩種是用表單的GET和POST方式提交的數據。

                 因為各種WEB服務器對這三種方式的處理也不相同,所以我們以Tomcat5.0為例。

                 無論使用那種方式提交,如果參數中包含中文,瀏覽器都會使用當前瀏覽器編碼對其進行URL編碼。

                 對于表單中POST方式提交的數據,只要在接收數據的JSP中正確request.setCharacterEncoding參數,即將對客戶端請求進行重新編碼的編碼設置成瀏覽器編碼,就可以保證得到的參數編碼正確。有寫讀者可能會問,那如何得到瀏覽器編碼呢?上面我們提過了,在默認請情況下,瀏覽器編碼就是你在響應該請求的JSP頁面中response.setCharacterEncoding設置的值。所以對于POST表單提交的數據,在獲得數據的JSP頁面中request.setCharacterEncoding要和生成提交該表單的JSP頁面的response.setCharacterEncoding設置成相同的值。

                 對于URL提交的數據和表單中GET方式提交的數據,在接收數據的JSP中設置request.setCharacterEncoding參數是不行的,因為在Tomcat5.0中,默認情況下使用ISO-8859-1對URL提交的數據和表單中GET方式提交的數據進行重新編碼(解碼),而不使用該參數對URL提交的數據和表單中GET方式提交的數據進行重新編碼(解碼)。要解決該問題,應該在Tomcat的配置文件的Connector標簽中設置useBodyEncodingForURI或者URIEncoding屬性,其中useBodyEncodingForURI參數表示是否用request.setCharacterEncoding參數對URL提交的數據和表單中GET方式提交的數據進行重新編碼,在默認情況下,該參數為false(Tomcat4.0中該參數默認為true);URIEncoding參數指定對所有GET方式請求(包括URL提交的數據和表單中GET方式提交的數據)進行統一的重新編碼(解碼)的編碼。URIEncoding和useBodyEncodingForURI區別是,URIEncoding是對所有GET方式的請求的數據進行統一的重新編碼(解碼),而useBodyEncodingForURI則是根據響應該請求的頁面的request.setCharacterEncoding參數對數據進行的重新編碼(解碼),不同的頁面可以有不同的重新編碼(解碼)的編碼。所以對于URL提交的數據和表單中GET方式提交的數據,可以修改URIEncoding參數為瀏覽器編碼或者修改useBodyEncodingForURI為true,并且在獲得數據的JSP頁面中request.setCharacterEncoding參數設置成瀏覽器編碼。

                 下面總結下,以Tomcat5.0為WEB服務器時,如何防止中文亂碼。

          1、 對于同一個應用,最好統一編碼,推薦為UTF-8,當然GBK也可以。

          2、 正確設置JSP的pageEncoding參數

          3、 在所有的JSP/Servlet中設置contentType="text/html;charset=UTF-8"或response.setCharacterEncoding("UTF-8"),從而間接實現對瀏覽器編碼的設置。

          4、 對于請求,可以使用過濾器或者在每個JSP/Servlet中設置request.setCharacterEncoding("UTF-8")。同時,要修改Tomcat的默認配置,推薦將useBodyEncodingForURI參數設置為true,也可以將URIEncoding參數設置為UTF-8(有可能影響其他應用,所以不推薦)。

          posted @ 2008-01-22 09:27 kelly 閱讀(935) | 評論 (1)編輯 收藏
          今天碰到java.security.MessageDigest這個類;查看api解釋為: 此 MessageDigest 類為應用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的單向哈希函數,它接收任意大小的數據,輸出固定長度的哈希值。
          又baidu了一下,搜搜資料,下面一個例子很不錯,就把它引用過來咯;完整如下 ^^V

          <!------------------------

          有時候,我們必須把用戶密碼存放到數據庫,為了安全起見,我們需要對這些密碼進行單向的加密處理,
          比如,有明文密碼如下:
          String originalPwd = "mypassword";

          應用報文摘要方法,得到單向的加密字符串

          //MD5是16位,SHA是20位(這是兩種報文摘要的算法)
          //MessageDigest md= MessageDigest.getInstance("MD5");
          MessageDigest messageDigest=MessageDigest.getInstance("SHA-1");
          messageDigest.update(originalPwd.getBytes());
          //String digestedPwdString = new String(messageDigest.digest());
          String digestedPwdString = new String(Base64.encode(messageDigest.digest()));
          System.out.println("pwd:" + digestedPwdString);
          這樣,就得到密碼的報文摘要,把此摘要保存到數據庫,
          以后用戶登陸時,用相同的算法算出摘要,和數據庫中的比較,如果一致,則密碼正確。

          注意:
          byte[] digest = messageDigest.digest();
          得到的是個二進制byte數組,有可能某些byte是不可打印的字符。
          所以用Base64.encode把它轉化成可打印字符。

          也可以把digest的每個byte轉化成hex(16進制)保存。
          MessageDigest messageDigest=MessageDigest.getInstance("SHA-1");
          messageDigest.update(originalPwd.getBytes());
          byte[] bin = messageDigest.digest();
          再調用下面的方法生產hex(16進制)保存。


          二行制轉hex字符串的方法如下:
          private static String byte2hex(byte[] b){
              String hs="";
              String stmp="";
              for (int n=0; n<b.length; n++){
                  stmp=(java.lang.Integer.toHexString(b[n] & 0xFF));
                  if (stmp.length()==1) hs=hs+"0"+stmp;
                      else hs=hs+stmp;
              }
              return hs;
          }

          或者:
          private static String byto2hex2(byte[] bin){
              StringBuffer buf = new StringBuffer();
              for (int i = 0; i < bin.length; ++i) {
                  int x = bin[i] & 0xFF, h = x >>> 4, l = x & 0x0F;
                  buf.append((char) (h + ((h < 10) ? '0' : 'a' - 10)));
                  buf.append((char) (l + ((l < 10) ? '0' : 'a' - 10)));
              }
              return buf.toString();
          }

          或者:
          干脆直接用下面的方法生成,用到第三方包:
          public static String encryptPwd(String pwd, String algorithm){
              //String a = org.apache.catalina.realm.RealmBase.Digest(pwd,"SHA-1");
              return org.apache.catalina.realm.RealmBase.Digest(pwd, algorithm);
          }

          posted @ 2008-01-04 16:26 kelly 閱讀(684) | 評論 (0)編輯 收藏
          僅列出標題
          共15頁: First 上一頁 6 7 8 9 10 11 12 13 14 下一頁 Last 
          主站蜘蛛池模板: 勃利县| 额敏县| 噶尔县| 陈巴尔虎旗| 正阳县| 翁牛特旗| 鲁山县| 得荣县| 固原市| 通化县| 伊川县| 长垣县| 赣榆县| 苍山县| 珠海市| 新丰县| 洪泽县| 宣武区| 毕节市| 金乡县| 漳平市| 东光县| 富顺县| 日照市| 蒲城县| 徐州市| 安塞县| 丹东市| 中牟县| 乐都县| 饶河县| 梓潼县| 玉龙| 垦利县| 富宁县| 商洛市| 务川| 买车| 库尔勒市| 客服| 酒泉市|