通過利用多臺計算機內存的和值,允許我們構造更大的數據庫。
通過多核和多臺計算機,允許我們擴展計算能力;通過多臺計算機和網絡適配器,允許我們擴展網絡帶寬。
閱讀全文 摘要: 為什么我設置的索引不能生效,設置索引應該注意些什么,關于mysql的索引,有哪些細節。本篇文章能告訴你一些知識點。 閱讀全文 摘要: 二叉樹是數據結構世界中具有重要地位的一種數據結構。它同時具備有序數組和鏈表的優點,同時又彌補了有序數組插入數據、鏈表查找的缺點。同時也是各種面試中常見的問題。現通過java實現二叉樹,加深對二叉樹的理解。 閱讀全文 摘要: 閱讀全文 摘要: 對于MongoDB collection下的文檔而言,在文件大于16MB時,我們應該使用GridFS。在一些解決方案中,使用MongoDB的GridFS存儲大文件,比使用系統級別的文件系統更便利。當文件系統的目錄對文件數量有限制時,你應該使用GridFS來存儲需要的盡可能多的文件;
閱讀全文 摘要: 本文在內網linux環境下構建Mongodb主從復制 閱讀全文
語法
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類,對象個數,內存大小(byte),類全路徑。VM的內部類用*為前綴。如果live子選項被指定,只有活對象被計數。
-permstat 打印堆中永生代的類加載器的寬泛統計。每個加載器的名字,活性,地址,父加載器,它加載的類的大小。另外,駐留字符串的大小和數量。
-F 強制。使用jmap -dump 或者 jmap -histo 選項時,如果pid沒有響應。在這個模式下live子選項不支持。
-h 幫助
-help 幫助
-J<flag> java虛擬機選項
閱讀全文
在JDBC3.0中(JDK4.0),引入了一個新特性Savepoint。我們知道,在JDBC2.0中的事務支持讓開發者可以控制對數據的并發訪問,從而保證數據的一致性。但有時候我們需要對事務多一點的控制,而不是在當前的事務中簡單地對每一個改變進行回滾。在 JDBC 3.0 下,我們可以通過 Savepoint 獲得這種控制。 Savepoint 接口允許您將事務分割為各個邏輯斷點,以控制有多少事務需要回滾。下圖將說明如何在事務中運用 Savepoint。
JDBC下使用Savepoint
示例代碼:





















示例結果就是,insert語句將被執行,update語句未執行,其被回滾了。
Hibernate下使用Savepoint
示例:
















Spring對Savepoint的支持
閱讀全文
下載安裝包: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啟動應用的配置項的



以下是amoeba.classworlds的內容







意思就是amoeba應用是從com.meidusa.amoeba.server.AmoebaProxyServer開始啟動的。
接下來把amoeba下的源文件和amoeba-mysql下的源文件導入到項目中,以及相關jar;
為了能在bebug模式下啟動,建議在debug-arguments下增加start arguments;
上網找了一些資料,主要就是關于跨平臺的一些細節:
1 程序設計的信息編碼要注意,一般要采用 ASCII碼字符集,并不是所有的操作系統都支持Unicode碼。
后來研究一下,還是UTF-8。
2 程序中不要硬性編碼與平臺相關的任何常量,比如行分隔符、文件分隔符、路徑分隔符等。
在unix和mac 中是“/”,在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 程序中使用任何一個方法時,要詳細查看文檔,確保,使用的方法不是文檔已經申明為過時的方法,
也不是文檔中未標明的隱含方法。
上網找了一些資料,主要就是關于跨平臺的一些細節:
1 程序設計的信息編碼要注意,一般要采用 ASCII碼字符集,并不是所有的操作系統都支持Unicode碼。
后來研究一下,還是UTF-8。
2 程序中不要硬性編碼與平臺相關的任何常量,比如行分隔符、文件分隔符、路徑分隔符等。
在unix和mac 中是“/”,在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 程序中使用任何一個方法時,要詳細查看文檔,確保,使用的方法不是文檔已經申明為過時的方法,
也不是文檔中未標明的隱含方法。
???/*----------?? 樹構造代碼 ---------*/
??????? 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 方法。
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 31 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(1)
隨筆分類(17)
- arithmetics(3)
- C/C++(1)
- Cache
- DB(1)
- IOC/AOP(2)
- java concurrency(2)
- java 多線程
- JDK(1)
- JVM(1)
- Linux(1)
- nosql(5)
- Performance
隨筆檔案(28)
- 2014年7月 (3)
- 2014年5月 (1)
- 2014年4月 (1)
- 2013年6月 (1)
- 2013年4月 (2)
- 2013年3月 (1)
- 2012年8月 (1)
- 2012年5月 (1)
- 2012年2月 (6)
- 2012年1月 (1)
- 2011年10月 (1)
- 2011年9月 (1)
- 2011年6月 (2)
- 2009年8月 (3)
- 2008年5月 (1)
- 2006年4月 (2)
文章分類(30)
- AJAX
- common(3)
- DB(3)
- java tools(1)
- JAVA 基礎文章(1)
- java 并發(3)
- JDBC(1)
- linux(3)
- ORM(包括hibernate等)(2)
- Spring(6)
- SWT、SWING、AWT(2)
- web(2)
- web service
- 優化(2)
- 版本控制(1)
文章檔案(30)
- 2013年4月 (1)
- 2013年3月 (1)
- 2012年1月 (2)
- 2011年12月 (1)
- 2011年11月 (1)
- 2011年8月 (2)
- 2011年7月 (1)
- 2011年6月 (4)
- 2011年4月 (3)
- 2009年8月 (4)
- 2008年6月 (1)
- 2008年4月 (1)
- 2007年3月 (2)
- 2006年12月 (1)
- 2006年10月 (2)
- 2006年8月 (1)
- 2006年6月 (1)
- 2006年4月 (1)
相冊
收藏夾(2)
hibernate
java基礎
mysql
xml
- IBM XSL
- w3c標準的xpath說明
- web service ibm
- XPath 示例
- XPath 簡單語法
- XQuery 1.0 and XPath 2.0 Full-Text Use Cases
關注
壓力測試
算法
最新隨筆
- 1.?解決Redis數據庫響應延遲問題(轉載)
- 2.?理想化的 Redis 集群 (轉載)
- 3.?Redis 分區(翻譯)
- 4.?Mysql索引相關知識分享
- 5.?數據結構-BinaryTree
- 6.?深入學習Linux之命令篇-find
- 7.?什么情況下應該使用GridFS(翻譯)
- 8.?Mongodb主從復制實踐
- 9.?jmap使用
- 10.?為什么實現了equal方法,一定需要實現hashCode方法呢?
- 11.?MongoDB學習—MongoDB安裝
- 12.?京東碰到的一道面試題
- 13.?HashMap分析
- 14.?12個小球其中有一個是次品,不過不知道輕重,請問用天平能用三次測量的機會找出那個次品嗎?
- 15.?使用java nio 實現 Ping
- 16.?Spring 源碼閱讀(IOC容器)-容器啟動2
- 17.?Spring 源碼閱讀(IOC容器)-容器啟動1
- 18.?JDBC SavePoint淺析
- 19.?Linux下C訪問MySQL實踐
- 20.?Apache Benchmark(ab)使用
- 21.?Java NIO Demo
- 22.?Amoeba源碼解讀一
- 23.?編寫跨平臺代碼注意事項
- 24.?編寫跨平臺代碼注意事項
- 25.?JavaScript的toString()方法自動調用
搜索
積分與排名
- 積分 - 96260
- 排名 - 601
最新評論

- 1.?嗯嗯
- 阿斯達斯
- --安德森
- 2.?re: tomcat 產生heapdump文件配置
- 如果不內存溢出,heapdump目錄是不是空的?
- --小龍在線
- 3.?re: Java NIO Demo
- 評論內容較長,點擊標題查看
- --zuidaima
- 4.?re: Redis 分區(翻譯)
- 手機賺錢軟件http://www.szapk.cn!!!
- --手機賺錢軟件http://www.szapk.cn
- 5.?re: Mysql索引相關知識分享
- 很有價值的分享,值得學習
- --任務大廳
閱讀排行榜
評論排行榜
- 1.?Mysql索引相關知識分享(4)
- 2.?京東碰到的一道面試題(1)
- 3.?Linux下C訪問MySQL實踐(1)
- 4.?Apache Benchmark(ab)使用(1)
- 5.?Java NIO Demo(1)
- 6.?JavaScript的toString()方法自動調用(1)
- 7.?lucene 實踐(1)
- 8.?Redis 分區(翻譯)(1)
- 9.?解決Redis數據庫響應延遲問題(轉載)(0)
- 10.?理想化的 Redis 集群 (轉載)(0)
- 11.?dom4j學習筆記(0)
- 12.?創建mysql innodb數據庫(0)
- 13.?Amoeba源碼解讀一(0)
- 14.?編寫跨平臺代碼注意事項(0)
- 15.?編寫跨平臺代碼注意事項(0)
- 16.?HashMap分析(0)
- 17.?12個小球其中有一個是次品,不過不知道輕重,請問用天平能用三次測量的機會找出那個次品嗎?(0)
- 18.?使用java nio 實現 Ping(0)
- 19.?Spring 源碼閱讀(IOC容器)-容器啟動2(0)
- 20.?Spring 源碼閱讀(IOC容器)-容器啟動1(0)