vickzhu

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            151 隨筆 :: 0 文章 :: 34 評論 :: 0 Trackbacks

          2010年8月19日 #

          ##通用查詢日志:記錄建立的客戶端連接和執行的語句
          ##慢查詢日志:記錄所有執行時間超過long_query_time值的所有查詢或者不使用索引的查詢
          ##查看數據庫版本
          SHOW VARIABLES LIKE '%version%';
          ##查看通用查詢日志
          SHOW VARIABLES LIKE '%general%';
          ##設置通用查詢日志為開啟
          SET GLOBAL general_log=ON;
          ##設置通用查詢日志為關閉
          SET GLOBAL general_log=OFF;
          ##查看當前慢查詢日志輸出的格式,可以是FILE(存儲在數數據庫的數據文件中的hostname.log),也可以是TABLE(存儲在數據庫中的mysql.general_log)
          SHOW VARIABLES LIKE '%log_output%';
          ##設置查詢日志輸出到文件
          SET GLOBAL log_output='file';
          ##設置慢查詢日志保存的文件
          SET GLOBAL slow_query_log_file="/var/lib/mysql/localhost-slow.log";
          ##查看慢查詢相關設置
          SHOW VARIABLES LIKE '%slow_query%';
          ##設置慢查詢閾值為1,默認為10
          SET GLOBAL long_query_time=1;
          ##設置慢查詢閾值為10,默認為10
          SET GLOBAL long_query_time=10;
          ##查看慢查詢的閾值
          SHOW GLOBAL VARIABLES LIKE '%long_query_time%';
          ##查看有多少慢查詢
          SHOW GLOBAL STATUS LIKE '%Slow_queries%';
          ##睡眠11秒,測試慢查詢
          ##select SLEEP(11);
          posted @ 2018-10-09 16:59 筱 筱 閱讀(184) | 評論 (0)編輯 收藏

          velocity properties加載時是放在HashMap中的,首先會加載configLocation中指定文件的內容,然后加載VelocityConfigurer中通過velocityProperties配置的屬性,
          因此,在VelocityConfigurer中配置的屬性會覆蓋configLocation指定文件中的屬性
          posted @ 2014-08-22 11:03 筱 筱 閱讀(5898) | 評論 (0)編輯 收藏

          1、達到默認最大buffer size
          2、調用HttpServletResponse.flushBuffer()
          3、調用HttpServletResponse.getOutputStream().flush()或者HttpServletResponse.getWriter().flush()
          4、調用HttpServletResponse.sendError()或者HttpServletResponse.sendRedirect()
          posted @ 2014-07-23 13:11 筱 筱 閱讀(5907) | 評論 (0)編輯 收藏

          <plugins>
                <plugin>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                      <extdirs>WebContent/WEB-INF/lib</extdirs>
                    </compilerArguments>
                    </configuration>
                  </plugin>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-war-plugin</artifactId>
                  <configuration>
                    <webXml>WebContent/WEB-INF/web.xml</webXml>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                  </configuration>
                </plugin>
              </plugins>
          posted @ 2013-11-01 17:03 筱 筱 閱讀(6460) | 評論 (1)編輯 收藏

          在onPrepareDialog()中添加如下代碼:
          AlertDialog syncDialog = (AlertDialog) dialog;
          Button button = syncDialog.getButton(AlertDialog.BUTTON_POSITIVE);
          button.setText("確定");
          button.setVisibility(View.VISIBLE);
          button.setOnClickListener(new OnClickListener() {
              @Override
              public void onClick(View v) {

              }
          });
          posted @ 2013-03-01 12:51 筱 筱 閱讀(7037) | 評論 (0)編輯 收藏

          uml
          1. 類圖之間的關系
          2. 依賴和關聯關系:
            依賴:是類與類之間的連接,表示一個類依賴于另一個類的定義。例如如果A依賴于B,則B體現為局部變量,方法的參數、或靜態方法的調用。 
            關聯:類與類之間的聯接,它使一個類知道另一個類的屬性和方法, 具體表現為類的成員變量中包含某個對象 

            組合和聚合:
            在有整體和部分關系是才有組合和聚合的概念,屬于關聯關系
            組合:部分離開整體不能存在
            聚合:部分可以離開整體而存在

          3. 用例圖之間的關系:
          4. 包含、泛化、擴展
            包含:當兩個或多個用例中共用一組相同的動作,這時可以將這組相同的動作抽出來作為一個獨立的子用例,供多個基用例所共享。因為子用例被抽出,基用例并非一個完整的用例,所以include關系中的基用例必須和子用例一起使用才夠完整,子用例也必然被執行 
            泛化:繼承關系,子用例將繼承基用例的所有行為 ,也就是說在任何使用基用例的地方都可以用子用例來代替。領導擁有審批的權限,而請假申請審批、加班申請審批都是審批的子類
            擴展:對基用例的擴展,基用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能。 

          posted @ 2012-06-29 11:42 筱 筱 閱讀(5770) | 評論 (0)編輯 收藏

          學習osworkflow
          http://my.so-net.net.tw/idealist/OSWorkflow/
           

          wfentry表中的state字段來自于接口WorkflowEntry,有如下幾個值:
              public static final int CREATED = 0;
              public static final int ACTIVATED = 1;
              public static final int SUSPENDED = 2;
              public static final int KILLED = 3;
              public static final int COMPLETED = 4;
              public static final int UNKNOWN = -1;


          Workflow接口相當于我們service層的接口,而WorkflowStore接口相當于我們DAO層的接口,
          我們知道osworkflow提供的Workflow實現(如:BasicWorkflow)有時并不能滿足業務的需要,因此我們可以實現自己的Workflow,具體可以參照BasicWorkflow 
          繼承AbstractWorkflow,接著加入自己想要的方法。同理,我們可以通過繼承相應的WorkflowStore(如:HibernateWorkflowStore)來編寫自己的方法
          posted @ 2012-06-26 14:49 筱 筱 閱讀(5732) | 評論 (0)編輯 收藏

          1、日期格式化:
              DateFormat
              SimplateDateFormat

          2、數字格式化
              NumberFormat
              DecimalFormat

          3、字符串格式化:
              MessageFormat 以{0},{1}作為占位符,如果你的pattern中有兩個以上的{0},在format時都會用第一個參數替換
              String.format 以%s作為占位符,按傳入的參數一一匹配
              
          posted @ 2011-09-01 17:39 筱 筱 閱讀(3143) | 評論 (0)編輯 收藏

          文字:openfire
          語音/視頻:FMS,red5
          posted @ 2011-08-29 13:58 筱 筱 閱讀(2761) | 評論 (1)編輯 收藏

          在使用svn add 時提示:
          A  (bin)  templates/translate/screen/selectTransLang.vm
          請看官方文檔的解釋:

          當你第一次添加或者導入文件到Subversion中時,Subversion會檢測該文件是否是二進制文件。目前,Subversion的策略是只檢測文件的前1024個字節;如果所有字節都是0,或者超過15%都是非ASCII碼輸出字符的話,那么Subversion就認定該文件是二進制文件。
          如果Subversion認定文件是二進制文件,那么這個文件就會自動添加svn:mime-type屬性,并設置為“application/octet-stream”。(你隨時可以使用auto-props特性來重寫這樣的行為,或者使用svn propset手動設置屬性。)
          Subversion對以下的文件做普通文本處理:
          1、沒有設置svn:mime-type屬性的文件
          2、文件的svn:mime-type屬性值以“text/”開頭
          3、文件的svn:mime-type屬性值等于“image/x-xbitmap”
          4、文件的svn:mime-type屬性值等于“image/x-xpixmap”

          所有其他文件都將被視為二進制文件處理,這意味著Subversion:
          1、不會嘗試在svn update或者svn merge操作時將遠程修改合并到本地中
          2、在svn diff中不會顯示出不同
          3、在svn blame不會每行顯示版本和作者信息

          在其他方面,Subversion將二進制文件和其他文本文件一樣對待
          需要注意,不管是不是二進制文件,都不會影響版本庫中用來存儲文件變更的空間大小,也不會影響客戶端和服務端之間的通訊量。出于存儲和傳輸考慮,Subversion使用的是對二進制文件和普通文本文件一致處理的diffing方法;這和‘svn diff’使用的diffing方法完全不相關。

          好了,我們來看看剛才加的文件是否為二進制:
          進入.svn/props 發現生成文件:selectTransLang.vm.svn-work
          內容如下:
          K 13
          svn:mime-type
          V 24
          application/octet-stream
          END
          或者用如下方法
          svn propget svn:mime-type selectTransLang.vm
          輸出:application/octet-stream

          解決方法,直接編輯去掉這個屬性
          svn propedit svn:mime-type selectTransLang.vm
          或者刪除.svn/props/selectTransLang.vm.svn-work

          看看網上其他牛人的解決方法:
          修改~/.subversion/config
          找到最后一個section,在最后加上如下一行話:
          *.txt = svn:mime-type=text/plain;svn:eol-style=native
          光這個還不夠,向上搜索到這么一行
          # enable-auto-props = yes
          把前面用來注釋這行的那個#和其后的空格去掉

          如果用的是TortoiseSVN,開始菜單 -> TortoiseSVN -> Settings -> General,此時右側有一個名為Edit的按鈕,點擊之后就可以編輯config了

          posted @ 2011-08-04 21:51 筱 筱 閱讀(4036) | 評論 (0)編輯 收藏

          gson:java對象和json之間相互轉換
          xsteam:java對象和xml之間相互轉換
          posted @ 2011-07-15 16:55 筱 筱 閱讀(2330) | 評論 (0)編輯 收藏

          在頁面中顯示某字段時,字段值過長會導致頁面樣式錯亂,這時候我們需要對值進行截取,當截取值時會碰到以下問題:
          1、如果按字符截取會導致中英文顯示的長度不一
          2、如果按字節截取可能會導致最后一個中文截成兩部分
          以下代碼是在網上獲取并經過改造而成,能夠很好的解決上面兩個問題
              /**
               * 根據指定字節數截取字符串,當指定處為中文第一個字節時少截取一個字符,當長度大于指定截取長度時,截取后在字符串末尾追加指定字符串<br/>
               * 這里添加了字符串的編碼,因為頁面的編碼不同,字符串所占字節也不同
               *
               * @param str 待截取字符串,如果為null或者"",則立即返回str
               * @param length 需要截取的長度
               * @param endStr 截取后末尾追加的字符串
               * @param charset 待截取字符串的編碼
               * @return
               */
              public String subStringByByte(String str, int length, String endStr, String charset) {
                  if (str == null || "".equals(str.trim()) || length <= 0) {
                      return str;
                  }
                  try {
                      int strlen = str.getBytes(charset).length;// 這里要和頁面的編碼相關
                      if (strlen < length) return str;
                      Pattern p = Pattern.compile("^[""u4e00-""u9fa5]$");
                      int i = 0, j = 0;
                      int sublength = length - ((endStr == null) ? 0 : endStr.getBytes(charset).length);
                      for (char c : str.toCharArray()) {
                          Matcher m = p.matcher(String.valueOf(c));
                          i += m.find() ? 2 : 1;
                          ++j;
                          if (i == sublength) break;
                          if (i > sublength) {
                              --j;
                              break;
                          }
                      }
                      return str.substring(0, j) + endStr;
                  } catch (UnsupportedEncodingException e) {
                      return str;
                  }
              }
          posted @ 2010-12-14 10:49 筱 筱 閱讀(352) | 評論 (0)編輯 收藏

          英文不太好,經常忘記,所以現在寫下來:
          1,transient:在序列化一個類時,如果類中某個字段不想被序列化,則使用此關鍵字
          2、volatile:用于線程同步時

          posted @ 2010-12-13 20:49 筱 筱 閱讀(243) | 評論 (0)編輯 收藏

          根據分代收集器原理(可以參考垃圾回收機制分類),JVM的內存可分為三個域: 新域、舊域以及永久域
          JVM生成的所有新對象放在新域中。一旦對象經歷了一定數量的垃圾收集循環后,便進入舊域。而在永久域中是用來存儲JVM自己的反射對象的,如class 和method對象,而且GC(Garbage Collection)不會在主程序運行期對永久域進行清理。其中新域和舊域屬于堆,永久域是一個獨立域并且不認為是堆的一部分
          一、java.lang.OutOfMemoryError: PermGen space

          PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,
          這塊內存主要是被 JVM存放Class和Method信息的,Class在被Loader時就會被放到PermGen space中,
          它和存放類實例 (Instance)的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對
          PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現PermGen space錯誤,
          這種錯誤常見在web服務器對 JSP進行pre compile(預編譯)的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小
          超過了jvm默認的大小(4M)那么就會 產生此錯誤信息了。
          解決方法: 手動設置MaxPermSize大小

          修改TOMCAT_HOME/bin/catalina.sh
          在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
          JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
          建議:將相同的第三方jar文件移置到tomcat/shared/lib目錄下,這樣可以達到減少 jar 文檔重復占用內存的目的。

          二、java.lang.OutOfMemoryError: Java heap space
          Heap size 設置
          JVM堆 的設置是指java程序運行過程中JVM可以調配使用的內存空間的設置.JVM在啟動的時候會自動設置Heap size的值,
          其初始空間(即 -Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可
          進行設 置。Heap size 的大小是Young Generation 和Tenured Generaion 之和(新域和舊域之和)。
          提示:在JVM中如果98% 的時間是用于GC且可用的Heap size 不足2%的時候將拋出此異常信息。
          提示:Heap Size 最大不要超過可用物理內存的80%,一般的要將-Xms和-Xmx選項設置為相同,而-Xmn為1/4的-Xmx值。
          解決方法:手動設置 Heap size
          修改TOMCAT_HOME/bin/catalina.sh
          在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
          JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"


          posted @ 2010-08-19 20:39 筱 筱 閱讀(243) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 泸州市| 招远市| 体育| 临澧县| 六盘水市| 灵石县| 东方市| 张家界市| 宜春市| 通海县| 嘉定区| 古浪县| 多伦县| 林州市| 丰都县| 迁西县| 驻马店市| 长武县| 海晏县| 城步| 彭阳县| 双桥区| 波密县| 房山区| 昌图县| 浑源县| 南郑县| 民县| 安福县| 文化| 卢龙县| 谢通门县| 龙海市| 那曲县| 肇州县| 华容县| 苗栗市| 绥芬河市| 兴国县| 靖边县| 玉龙|