﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-chen4765654</title><link>http://www.blogjava.net/chen4765654/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 07:54:15 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 07:54:15 GMT</pubDate><ttl>60</ttl><item><title>Get请求参数中文乱码解决</title><link>http://www.blogjava.net/chen4765654/archive/2016/07/12/431171.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Tue, 12 Jul 2016 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2016/07/12/431171.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/431171.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2016/07/12/431171.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/431171.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/431171.html</trackback:ping><description><![CDATA[因为在jsp中对中文进行了编码的时候用的是UTF-8的编码方式，而在servlet中调用request.getParameter();方法的时候使用服务器指定的编码格式自动解码一次，所以前台编码一次后台解码一次而解码和编码的方式不用所以造成了乱码的出现。<br /><br />所以需要先编码再解码，代码如下：<br />fileName=java.net.URLDecoder.decode(java.net.URLEncoder.encode(fileName,"iso8859-1"),"utf-8");<br /><img src ="http://www.blogjava.net/chen4765654/aggbug/431171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2016-07-12 17:13 <a href="http://www.blogjava.net/chen4765654/archive/2016/07/12/431171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JVM参数配置</title><link>http://www.blogjava.net/chen4765654/archive/2015/09/18/427390.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Fri, 18 Sep 2015 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2015/09/18/427390.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/427390.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2015/09/18/427390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/427390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/427390.html</trackback:ping><description><![CDATA[<div><strong>set JAVA_OPTS=-server -Xmn4096m -Xms8192m -Xmx8192m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=256m &nbsp;-XX:SurvivorRatio=8 -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC &nbsp;-XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=30 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+DisableExplicitGC &nbsp;-XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=2 -XX:GCTimeRatio=20 -XX:SoftRefLRUPolicyMSPerMB=0 -Xnoclassgc -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods<br /></strong><strong><br /></strong></div>
<div></div>
<div>&#8211;XX:ParallelGCThreads=20：设置 20 个线程进行垃圾回收；</div>
<div>&#8211;XX:+UseParNewGC：年轻代使用并行回收器；</div>
<div>&#8211;XX:+UseConcMarkSweepGC：年老代使用 CMS 收集器降低停顿；</div>
<div>&#8211;XX:+SurvivorRatio：设置 Eden 区和 Survivor 区的比例为 8:1。稍大的 Survivor 空间可以提高在年轻代回收生命周期较短的对象的可能性，如果 Survivor 不够大，一些短命的对象可能直接进入年老代，这对系统来说是不利的。</div>
<div>&#8211;XX:TargetSurvivorRatio=90：设置 Survivor 区的可使用率。这里设置为 90%，则允许 90%的 Survivor 空间被使用。默认值是 50%。故该设置提高了 Survivor 区的使用率。当存放的对象超过这个百分比，则对象会向年老代压缩。因此，这个选项更有助于将对象留在年轻代。</div>
<div>&#8211;XX:MaxTenuringThreshold：设置年轻对象晋升到年老代的年龄。默认值是 15 次，即对象经过 15 次 Minor GC 依然存活，则进入年老代。这里设置为 31，目的是让对象尽可能地保存在年轻代区域。</div>
<div></div>
<div></div>
<div>-XX:GCTimeRatio</div>
<div>通过-XX:GCTimeRatio=&lt;value&gt;我们告诉JVM吞吐量要达到的目标值。 更准确地说，-XX:GCTimeRatio=N指定目标应用程序线程的执行时间(与总的程序执行时间)达到N/(N+1)的目标比值。 例如，通过-XX:GCTimeRatio=9我们要求应用程序线程在整个执行时间中至少9/10是活动的(因此，GC线程占用其余1/10)。 基于运行时的测量，JVM将会尝试修改堆和GC设置以期达到目标吞吐量。 -XX:GCTimeRatio的默认值是99，也就是说，应用程序线程应该运行至少99%的总执行时间</div><br /><br />
<div><span style="color: red"><strong>JDK7可以用使用G1垃圾回收器，最好堆栈大于4G情况下使用。</strong></span></div>
<div></div>
<div><span><strong>-Xmx24g -Xms24g -XX:PermSize=96m -XX:MaxPermSize=96m -XX:+UseG1GC -XX:SurvivorRatio=6 -XX:MaxGCPauseMillis=400 -XX:G1ReservePercent=15 &nbsp;-XX:InitiatingHeapOccupancyPercent=40 -XX:ConcGCThreads=8<br /></strong></span></div>
<div></div>
<div>使用G1时的最佳实践</div>
<div>1、不要设置年轻代的大小（-Xmn），否则会扰乱G1的缺省行为，JVM也不会满足用户指定的暂停时间。而且设置了固定值的话，G1将无法随需扩展年轻代的大小</div>
<div>2、GC暂停时间不是100%能保证的</div>
<div>3、如果GC的晋升过程中遇到堆区域溢出（使用-XX:+PrintGCDetails看到to-space overflow），可以通过下面几种方式避免：</div>
<div>增加-XX:G1ReservePercent=n，缺省值是10。这可以增加可用的to-space内存</div>
<div>使用-XX:ConcGCThreads=n增加标记线程数目</div>
<div></div>
<div></div>
<div></div>
<h3>G1常用参数</h3>
<table style="border-top-style: solid; box-sizing: border-box; margin-bottom: 20px; font-size: 14px; max-width: 100%; font-family: 'Helvetica Neue', Ubuntu, Tahoma, Arial, Helvetica, sans-serif; border-collapse: collapse; border-bottom-style: solid; color: #333333; border-right-style: solid; border-spacing: 0px; border-left-style: solid; line-height: 20px; background-color: #ffffff; transition: all 0.3s; -webkit-transition: all 0.3s">
<thead style="box-sizing: border-box">
<tr style="box-sizing: border-box">
<th style="box-sizing: border-box; border-top: 0px; border-right: 1px solid; vertical-align: bottom; border-bottom: 2px solid; padding-bottom: 8px; padding-top: 8px; padding-left: 8px; border-left: 1px solid; padding-right: 8px">参数</th>
<th style="box-sizing: border-box; border-top: 0px; border-right: 1px solid; vertical-align: bottom; border-bottom: 2px solid; padding-bottom: 8px; padding-top: 8px; padding-left: 8px; border-left: 1px solid; padding-right: 8px">描述</th></tr></thead>
<tbody style="box-sizing: border-box">
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:+UseG1GC</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">开启G1</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:MaxGCPauseMillis=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">设置GC暂停的最大时间,这只是目标,尽量达到,默认值是 200 毫秒,<code style="box-sizing: border-box; font-size: 13px; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; white-space: nowrap; color: #c7254e; padding-bottom: 2px; padding-top: 2px; padding-left: 4px; padding-right: 4px; background-color: #f9f2f4; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px">过小影响吞吐量</code></td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:InitiatingHeapOccupancyPercent=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">整个堆(而不是某个年代)使用量达到此值,便会触发并发GC周期.值为0则是连续触发,默认值为45</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:NewRatio=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">老年代与新生代的比值,默认值为2</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:SurvivorRatio=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">伊甸园代与生存代的比率,默认值为8</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:MaxTenuringThreshold=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">生存代存活的最大门限,默认值为15</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:ParallelGCThreads=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">设置垃圾回收器并行阶段的线程数,默认值与JVM运行的平台有关,<code style="box-sizing: border-box; font-size: 13px; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; white-space: nowrap; color: #c7254e; padding-bottom: 2px; padding-top: 2px; padding-left: 4px; padding-right: 4px; background-color: #f9f2f4; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px">将 n 的值设置为逻辑处理器的数量</code></td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:ConcGCThreads=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">设置并发垃圾回收器使用的线程数,默认值与JVM运行的平台有关</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:G1ReservePercent=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">设置剩余的内存量,减少跃迁失败的可能,默认值为10</td></tr>
<tr style="box-sizing: border-box">
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">-XX:G1HeapRegionSize=n</td>
<td style="border-top-style: solid; box-sizing: border-box; vertical-align: top; border-bottom-style: solid; padding-bottom: 8px; padding-top: 8px; border-right-style: solid; padding-left: 8px; border-left-style: solid; padding-right: 8px">设置G1平分java堆而产生区域的大小,默认值可以提供最大的工效性.最小值为1M,最大为32M,最多划分1024个,<code style="box-sizing: border-box; font-size: 13px; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; white-space: nowrap; color: #c7254e; padding-bottom: 2px; padding-top: 2px; padding-left: 4px; padding-right: 4px; background-color: #f9f2f4; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px">建议使用默认值</code></td></tr></tbody></table>
<div></div><img src ="http://www.blogjava.net/chen4765654/aggbug/427390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2015-09-18 17:52 <a href="http://www.blogjava.net/chen4765654/archive/2015/09/18/427390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Extjs的对齐方法alignTo介绍</title><link>http://www.blogjava.net/chen4765654/archive/2015/03/18/423562.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Wed, 18 Mar 2015 03:51:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2015/03/18/423562.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/423562.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2015/03/18/423562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/423562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/423562.html</trackback:ping><description><![CDATA[<div style="margin: 0px; padding-bottom: 3px; box-sizing: border-box; background-color: #ffffff;"><div><span style="line-height: 19.5px;">alignTo( String/HTMLElement/Ext.Element element, [String position], [Number[] offsets], [Boolean/Object animate] ) : Ext.Element</span></div><div><span style="line-height: 19.5px;">通过指定的锚点将此元素与另一个元素对齐. 如果另一个元素时文档document本身,则对齐到 viewport. 参数 position 是可选的, 并可以指定为以下的格式:</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">空白: 默认将此元素的左上角(top-left)对齐到目标元素的左下角(bottom-left),即("tl-bl").</span></div><div><span style="line-height: 19.5px;">一个锚点anchor (此设置已被废弃,deprecated): 传递的锚点位置被用做目标元素的 锚点位置. 此元素将其左上角定位到另一个元素的指定的锚点. 此方法已被废弃,最好使用下面的两个锚点的格式.</span></div><div><span style="line-height: 19.5px;">两个锚点anchor: 如下面的表格所示,如果参数是用破折号(-)分隔的两个值, 那么第一个值用作此元素的锚点, 而第二个值用作目标元素的锚点(anchor point)</span></div><div><span style="line-height: 19.5px;">除了锚点, 参数 position 也支持 "?" 字符. 如果问号字符 "?" 出现在position 字符串的末尾, 则元素将试图对齐指定的位置, 如果必要,则会被适当调整以限制在viewport中. 注意: 为了执行 viewport 的限制,被对齐的元素将可能被对齐到其他的位置. 下表是所有支持的锚点位置(anchor positions):</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">&nbsp;值 &nbsp; &nbsp; &nbsp;说明</span></div><div><span style="line-height: 19.5px;">----- &nbsp;-----------------------------</span></div><div><span style="line-height: 19.5px;">tl &nbsp; &nbsp; 左上角(top left corner) (默认值)</span></div><div><span style="line-height: 19.5px;">t &nbsp; &nbsp; &nbsp;上边界(top edge)的中心</span></div><div><span style="line-height: 19.5px;">tr &nbsp; &nbsp; 右上角(top right)</span></div><div><span style="line-height: 19.5px;">l &nbsp; &nbsp; &nbsp;左边界(left edge)的中心</span></div><div><span style="line-height: 19.5px;">c &nbsp; &nbsp; &nbsp;元素的中心(center)</span></div><div><span style="line-height: 19.5px;">r &nbsp; &nbsp; &nbsp;右边界(right edge)的中心</span></div><div><span style="line-height: 19.5px;">bl &nbsp; &nbsp; 左下角(bottom left)</span></div><div><span style="line-height: 19.5px;">b &nbsp; &nbsp; &nbsp;下边界(bottom edge)的中心</span></div><div><span style="line-height: 19.5px;">br &nbsp; &nbsp; 左下角(bottom right)</span></div><div><span style="line-height: 19.5px;">用法示例:</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">// 使用默认的对齐位置("tl-bl", 不受限制) 将 el 对齐到 other-el&nbsp;</span></div><div><span style="line-height: 19.5px;">el.alignTo("other-el");</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">// 对齐el元素的左上角到other-el元素的右上角 (受viewport限制)</span></div><div><span style="line-height: 19.5px;">el.alignTo("other-el", "tr?");</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">// 对齐el元素的右下角到other-el元素的左边界中心</span></div><div><span style="line-height: 19.5px;">el.alignTo("other-el", "br-l?");</span></div><div><span style="line-height: 19.5px;"><br /></span></div><div><span style="line-height: 19.5px;">// 对齐el元素的中心点center到other-el元素的左下角,</span></div><div><span style="line-height: 19.5px;">// 并调整 x 的位置偏移为 -6 pixels (y 位置偏移为 0)</span></div><div><span style="line-height: 19.5px;">el.alignTo("other-el", "c-bl", [-6, 0]);</span></div></div><div style="margin: 0px; box-sizing: border-box; color: #444444; font-family: HelveticaNeue, helvetica, arial, clean, sans-serif; font-size: 13px; line-height: 19.5px; background-color: #ffffff;"><div style="margin: 0px; box-sizing: border-box;">
</div>
</div><img src ="http://www.blogjava.net/chen4765654/aggbug/423562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2015-03-18 11:51 <a href="http://www.blogjava.net/chen4765654/archive/2015/03/18/423562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BTrace跟踪DBCP泄漏脚本</title><link>http://www.blogjava.net/chen4765654/archive/2014/12/16/421472.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Tue, 16 Dec 2014 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/12/16/421472.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/421472.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/12/16/421472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/421472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/421472.html</trackback:ping><description><![CDATA[<div></div><div>import static com.sun.btrace.BTraceUtils.println;</div><div>import static com.sun.btrace.BTraceUtils.str;</div><div>import static com.sun.btrace.BTraceUtils.strcat;</div><div>import static com.sun.btrace.BTraceUtils.timeMillis;</div><div>import java.sql.Connection;</div><div>import java.util.HashMap;</div><div>import java.util.Map;</div><div>import com.sun.btrace.BTraceUtils;</div><div>import com.sun.btrace.annotations.BTrace;</div><div>import com.sun.btrace.annotations.Kind;</div><div>import com.sun.btrace.annotations.Location;</div><div>import com.sun.btrace.annotations.OnMethod;</div><div>import com.sun.btrace.annotations.ProbeClassName;</div><div>import com.sun.btrace.annotations.ProbeMethodName;</div><div>import com.sun.btrace.annotations.Return;</div><div>import com.sun.btrace.annotations.OnEvent;</div><div>import com.sun.btrace.annotations.Self;</div><div>import com.sun.btrace.annotations.TLS;</div><div>import java.lang.Appendable;</div><div>@BTrace public class DataSourceTrace {</div><div></div><div>&nbsp;private static Map map = BTraceUtils.newHashMap();</div><div>&nbsp;</div><div>&nbsp;@OnMethod(clazz = "org.apache.commons.dbcp.BasicDataSource", method = "getConnection", location = @Location(Kind.RETURN))</div><div>&nbsp;public static void traceExecute(@ProbeClassName String name,@ProbeMethodName String method, @Return Connection conn) {</div><div>&nbsp; //BTraceUtils.println(strcat("获取连接:",BTraceUtils.str(conn)));</div><div>&nbsp; Appendable buffer=BTraceUtils.Strings.newStringBuilder();</div><div>&nbsp; BTraceUtils.Strings.append(buffer,BTraceUtils.timestamp("yyyy-MM-dd HH:mm:ss"));</div><div>&nbsp; BTraceUtils.Strings.append(buffer," - ");</div><div>&nbsp; BTraceUtils.Strings.append(buffer,BTraceUtils.jstackStr());</div><div>&nbsp; BTraceUtils.put(map, conn,str(buffer));</div><div>&nbsp;}</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;@OnMethod(clazz = "org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper", method = "close")</div><div>&nbsp;public static void traceExecute2(@ProbeClassName String name,@ProbeMethodName String method, @Self Connection conn) {</div><div>&nbsp; //BTraceUtils.println(strcat("释放连接:",BTraceUtils.str(conn)));</div><div>&nbsp; BTraceUtils.remove(map, conn);</div><div>&nbsp;}</div><div>&nbsp;</div><div>&nbsp;@OnEvent</div><div>&nbsp;public static void exit(){ &nbsp;</div><div>&nbsp;<span style="white-space:pre">	</span>//这里打印泄漏连接的方法堆栈，运行一段时间后通过Ctrl+C,选择2，发送事件打印</div><div>&nbsp; BTraceUtils.printMap(map);</div><div>&nbsp;}</div><div>&nbsp;</div><div>&nbsp;</div><div>}</div><div></div><img src ="http://www.blogjava.net/chen4765654/aggbug/421472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-12-16 16:20 <a href="http://www.blogjava.net/chen4765654/archive/2014/12/16/421472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE大数据量生成语句</title><link>http://www.blogjava.net/chen4765654/archive/2014/09/15/417939.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Mon, 15 Sep 2014 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/09/15/417939.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/417939.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/09/15/417939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/417939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/417939.html</trackback:ping><description><![CDATA[<div>为了更好的测试我们的系统在一定数据量下的运行情况，时常需要准备大量的测试数据。如果有灵活的方法可以使用，那就可以事半功倍了。</div><div>以下介绍如何在ORACLE数据库中进行大数据量的构造方法，数据量大小均为500万。</div><div></div><div>'''基本主键列'''</div><div>SELECT LEVEL AS ID</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt;= 5000000</div><div></div><div>'''基本的单据列'''</div><div>SELECT 'SO20121123' || LPAD(LEVEL, 5, 0) AS ORDER_NO</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt;= 5000000;</div><div></div><div>'''基本的日期列'''</div><div>SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE, 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TO_NUMBER(TO_CHAR(SYSDATE, 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 AS ENTRYDATE</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''特定时间范围内'''</div><div>SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE - 10, 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TO_NUMBER(TO_CHAR(SYSDATE, 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 / 24 AS ENTRYDATE</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''随机数据'''</div><div>SELECT DBMS_RANDOM.VALUE FROM DUAL CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''随机数据范围'''</div><div>SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100))</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''随机字符串'''</div><div>SELECT DBMS_RANDOM.STRING('A', 8) FROM DUAL CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''复杂组合（订单）'''</div><div>SELECT 'P-' ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp;TO_CHAR((TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE - 30,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TO_NUMBER(TO_CHAR(SYSDATE,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 / 24),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'YYMMDD') || '-' ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp;LPAD(TRUNC(DBMS_RANDOM.VALUE(1, 100)), 5, '0') AS 订单号,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;'一般采购' AS 订单类型,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;'SO20121123' || LPAD(LEVEL, 4, 0) AS 外部订单号,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;'admin' AS 变更人,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE, 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TO_NUMBER(TO_CHAR(SYSDATE, 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 AS 更新时间</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt; 5000000;</div><div></div><div>'''加入随机用户或者字符'''</div><div>SELECT 'P-' ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp;TO_CHAR((TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE - 30,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TO_NUMBER(TO_CHAR(SYSDATE,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 / 24),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'YYMMDD') || '-' ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp;LPAD(TRUNC(DBMS_RANDOM.VALUE(1, 100)), 5, '0') AS 订单号,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;'一般采购' AS 订单类型,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;CASE TRUNC(DBMS_RANDOM.VALUE(0, 2))</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN 0 THEN</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ('SO20121123' || LPAD(LEVEL, 4, 0))</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ELSE</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ('')</div><div>&nbsp; &nbsp; &nbsp; &nbsp;END AS 外部订单号,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;CASE TRUNC(DBMS_RANDOM.VALUE(0, 3))</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN 0 THEN</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'admin'</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHEN 1 THEN</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'steven'</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ELSE</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'joseph'</div><div>&nbsp; &nbsp; &nbsp; &nbsp;END AS 变更人,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_NUMBER(TO_CHAR(SYSDATE, 'J')),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TO_NUMBER(TO_CHAR(SYSDATE, 'J')))),</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'J') + DBMS_RANDOM.VALUE(1, 360000) / 3600 AS 更新时间</div><div>&nbsp; FROM DUAL</div><div>CONNECT BY LEVEL &lt; 5000000;</div><div></div><img src ="http://www.blogjava.net/chen4765654/aggbug/417939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-09-15 13:50 <a href="http://www.blogjava.net/chen4765654/archive/2014/09/15/417939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring+Hibernate（JPA）防止脏数据自动提交</title><link>http://www.blogjava.net/chen4765654/archive/2014/09/07/417747.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Sun, 07 Sep 2014 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/09/07/417747.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/417747.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/09/07/417747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/417747.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/417747.html</trackback:ping><description><![CDATA[<span style="background-color: #ffffff;">Hibernate的脏检查（dirty checking）。每次装载一个对象到内存时，session始终跟踪它的修改。于是每次对数据的查询，session都将跌代所有的session中的对象并检查脏数据，将脏数据flush到数据库。</span><br /><span style="background-color: #ffffff;">方法1：</span><br /><span style="background-color: #ffffff;">将事务设置为只读，然后手工flush。</span><br /><span style="background-color: #ffffff;">@Transactional(rollbackFor = RuntimeException.class,readOnly=true)</span><br /><span style="background-color: #ffffff;">public void save(TestEmployee entity) {</span><br /><span style="background-color: #ffffff;">entitymanager.persist(entity);</span><br /><span style="background-color: #ffffff;">entitymanager.flush();</span><br /><span style="background-color: #ffffff;">}</span><br /><span style="background-color: #ffffff;">方法2：</span><br /><span style="background-color: #ffffff;">在一个session中读取、查询大量数据对象情况下的制胜武器- FlushMode.NEVER。当然要记住，在此过程中你不可以修改这些数据，不然就真的把数据&#8220;搞脏&#8221;了。</span><br /><span style="background-color: #ffffff;">使用武器秘诀如下：</span><br /><span style="background-color: #ffffff;">FlushMode previous = session.getFlushMode();</span><br /><span style="background-color: #ffffff;">session.flush(); // who know's what been done till now</span><br /><span style="background-color: #ffffff;">session.setFlushMode(FlushMode.NEVER);</span><br /><span style="background-color: #ffffff;">// Do some querying</span><br /><span style="background-color: #ffffff;">// Do some more querying</span><br /><span style="background-color: #ffffff;">// Really load up that session</span><br /><span style="background-color: #ffffff;">// Execute a few more queries</span><br /><span style="background-color: #ffffff;">// Write back to some tables</span><br /><span style="background-color: #ffffff;">session.flush();</span><br /><span style="background-color: #ffffff;">session.setFlushMode(previous);</span><img src ="http://www.blogjava.net/chen4765654/aggbug/417747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-09-07 11:13 <a href="http://www.blogjava.net/chen4765654/archive/2014/09/07/417747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle常规表优化</title><link>http://www.blogjava.net/chen4765654/archive/2014/07/29/416292.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Tue, 29 Jul 2014 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/07/29/416292.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/416292.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/07/29/416292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/416292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/416292.html</trackback:ping><description><![CDATA[<div>--释放空间</div><div>alter table tpl_order shrink space;</div><div></div><div>--重建索引</div><div>Alter index IDX_TPL_ORDER_1 rebuild;</div><div></div><div>--重新分析表</div><div>analyze table &nbsp;tpl_order compute statistics;&nbsp;</div><img src ="http://www.blogjava.net/chen4765654/aggbug/416292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-07-29 15:20 <a href="http://www.blogjava.net/chen4765654/archive/2014/07/29/416292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>复杂关联查询物化视图</title><link>http://www.blogjava.net/chen4765654/archive/2014/07/17/415931.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Thu, 17 Jul 2014 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/07/17/415931.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/415931.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/07/17/415931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/415931.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/415931.html</trackback:ping><description><![CDATA[实现目标：查询子表TEST_B的STATUS为1的记录所关联的父表的CODE<br /><br /><br />
<p><span style="color: red">1、现在子表建立聚合物化视图</span><br />CREATE MATERIALIZED VIEW LOG on test_b WITH rowid ,SEQUENCE (status,p_id) INCLUDING NEW VALUES;</p>
<p><br />create materialized view mv_test_b&nbsp;&nbsp; <br />&nbsp;BUILD immediate<br />&nbsp;refresh fast on demand&nbsp;&nbsp; <br />&nbsp;start with sysdate next sysdate+1/1440 with rowid&nbsp;&nbsp; <br />&nbsp;as&nbsp; <br />&nbsp;select a.p_id,COUNT(*) from test_b a where a.status=1 group by a.p_id; <br />&nbsp;<br />&nbsp;<br /><span style="color: red">2、在子表聚合物化视图上建立日志</span><br />CREATE MATERIALIZED VIEW LOG on mv_test_b WITH rowid ,SEQUENCE (p_id) INCLUDING NEW VALUES;</p>
<p><br /><span style="color: red">3、在主表建立关联物化视图和日志</span><br />CREATE MATERIALIZED VIEW LOG on test_a WITH rowid ,SEQUENCE (code) INCLUDING NEW VALUES;</p>
<p>create materialized view mv_test_code&nbsp;&nbsp; <br />&nbsp;BUILD immediate<br />&nbsp;refresh fast on demand&nbsp;&nbsp; <br />&nbsp;start with sysdate next sysdate+1/1440 with rowid&nbsp;&nbsp; <br />&nbsp;as&nbsp; <br />&nbsp;select&nbsp; b.code,a.rowid aid,b.rowid bid from mv_test_b a, test_a b where a.p_id=b.id;</p><img src ="http://www.blogjava.net/chen4765654/aggbug/415931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-07-17 11:21 <a href="http://www.blogjava.net/chen4765654/archive/2014/07/17/415931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jboss EAP6.2配置APR</title><link>http://www.blogjava.net/chen4765654/archive/2014/06/30/415280.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Mon, 30 Jun 2014 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2014/06/30/415280.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/415280.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2014/06/30/415280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/415280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/415280.html</trackback:ping><description><![CDATA[<p>1、解压apr包到bin目录</p>
<p>2、在standalone.conf.bat配置目录<br />set "JAVA_OPTS=-Xms256M -Xmx512M -XX:MaxPermSize=128M -Djava.library.path=E:/jboss-eap-6.2/bin/native"</p>
<p>3、standalone.xml设置APR协议，并启用native<br />&lt;subsystem xmlns="urn:jboss:domain:web:1.5" default-virtual-server="default-host" native="true"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;connector name="http" protocol="org.apache.coyote.http11.Http11AprProtocol" scheme="http" socket-binding="http"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;virtual-server name="default-host" enable-welcome-root="true"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;alias name="localhost"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;alias name="example.com"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/virtual-server&gt;<br />&lt;/subsystem&gt;</p><img src ="http://www.blogjava.net/chen4765654/aggbug/415280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2014-06-30 16:38 <a href="http://www.blogjava.net/chen4765654/archive/2014/06/30/415280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>StartExplorer 外部文件管理插件</title><link>http://www.blogjava.net/chen4765654/archive/2010/05/10/320496.html</link><dc:creator>紫色心情</dc:creator><author>紫色心情</author><pubDate>Mon, 10 May 2010 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/chen4765654/archive/2010/05/10/320496.html</guid><wfw:comment>http://www.blogjava.net/chen4765654/comments/320496.html</wfw:comment><comments>http://www.blogjava.net/chen4765654/archive/2010/05/10/320496.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chen4765654/comments/commentRss/320496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chen4765654/services/trackbacks/320496.html</trackback:ping><description><![CDATA[<p style="padding-left: 30px">地址：<a href="http://startexplorer.sourceforge.net/" target="_blank">http://startexplorer.sourceforge.net/</a> <br />
这是个十分简单的插件，但我却离不开它，因为功能非常实用：<br />
1、将当前文件在Windows Explorer中打开。(Windows only)<br />
2、用系统默认程序打开当前文件。<br />
3、打开cmd.exe并定位到当前文件的目录。(Windows only)<br />
4、复制当前文件路径到剪贴板。<br />
5、其它自定义命令。<br />
而且，以上功能全部支持自定义快捷键。<br />
</p>
<img src ="http://www.blogjava.net/chen4765654/aggbug/320496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chen4765654/" target="_blank">紫色心情</a> 2010-05-10 16:45 <a href="http://www.blogjava.net/chen4765654/archive/2010/05/10/320496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>