posts - 28,  comments - 15,  trackbacks - 0
               摘要: 本文介紹了解決Redis數據庫響應延遲問題的方法,將有助于你找出Redis 響應延遲的問題所在。  閱讀全文
          posted @ 2014-07-22 17:11 zhangxl 閱讀(1839) | 評論 (0)編輯 收藏
               摘要: 豁達是正確樂觀的面對失敗的系統。不需要過多的擔心,需要一種去說那又怎樣的能力。因此架構的設計是如此的重要。許多優秀的系統沒有進一步成長的能力,我們應該做的是使用其他的系統去共同分擔工作。 Redis是 其中一  閱讀全文
          posted @ 2014-07-22 15:27 zhangxl 閱讀(393) | 評論 (0)編輯 收藏
               摘要: 在redis服務器中的分區主要包含兩個目標:
          通過利用多臺計算機內存的和值,允許我們構造更大的數據庫。
          通過多核和多臺計算機,允許我們擴展計算能力;通過多臺計算機和網絡適配器,允許我們擴展網絡帶寬。
            閱讀全文
          posted @ 2014-07-14 12:17 zhangxl 閱讀(679) | 評論 (1)編輯 收藏
               摘要: 為什么我設置的索引不能生效,設置索引應該注意些什么,關于mysql的索引,有哪些細節。本篇文章能告訴你一些知識點。  閱讀全文
          posted @ 2014-05-08 19:48 zhangxl 閱讀(2033) | 評論 (4)編輯 收藏
               摘要: 二叉樹是數據結構世界中具有重要地位的一種數據結構。它同時具備有序數組和鏈表的優點,同時又彌補了有序數組插入數據、鏈表查找的缺點。同時也是各種面試中常見的問題?,F通過java實現二叉樹,加深對二叉樹的理解。  閱讀全文
          posted @ 2014-04-18 18:34 zhangxl 閱讀(339) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2013-06-09 18:07 zhangxl 閱讀(241) | 評論 (0)編輯 收藏
               摘要: 對于MongoDB collection下的文檔而言,在文件大于16MB時,我們應該使用GridFS。在一些解決方案中,使用MongoDB的GridFS存儲大文件,比使用系統級別的文件系統更便利。當文件系統的目錄對文件數量有限制時,你應該使用GridFS來存儲需要的盡可能多的文件;
            閱讀全文
          posted @ 2013-04-09 18:41 zhangxl 閱讀(511) | 評論 (0)編輯 收藏
               摘要: 本文在內網linux環境下構建Mongodb主從復制  閱讀全文
          posted @ 2013-04-02 19:15 zhangxl 閱讀(324) | 評論 (0)編輯 收藏

          語法
          jmap [ option ] pid
          jmap [ option ] executable core
          jmap [ option ] [server-id@]remote-hostname-or-IP


          參數

          option 參數是單一的,緊跟在命令后面。
          pid 要被映射的進程。必須是java進程。用jps可以獲得java進程列表
          executable 產生核心轉儲的可執行java代碼
          core 要被映射的核心文件
          remote-hostname-or-IP 遠程調試服務器的域名或者ip地址(看jsadebugd)
          server-id 可選唯一id,如果多個服務器運行在同一個遠程主機


          描述

              是復制共享對象的內存映射、給定進程的堆內存、核心文件、遠程調試服務器。如果給定的進程是再64的VM,你需要制定參數,例如:
              jmap -J-d64 -heap pid

              注意:這個工具在未來的JDK里可能不支持或者不出現。在windows系統里沒有dbgeng.dll, 需要安裝'Debugging Tools for Windows'來運行這些工具。同時PATH環境變量必須包含被目標進程或者崩潰導出文件位置鎖使用的jvm.dll路徑。例如:
              set PATH=\jre\bin\client;%PATH%


          OPTIONS

          <no option> 當沒有選項,jmap復制共享對象映射。目標虛擬機中的每一個分享對象、開始地址、映射大小、完整路徑被復制。這類似于Solaris中的pmap工具。


          -dump:[live,]format=b,file=<filename> 把java堆導出成hprof二進制格式文件。live子選項是可選的。如果指定,只有堆中的活對象被導出。瀏覽堆鏡像,你可以使用jhat。


          -finalizerinfo 復制正在等待回收的對象信息


          -heap 復制一個堆得概要。使用的GC算法堆配置,使用代的大小。


          -histo[:live] 復制一個堆得柱狀圖。每個Java類,對象個數,內存大?。╞yte),類全路徑。VM的內部類用*為前綴。如果live子選項被指定,只有活對象被計數。


          -permstat 打印堆中永生代的類加載器的寬泛統計。每個加載器的名字,活性,地址,父加載器,它加載的類的大小。另外,駐留字符串的大小和數量。


          -F 強制。使用jmap -dump 或者 jmap -histo 選項時,如果pid沒有響應。在這個模式下live子選項不支持。


          -h 幫助


          -help 幫助


          -J<flag> java虛擬機選項

          posted @ 2013-03-18 17:32 zhangxl 閱讀(1129) | 評論 (0)編輯 收藏
               摘要:     使用java的人都知道,如果覆蓋了Object的equals方法,那么必須要覆蓋hashCode方法,并且如果兩個對象用equals方法比較返回true,那么這兩個對象hashCode返回的值也必須是相等的,并且對于同一個對象,equals方法需要比較的屬性值沒有被修改,那么每次調用hashCode返回的值應該是一致的。  &nb...  閱讀全文
          posted @ 2012-08-16 18:39 zhangxl 閱讀(427) | 評論 (0)編輯 收藏
               摘要: 學習如何在windows下安裝mongo  閱讀全文
          posted @ 2012-05-25 23:58 zhangxl 閱讀(379) | 評論 (0)編輯 收藏
               摘要: 京東碰到的一道面試題  閱讀全文
          posted @ 2012-02-15 15:12 zhangxl 閱讀(1322) | 評論 (1)編輯 收藏
               摘要:     HashMap內部有一個Entry數組,可以稱之為hash table。HashMap的默認構造值為初始容量為16,負載因子為0.75,閥值(初始容量*負載因子)為12。其默認構造子如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH...  閱讀全文
          posted @ 2012-02-13 14:42 zhangxl 閱讀(423) | 評論 (0)編輯 收藏
               摘要: 12個小球其中有一個是次品,不過不知道輕重,請問用天平能用三次測量的機會找出那個次品嗎?  閱讀全文
          posted @ 2012-02-10 17:04 zhangxl 閱讀(1647) | 評論 (0)編輯 收藏
               摘要: java nio 實現 Ping命令行  閱讀全文
          posted @ 2012-02-07 16:53 zhangxl 閱讀(917) | 評論 (0)編輯 收藏
               摘要: AbstractApplicationContext繼承于DefaultResourceLoader,因此AbstractApplicationContext也具備了資源加載的功能。同時ApplicationContext擴展了ResourcePatternResolver接口,所以ApplicationContext的實現類對外表現的Loader應該為ResourcePatternResolver。通俗來講,就是說容器具備資源模式解釋的功能,并能對一資源位置進行加載  閱讀全文
          posted @ 2012-02-07 11:57 zhangxl 閱讀(512) | 評論 (0)編輯 收藏
               摘要: Spring框架提供基于依賴注入的IOC容器,完成對象的構造、依賴注入、對象聲明周期維護等功能,下面將以FileSystemXmlApplicationContext為例來分析Spring IOC容器的實現。
            閱讀全文
          posted @ 2012-02-07 11:10 zhangxl 閱讀(725) | 評論 (0)編輯 收藏

                   JDBC3.0(JDK4.0),引入了一個新特性Savepoint。我們知道,在JDBC2.0中的事務支持讓開發者可以控制對數據的并發訪問,從而保證數據的一致性。但有時候我們需要對事務多一點的控制,而不是在當前的事務中簡單地對每一個改變進行回滾。在 JDBC 3.0 下,我們可以通過 Savepoint 獲得這種控制。 Savepoint 接口允許您將事務分割為各個邏輯斷點,以控制有多少事務需要回滾。下圖將說明如何在事務中運用 Savepoint。

          JDBC下使用Savepoint

          示例代碼:

          conn.setAutoCommit(false);
          // Set a conservative transaction isolation level.
          conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
          Statement stmt 
          = conn.createStatement();
          int rows = stmt.executeUpdate(    "INSERT INTO authors " + 
                          
          '(first_name, last_name) VALUES " +
                          '('Lewis''Carroll')");
          // Set a named savepoint.
          Savepoint svpt = conn.setSavepoint("NewAuthor");
          // 
          rows = stmt.executeUpdate(    "UPDATE authors set type = 'fiction' " +
                          
          "WHERE last_name = 'Carroll'");
          // 
          conn.rollback(svpt);
          // 
          // The author has been added, but not updated.
          conn.commit();

              

          示例結果就是,insert語句將被執行,update語句未執行,其被回滾了。

          Hibernate下使用Savepoint

          示例:

          Session s = sf.openSession();   
          Transaction tx 
          = s.beginTransaction();   
            
          User u1 
          = new User();u1.setId(1);u1.setName("u1");   
          s.save(u1);   
            
          Savepoint savepoint1 
          = s.connection().setSavepoint();   
          User u2 
          = new User();u2.setId(2);u2.setName("u2");   
          s.save(u2);   
           s.flush();

          s.connection().rollback(savepoint1);   
          //s.connection().releaseSavepoint(savepoint1);   
            
          tx.commit();  

           

          SpringSavepoint的支持

           

          posted @ 2012-01-30 11:36 zhangxl 閱讀(2535) | 評論 (0)編輯 收藏
               摘要: 本文主要講述了在linux下,如何用c通過mysql c api訪問mysql數據的問題,同時給出了demo  閱讀全文
          posted @ 2011-10-31 11:16 zhangxl 閱讀(3139) | 評論 (1)編輯 收藏
               摘要:       Apache Benchmark簡稱為ab,是apache自帶的用于HTTP Server測試的工具。它可以接受單一的URL,然后重復地按照指定的多個獨立線程的方式加載,并使用不同的命令行參數控制訪問的次數、最大的并發訪問數等。另外一項不錯的功能是可以輸出比較詳細的報告。   語法 ab [ -A auth-userna...  閱讀全文
          posted @ 2011-09-15 16:09 zhangxl 閱讀(3229) | 評論 (1)編輯 收藏
               摘要: 里面采用java NIO進行通信管理,以前也了解過一些關于這方面的知識但是都不太系統,最近兩天抽時間對這塊進行一下掃盲。我主要參考以下兩篇文章,個人認為這兩篇文章還是不錯的入門級文章,講的比較通俗易懂。
            閱讀全文
          posted @ 2011-06-30 16:24 zhangxl 閱讀(2794) | 評論 (1)編輯 收藏


          下載安裝包:amoeba-mysql-binary-2.1.0-RC5.tar.gz
          下載源代碼:http://amoeba.googlecode.com/svn/trunk


          1.定位Amoeba啟動類

          打開amoeba.bat,經過分析,amoeba的啟動是通過classworlds進行加載的,關于classworlds請參見http://classworlds.codehaus.org/launchusage.html

          在amoeba.bat中是通過以下語句來定位classworlds啟動應用的配置項的

           

          set DEFAULT_OPTS=%DEFAULT_OPTS% "-Dclassworlds.conf=%AMOEBA_HOME%\bin\amoeba.classworlds"


          以下是amoeba.classworlds的內容

          main is com.meidusa.amoeba.server.AmoebaProxyServer from amoeba

          [amoeba]
          load $
          {amoeba.home}/lib/*.jar
          load ${amoeba.home}/lib/classes



          意思就是amoeba應用是從com.meidusa.amoeba.server.AmoebaProxyServer開始啟動的。


          接下來把amoeba下的源文件和amoeba-mysql下的源文件導入到項目中,以及相關jar;

          為了能在bebug模式下啟動,建議在debug-arguments下增加start arguments;

          posted @ 2011-06-24 17:08 zhangxl 閱讀(1389) | 評論 (0)編輯 收藏
           

          上網找了一些資料,主要就是關于跨平臺的一些細節:

          1
          程序設計的信息編碼要注意,一般要采用 ASCII碼字符集,并不是所有的操作系統都支持Unicode碼。
           
          后來研究一下,還是UTF-8。

          2
          程序中不要硬性編碼與平臺相關的任何常量,比如行分隔符、文件分隔符、路徑分隔符等。
          unixmac 中是“/”,在windows里是“\”。
          如要用這些常量,要使用  Java.util.properties 類的getProperty 方法。
          如: Java.util.properties.getProperty("file.seParator")
          可以獲得文件分隔符,getProperty("line.seParator") 返回行分隔符。
                              getProperty("path.seParator")
          返回路徑分隔符

          3
          編寫跨平臺網絡程序時,不要使用 Java.net.InetAddress類的getHostName方法得到主機名,
          因為不同的平臺的主機名格式不同。最好使用 getAddress得到格式相同的IP地址。另外,
          程序中的所有的主機都要換成IP地址。

          4
          如寫GUI程序,在使用AWT組件時不能硬性設置組件的大小和為止,而應該使用JAVA的布局管理器(Layout manager)
           
          來設置。

          5
          不同的操作系統,不同的機器,系統支持的顏色和屏幕的大小和分辨率都不同,如何獲得這些屬性,
          使用 Java.awt.systemcolor 類可以獲得需要的顏色,如該類的 inactiveCaption 就是窗口邊框
          活動標題背景色   Menu是菜單背景色,使用Java.awt.Tookit getScreenResolution可以以
          像素每英寸為單位顯示分辨率。
          該類 getScreenSize 可以得到屏幕大小(英寸), LoadSystemcolors 可以列出所有的系統顏色。

          6
          程序中使用任何一個方法時,要詳細查看文檔,確保,使用的方法不是文檔已經申明為過時的方法,
          也不是文檔中未標明的隱含方法。

          posted @ 2009-08-19 11:02 zhangxl 閱讀(329) | 評論 (0)編輯 收藏
           

          上網找了一些資料,主要就是關于跨平臺的一些細節:

          1
          程序設計的信息編碼要注意,一般要采用 ASCII碼字符集,并不是所有的操作系統都支持Unicode碼。
           
          后來研究一下,還是UTF-8

          2
          程序中不要硬性編碼與平臺相關的任何常量,比如行分隔符、文件分隔符、路徑分隔符等。
          unixmac 中是“/”,在windows里是“\”。
          如要用這些常量,要使用  Java.util.properties 類的getProperty 方法。
          如: Java.util.properties.getProperty("file.seParator")
          可以獲得文件分隔符,getProperty("line.seParator") 返回行分隔符。
                              getProperty("path.seParator")
          返回路徑分隔符

          3
          編寫跨平臺網絡程序時,不要使用 Java.net.InetAddress類的getHostName方法得到主機名,
          因為不同的平臺的主機名格式不同。最好使用 getAddress得到格式相同的IP地址。另外,
          程序中的所有的主機都要換成IP地址。

          4
          如寫GUI程序,在使用AWT組件時不能硬性設置組件的大小和為止,而應該使用JAVA的布局管理器(Layout manager)
           
          來設置。

          5
          不同的操作系統,不同的機器,系統支持的顏色和屏幕的大小和分辨率都不同,如何獲得這些屬性,
          使用 Java.awt.systemcolor 類可以獲得需要的顏色,如該類的 inactiveCaption 就是窗口邊框
          活動標題背景色   Menu是菜單背景色,使用Java.awt.Tookit getScreenResolution可以以
          像素每英寸為單位顯示分辨率。
          該類 getScreenSize 可以得到屏幕大小(英寸), LoadSystemcolors 可以列出所有的系統顏色。

          6
          程序中使用任何一個方法時,要詳細查看文檔,確保,使用的方法不是文檔已經申明為過時的方法,
          也不是文檔中未標明的隱含方法。

          posted @ 2009-08-19 11:01 zhangxl 閱讀(394) | 評論 (0)編輯 收藏
          今天在看完xtree.js代碼后,發現一個問題。在執行javascript的document.write(obj)方法時,如果obj實現了prototype的toString()方法,document.wirte方法將能自動調用obj的toString()方法。代碼如下:
          ???/*----------?? 樹構造代碼 ---------*/
          ??????? if (document.getElementById) {
          ?????????? var tree = new WebFXTree('Root');
          ?????????? tree.setBehavior('classic');
          ?????????? var a = new WebFXTreeItem('1');
          ?????????? tree.add(a);
          ?????????? var b = new WebFXTreeItem('1.1');
          ?????????? a.add(b);
          ????????? b.add(new WebFXTreeItem('1.1.1'));
          ????????? b.add(new WebFXTreeItem('1.1.2'));
          ????????? b.add(new WebFXTreeItem('1.1.3'));
          ????????? var f = new WebFXTreeItem('1.1.4');
          ????????? b.add(f);

          ???????? document.write(tree);

          /*------------------ xtree.js代碼片段 ----------*/

          WebFXTree.prototype.toString = function() {
          alert("it's here!");
          ?var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\">" +
          ??"<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\">" +
          ??"<a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\"" +
          ??(this.target ? " target=\"" + this.target + "\"" : "") +
          ??">" + this.text + "</a></div>" +
          ??"<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">";
          ?var sb = [];
          ?for (var i = 0; i < this.childNodes.length; i++) {
          ??sb[i] = this.childNodes[i].toString(i, this.childNodes.length);
          ?}
          ?this.rendered = true;
          ?return str + sb.join("") + "</div>";
          };

          經過跟蹤,證實在執行document.write(tree)時,調用了WebFXTree.prototype.toString 方法。
          posted @ 2009-08-13 16:20 zhangxl 閱讀(1016) | 評論 (1)編輯 收藏
          lucene 實踐
          posted @ 2008-05-04 17:46 zhangxl 閱讀(325) | 評論 (1)編輯 收藏

          待續....

          posted @ 2006-04-25 11:30 zhangxl 閱讀(461) | 評論 (0)編輯 收藏
          <2006年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆分類(17)

          隨筆檔案(28)

          文章分類(30)

          文章檔案(30)

          相冊

          收藏夾(2)

          hibernate

          java基礎

          mysql

          xml

          關注

          壓力測試

          算法

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 96393
          • 排名 - 601

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙江县| 且末县| 千阳县| 霍林郭勒市| 临桂县| 方正县| 岳西县| 安丘市| 宿州市| 湘西| 宁夏| 铁岭县| 新余市| 上杭县| 揭阳市| 祁门县| 隆子县| 姜堰市| 昆明市| 乌兰浩特市| 玛多县| 祁门县| 丹巴县| 西和县| 岢岚县| 保靖县| 陇川县| 张掖市| 海盐县| 高青县| 蒲江县| 龙门县| 麻江县| 景洪市| 宽甸| 江华| 綦江县| 嘉兴市| 繁峙县| 喀喇| 定陶县|