﻿<?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-ice world</title><link>http://www.blogjava.net/icewee/</link><description>There is nothing too difficult if you put your heart into it.</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:25:03 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:25:03 GMT</pubDate><ttl>60</ttl><item><title>“由于主页设置已损坏，Internet Explorer重置了你的主页...”解决办法</title><link>http://www.blogjava.net/icewee/archive/2016/08/12/431542.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 12 Aug 2016 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2016/08/12/431542.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/431542.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2016/08/12/431542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/431542.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/431542.html</trackback:ping><description><![CDATA[这个问题很多小伙伴都遇到了，网上搜罗了半天也没找到太好、太完美的解决办法，有人说是因为安装IE11时联网了，导致自动打了补丁，这个补丁可以自动检查IE主页是否损坏，可以通过卸载相应的补丁解决，我同时又找到了另外一个通过修改hosts文件的方法，貌似目前解决了我的问题，修改方法如下：

使用记事本打开 C:\Windows\System32\drivers\etc\hosts 文件，在最下面追加一行：
127.0.0.1 ieonline.microsoft.com
<img src ="http://www.blogjava.net/icewee/aggbug/431542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2016-08-12 10:47 <a href="http://www.blogjava.net/icewee/archive/2016/08/12/431542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat安装为服务service.bat设置，启动服务时出错，提示“...特定代码0” </title><link>http://www.blogjava.net/icewee/archive/2016/01/18/429098.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Mon, 18 Jan 2016 05:43:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2016/01/18/429098.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/429098.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2016/01/18/429098.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/429098.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/429098.html</trackback:ping><description><![CDATA[将JDK中BIN文件夹下的 msvcr71.dll 这个文件复制到 TOMCAT 中的 BIN 下<img src ="http://www.blogjava.net/icewee/aggbug/429098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2016-01-18 13:43 <a href="http://www.blogjava.net/icewee/archive/2016/01/18/429098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA-01438: value larger than specified precision allowed for this column &amp; Could not synchronize database state with session</title><link>http://www.blogjava.net/icewee/archive/2014/03/28/411644.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 28 Mar 2014 10:54:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2014/03/28/411644.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/411644.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2014/03/28/411644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/411644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/411644.html</trackback:ping><description><![CDATA[<div><span style="font-size: 12pt">有段日子没做记录了，这段日子一直在排雷（前人埋下的隐患代码，或者直接说bug），今天这个雷让我排了将近大半天，因为是正式上线的系统，只能看后台日志，不能调试，打印出的异常信息不完整，种种的条件不充分，导致问题很难定位。标题上的两个异常，第一个一看就明白是插入的数值大于数据库字段长度，第二个多是因为Number类型的字段导致，比如精度不足。</span><br /><br /><span style="font-size: 12pt">我们的这次问题原因是程序员在做除法运算时没有对除数进行非零判断，导致计算出来的数值非法，插入数据库失败，请看代码： 
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img onclick="this.style.display='none'; Codehighlighter1_39_183_Open_Text.style.display='none'; Codehighlighter1_39_183_Closed_Image.style.display='inline'; Codehighlighter1_39_183_Closed_Text.style.display='inline';" id="Codehighlighter1_39_183_Open_Image" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img onclick="this.style.display='none'; Codehighlighter1_39_183_Closed_Text.style.display='none'; Codehighlighter1_39_183_Open_Image.style.display='inline'; Codehighlighter1_39_183_Open_Text.style.display='inline';" id="Codehighlighter1_39_183_Closed_Image" style="display: none" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id="Codehighlighter1_39_183_Closed_Text" style="border-top: #808080 1px solid; border-right: #808080 1px solid; border-bottom: #808080 1px solid; border-left: #808080 1px solid; display: none; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_39_183_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">10</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;b&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;c&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;a</span><span style="color: #000000">/</span><span style="color: #000000">c;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;n&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;b</span><span style="color: #000000">/</span><span style="color: #000000">c;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(m);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(n);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><br />经过计算后，m和n的值分别是多少？没在实际开发中遇到的可能不知道，或者你有个好习惯不会出现这样的bug，请看结果：<br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">Infinity<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />NaN</span></div><br />被除数非零，除数为零做除法的结果是字符串&#8220;Infinity&#8221;，翻译成中文就是&#8220;无限&#8221;，你的中学数学老师可能说过；<br />被除数为零，除数为零做触发的结果是字符串&#8220;NaN&#8221;，即不是有效的数字。<br /><br />就是这个&#8220;Infinity&#8221;花费了我一小天的时间才定位。下面详述问题定位的方法。<br /><br />异常1：ORA-01438: value larger than specified precision allowed for this column<br />了解点数据库的打眼一看就知道插入的数值超过了表字段长度，但你知道是哪个表哪个字段吗？我不知道，于是网上查阅了下，Oracle数据库服务器在Linux上。<br /><br />命令行登陆到数据库所在服务器，进入Oracle的安装目录，假设是/opt/oracle/<br />进入到如下目录：/opt/oracle/admin/实例名/udump<br />中间的数据库实例名根据实际情况修改，udump目录下会有一堆的.trc文件，这些文件记录了所有操作当前数据库出现异常的堆栈信息。为了定位问题，我将该目录下的所有.trc文件都删除了（当然，删除之前把udump目录整个备份了），再进行一次系统的业务操作，查看一下udump目录，发现立刻生成一个新 的.trc文件，打开查看（内容片段）：<br />
<div style="font-size: 13px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; word-break: break-all; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: #cccccc 1px solid; padding-right: 5px; width: 98%; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">Oracle&nbsp;Database&nbsp;10g&nbsp;Enterprise&nbsp;Edition&nbsp;Release&nbsp;</span><span style="color: #800000">10.2</span><span style="color: #000000">.</span><span style="color: #800000">0.4</span><span style="color: #000000">.</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;64bit&nbsp;Production<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />With&nbsp;the&nbsp;Partitioning</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;Real&nbsp;Application&nbsp;Clusters</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;OLAP</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;Data&nbsp;Mining<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />and&nbsp;Real&nbsp;Application&nbsp;Testing&nbsp;options<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />ORACLE_HOME&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">u01</span><span style="color: #000000">/</span><span style="color: #000000">app</span><span style="color: #000000">/</span><span style="color: #000000">oracle</span><span style="color: #000000">/</span><span style="color: #000000">product</span><span style="color: #000000">/</span><span style="color: #800000">10.2</span><span style="color: #000000">/</span><span style="color: #000000">db_1<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">System</span><span style="color: #000000">&nbsp;name</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;AIX<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Node&nbsp;name</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;gsdj1<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Release</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Version</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">6</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Machine</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;00CFD4644C00<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Instance&nbsp;name</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;bjwd1<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">Redo</span><span style="color: #000000">&nbsp;thread&nbsp;mounted&nbsp;by&nbsp;this&nbsp;instance</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Oracle&nbsp;process&nbsp;number</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">132</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Unix&nbsp;process&nbsp;pid</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">48300280</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;image</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;oracle</span><span style="color: #800080">@gsdj1</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">***</span><span style="color: #000000">&nbsp;SERVICE&nbsp;NAME</span><span style="color: #000000">:</span><span style="color: #000000">(bjwd)&nbsp;</span><span style="color: #800000">2014</span><span style="color: #000000">-</span><span style="color: #800000">03</span><span style="color: #000000">-</span><span style="color: #800000">28</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">16</span><span style="color: #000000">:</span><span style="color: #800000">48</span><span style="color: #000000">:</span><span style="color: #800000">05.683</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">***</span><span style="color: #000000">&nbsp;SESSION&nbsp;ID</span><span style="color: #000000">:</span><span style="color: #000000">(</span><span style="color: #800000">2969.43961</span><span style="color: #000000">)&nbsp;</span><span style="color: #800000">2014</span><span style="color: #000000">-</span><span style="color: #800000">03</span><span style="color: #000000">-</span><span style="color: #800000">28</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">16</span><span style="color: #000000">:</span><span style="color: #800000">48</span><span style="color: #000000">:</span><span style="color: #800000">05.683</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">***</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">2014</span><span style="color: #000000">-</span><span style="color: #800000">03</span><span style="color: #000000">-</span><span style="color: #800000">28</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">16</span><span style="color: #000000">:</span><span style="color: #800000">48</span><span style="color: #000000">:</span><span style="color: #800000">05.683</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />ksedmp</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;internal&nbsp;or&nbsp;fatal&nbsp;error<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />ORA</span><span style="color: #000000">-</span><span style="color: #800000">01438</span><span style="color: #000000">:</span><span style="color: #000000">&nbsp;value&nbsp;larger&nbsp;than&nbsp;specified&nbsp;precision&nbsp;allowed&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;this&nbsp;column<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />Current&nbsp;SQL&nbsp;statement&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;this&nbsp;session</span><span style="color: #000000">:</span><span style="color: #000000"><br style="background-color: yellow" /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: red; background-color: yellow">insert&nbsp;into&nbsp;CP_TEMP_STOCKTRAN&nbsp;(APPLY_ID</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;ALIEN</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;CER_TYPE</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;CER_NO</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;TRANS_AM</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;TRANS_AM_PR</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;TRANS_TYPE</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;TRANS_DATE</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;ENDORSOR</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;BLIC_TYPE</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;ALIEN_ID</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;ENDORSOR_ID</span><span style="color: red; background-color: yellow">,</span><span style="color: red; background-color: yellow">&nbsp;STOCKTRAN_ID)&nbsp;</span><span style="color: red; background-color: yellow">v</span><span style="color: #ffff00; background-color: yellow">alues</span><span style="color: red; background-color: yellow">&nbsp;(</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">1</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">2</span><span style="color: red; background-color: yellow">,</span><span style="color: #ffff00">&nbsp;</span><span style="color: #ffff00; background-color: yellow">:</span><span style="color: red; background-color: yellow">3</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">4</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">5</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">6</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">7</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">8</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">9</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">10</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">11</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">12</span><span style="color: red; background-color: yellow">,</span><span style="color: #000000">&nbsp;</span><span style="color: red; background-color: yellow">:</span><span style="color: red; background-color: yellow">13</span><span style="color: red; background-color: yellow">)</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span></div><br />黄色背景红色字体的SQL就是罪魁祸首，这仅仅能定位发生问题的数据库表，字段还得自己排查。异常1让我定位到了这里，这时想起了异常2。<br /><br /><br />异常2：&nbsp;Could not synchronize database state with session<br />之前也搜索过这个异常，多数是由于Number类型的字段导致。冷静的思考一下，平常我们在做表设计时，会把文字类型的字段设置大一些，Number类型的精度也会根据实际业务进行设计，但往往Number类型的字段最容易出问题：<br />1、如果将非Number值插入该字段，比如字符串<br />2、如果插入的数值精度过多，如字段设计Number(10,2)，也就是最大支持8为整数和两位小数，要插入34.121313就会失败<br /><br />根据表名定位到hibernate的映射文件以及实体类，再从业务功能入口（一个action方法）搜索，终于定位到一个业务接口做了该实体类的保存代码，定位到了那个字段，定位到了做除法没有判断除数是否为0。<br /><br /><br /><br /><br /><br /><br /><br /></span><br /></div><img src ="http://www.blogjava.net/icewee/aggbug/411644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2014-03-28 18:54 <a href="http://www.blogjava.net/icewee/archive/2014/03/28/411644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian 网络设置以及非法关机后无法联网 connect: network is unreachable</title><link>http://www.blogjava.net/icewee/archive/2014/01/24/409301.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 24 Jan 2014 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2014/01/24/409301.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/409301.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2014/01/24/409301.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/409301.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/409301.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;">
 
网络配置：</span><br /><span style="font-size: 12pt;">临时（重</span><span style="font-size: 12pt;">启</span><span style="font-size: 12pt;">丢失）</span><br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">ifconfig eth0 </span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">1</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">xxx netmask </span><span style="color: rgb(128, 0, 0); font-size: 12pt;">255.255</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">xxx</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">0</span></div><br /><br /><span style="font-size: 12pt;">永久（重启有效）</span><br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">vi </span><span style="color: rgb(0, 0, 0); font-size: 12pt;">/</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">etc</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">/</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">network</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">/</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">interfaces</span></div><br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 0); font-size: 12pt;">#</span><span style="color: rgb(0, 128, 0); font-size: 12pt;">&nbsp;This&nbsp;file&nbsp;describes&nbsp;the&nbsp;network&nbsp;interfaces&nbsp;available&nbsp;on&nbsp;your&nbsp;system<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 128, 0); font-size: 12pt;">#&nbsp;and&nbsp;how&nbsp;to&nbsp;activate&nbsp;them.&nbsp;For&nbsp;more&nbsp;information,&nbsp;see&nbsp;interfaces(5).<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 128, 0); font-size: 12pt;">#&nbsp;The&nbsp;loopback&nbsp;network&nbsp;interface</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">auto&nbsp;lo<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">iface&nbsp;lo&nbsp;inet&nbsp;loopback<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 128, 0); font-size: 12pt;">#</span><span style="color: rgb(0, 128, 0); font-size: 12pt;">&nbsp;The&nbsp;primary&nbsp;network&nbsp;interface</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">allow</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">-</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">hotplug&nbsp;eth0<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">iface&nbsp;eth0&nbsp;inet&nbsp;static<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">.xxx</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netmask&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">255.255</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.xxx</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">.0</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;broadcast&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">.255</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gateway&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">.1</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0); font-size: 12pt;">#</span><span style="color: rgb(0, 128, 0); font-size: 12pt;">&nbsp;dns-*&nbsp;options&nbsp;are&nbsp;implemented&nbsp;by&nbsp;the&nbsp;resolvconf&nbsp;package,&nbsp;if&nbsp;installed</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0); font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dns</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">-</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">nameservers&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">202.106</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">196.115</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div><p><br /><span style="font-size: 12pt;">由于非法关机导致重启后无法联网</span><br /></p><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">ifconfig&nbsp;eth0&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">1</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">xxx&nbsp;netmask&nbsp;</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">255.255</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">xxx</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">0</span><span style="color: rgb(0, 0, 0);">&nbsp;</span></div><span style="color: rgb(0, 0, 0);"><br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">route add default gw </span><span style="color: rgb(128, 0, 0); font-size: 12pt;">192.168</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">.</span><span style="color: rgb(128, 0, 0); font-size: 12pt;">1.1</span></div></span><br /><span style="font-size: 12pt;">重启后配置丢失，所以必须在重启之前执行：<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">apt</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">-</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">get update</span></div><br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 12pt; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0); font-size: 12pt;">apt</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">-</span><span style="color: rgb(0, 0, 0); font-size: 12pt;">get install</span><span style="color: rgb(0, 0, 0);"> ifupdown</span></div><br />不能联网是因为非法关机导致ifup脚本丢失<br /></span><br /><br /><br /><br /><br /><img src ="http://www.blogjava.net/icewee/aggbug/409301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2014-01-24 10:50 <a href="http://www.blogjava.net/icewee/archive/2014/01/24/409301.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SVN(Subversion)自动同步备份配置</title><link>http://www.blogjava.net/icewee/archive/2014/01/23/409261.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Thu, 23 Jan 2014 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2014/01/23/409261.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/409261.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2014/01/23/409261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/409261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/409261.html</trackback:ping><description><![CDATA[
 
源机器：192.168.1.1<br />备份机器：192.168.1.2<br /><br />前提条件：<br />1、两台机器的网络是连通的<br />2、两台机器必须同时安装了SVN服务器<br /><br />假设：<br />源机器上需要同步的库名为autoSync，访问地址为：svn://192.168.1.1/autoSync，对其具备读写权限的账户：sync/sync<br /><br />备份机器配置：<br />1、创建与源机器库名相同的空库<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 0);">#</span><span style="color: rgb(0, 128, 0);"> 假设备份机器的SVN根目录建立在 /home/backup/svn/repository下</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0);">svnadmin create </span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">home</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">backup</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">svn</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">repository</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span></div><br />2、配置备份机器上的autoSync<br />分别修改conf下的svnserve.conf、passwd、authz，根据实际情况配置，假设创建了用户sync/sync，对库autoSync具备读写权限，配置方法略，配置完成后启动SVN服务<br /><br />3、创建并修改pre-revprop-change文件<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">cd </span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">home</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">backup</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">svn</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">repository</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">hooks<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />cp pre</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">revprop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">change</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">tmpl pre</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">revprop</span><span style="color: rgb(0, 0, 0);">-</span><span>change<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span>vi pre</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">revprop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">chan</span><span>ge</span></div><br /><span>将文件末尾</span><span>的&#8220;exit</span><span> </span><span>1&#8221;</span><span>修</span>改为&#8220;exit 0&#8221;即可，保存退出<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">REPOS</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">$1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />REV</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">$2</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />USER</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">$3</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />PROPNAME</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">$4</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />ACTION</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">$5</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />if </span><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);"> "$ACTION" = "M" -a "$PROPNAME" = "svn:log" </span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 128, 0);">;</span><span style="color: rgb(0, 128, 0);"> then exit 0; fi</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />echo </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Changing revision properties other than svn:log is prohibited</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> &gt;&amp;</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />exit </span><span style="color: red;">0</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span></div><br />增加可执行权限<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 255);">chmod</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0);">755</span><span style="color: rgb(0, 0, 0);"> pre</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">revprop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">change</span></div><br />4、初始化<br />命令：<br />svnsync init --username 用户名 --password 密码 备份机器库URL 源机器库URL<br /><br />说明：<br />用户名和密码是对源机器SVN库具备读写权限的SVN用户<br /><br />示例：<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">svnsync init </span><span style="color: rgb(0, 0, 0);">--</span><span style="color: rgb(0, 0, 0);">username sync </span><span style="color: rgb(0, 0, 0);">--</span><span style="color: rgb(0, 0, 0);">password sync svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.2</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.1</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span></div><br />5、首次同步<br />首次同步即为一次全备份过程，在此期间请停止客户端段源机器哦一切操作（提交代码等）<br />命令：<br />svnsync sync 备份机器库URL<br />示例：<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">svnsync sync svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.2</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span></div><br />源机器配置<br />6、增量自动同步配置<br />创建并修改post-commit文件<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 0);">#</span><span style="color: rgb(0, 128, 0);"> 假设源机器的SVN根目录建立在 /home/svn/repository下</span><span style="color: rgb(0, 128, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 0);">cd </span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">home</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">svn</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">repository</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">hooks<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />cp post</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">commit</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">tmpl post</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">commit<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />vi post</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">commit</span></div><br />在文件末尾追加：svnsync sync --non-interactive 备份机器库URL --username 用户名 --password 密码<br /><br />说明：<br />用户名和密码是对备份机器SVN库具备读写权限的SVN用户<br /><br />示例：<br /><span style="color: rgb(0, 0, 0);"><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">svnsync sync </span><span style="color: rgb(0, 0, 0);">--</span><span style="color: rgb(0, 0, 0);">non</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">interactive svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.2</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync </span><span style="color: rgb(0, 0, 0);">--</span><span style="color: rgb(0, 0, 0);">username sync </span><span style="color: rgb(0, 0, 0);">--</span><span style="color: rgb(0, 0, 0);">password sync</span></div></span><br />7、术语<br />配置完成，今后客户端再向SVN（192.168.1.1）提交文件时，会自动触发源机器（192.168.1.1）向备份机器（192.168.1.2）提交更新<br /><br />8、版本库UUID一致性<br />首先查看源机器库的UUID，假设得到的是：fcdcbee9-6be3-4575-8d4a-681ec15ad8e0<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">svnlook uuid svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.1</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync</span></div><br />更新备份机器库的UUID为源机器库的UUID<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 0);">svnadmin setuuid svn</span><span style="color: rgb(0, 0, 0);">://</span><span style="color: rgb(128, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">1.2</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">autoSync fcdcbee9</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">6be3</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(128, 0, 0);">4575</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">8d4a</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">681ec15ad8e0</span></div><br /><br /><br /><br /><img src ="http://www.blogjava.net/icewee/aggbug/409261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2014-01-23 11:08 <a href="http://www.blogjava.net/icewee/archive/2014/01/23/409261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian Subversion(SVN)的安装</title><link>http://www.blogjava.net/icewee/archive/2014/01/17/409059.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 17 Jan 2014 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2014/01/17/409059.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/409059.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2014/01/17/409059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/409059.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/409059.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;">
</span><span style="font-size: 12pt;">
</span><span style="font-size: 12pt;">
 
本文记录的安装步骤是基于基本安装后的Debian，启动后漆黑一片，只有命令行，采用在线安装方式，因此配置中国的镜像软件源能提高软件的下载速度，首先配置软件源。</span><br /><br /><span style="color: red; font-size: 12pt;">备份源文件</span><br /><span style="font-size: 12pt;"># </span><span style='color: rgb(51, 51, 51); font-family: "Tahoma","sans-serif"; font-size: 12pt; mso-fareast-font-family: 宋体; mso-font-kerning: 0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;' lang="EN-US">cp /etc/apt/sources.list /etc/apt/sources.list.bak<br /></span><br /><span style="font-size: 12pt;">编辑源文件</span><br /><span style="font-size: 12pt;"># </span><span style='color: rgb(51, 51, 51); font-family: "Tahoma","sans-serif"; font-size: 12pt;'>nano /etc/apt/sources.list<br /></span><br /><span style="font-size: 12pt;">注释掉本地光盘源这一行，注释后如：</span><br /><span style="font-size: 12pt;"># deb cdrom:[Debian GNU/Linux 6.0.7 _Squeeze_ - Official amd64 NETINST Binary-1 20130223-18:50]/ squeeze main</span><br /><br /><span style="font-size: 12pt;">取消下面两行官方源前面的注释</span><br /><span style="font-size: 12pt;">deb </span><a href="http://security.debian.org/"><span style="font-size: 12pt;">http://security.debian.org/</span></a><span style="font-size: 12pt;"> squeeze/updates main</span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://security.debian.org/"><span style="font-size: 12pt;">http://security.debian.org/</span></a><span style="font-size: 12pt;"> squeeze/updates main</span><br /><br /><span style="font-size: 12pt;">追加163的镜像源地址</span><br /><span style="font-size: 12pt;">deb </span><a href="http://mirrors.163.com/debian/"><span style="font-size: 12pt;">http://mirrors.163.com/debian/</span></a><span style="font-size: 12pt;"> squeeze main non-free contrib </span><br /><span style="font-size: 12pt;">deb </span><a href="http://mirrors.163.com/debian/"><span style="font-size: 12pt;">http://mirrors.163.com/debian/</span></a><span style="font-size: 12pt;"> squeeze-proposed-updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb </span><a href="http://mirrors.163.com/debian-security/"><span style="font-size: 12pt;">http://mirrors.163.com/debian-security/</span></a><span style="font-size: 12pt;"> squeeze/updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://mirrors.163.com/debian/"><span style="font-size: 12pt;">http://mirrors.163.com/debian/</span></a><span style="font-size: 12pt;"> squeeze main non-free contrib </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://mirrors.163.com/debian/"><span style="font-size: 12pt;">http://mirrors.163.com/debian/</span></a><span style="font-size: 12pt;"> squeeze-proposed-updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://mirrors.163.com/debian-security/"><span style="font-size: 12pt;">http://mirrors.163.com/debian-security/</span></a><span style="font-size: 12pt;"> squeeze/updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb </span><a href="http://ftp.sjtu.edu.cn/debian/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian/</span></a><span style="font-size: 12pt;"> squeeze main non-free contrib </span><br /><span style="font-size: 12pt;">deb </span><a href="http://ftp.sjtu.edu.cn/debian/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian/</span></a><span style="font-size: 12pt;"> squeeze-proposed-updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb </span><a href="http://ftp.sjtu.edu.cn/debian-security/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian-security/</span></a><span style="font-size: 12pt;"> squeeze/updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://ftp.sjtu.edu.cn/debian/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian/</span></a><span style="font-size: 12pt;"> squeeze main non-free contrib </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://ftp.sjtu.edu.cn/debian/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian/</span></a><span style="font-size: 12pt;"> squeeze-proposed-updates main contrib non-free </span><br /><span style="font-size: 12pt;">deb-src </span><a href="http://ftp.sjtu.edu.cn/debian-security/"><span style="font-size: 12pt;">http://ftp.sjtu.edu.cn/debian-security/</span></a><span style="font-size: 12pt;"> squeeze/updates main contrib non-free</span><br /><br /><span style="font-size: 12pt;">保存修改</span><br /><span style="font-size: 12pt;"># ctrl + o 回车</span><br /><span style="font-size: 12pt;">退出</span><br /><span style="font-size: 12pt;"># ctrl + x</span><br /><br /><span style="font-size: 12pt;">更新源</span><br /><span style="font-size: 12pt;"># apt-get update</span><br /><br /><span style="font-size: 12pt;">更新系统</span><br /><span style="font-size: 12pt;"># apt-get upgrade</span><br /><br /><span style="font-size: 12pt;"><strong>安装SVN服务器</strong></span><br /><span style="font-size: 12pt;"># apt-get install subversion subversion-tools</span><br /><br /><span style="font-size: 12pt;">安装完成后可以运行命令查看SVN服务器版本信息</span><br /><span style="font-size: 12pt;"># svnserve --version</span><br /><br /><span style="font-size: 12pt;"><strong>配置SVN</strong></span><br /><span style="font-size: 12pt;">首先创建版本库的根目录，如位置：/home/svn/repository，所有项目都将在该目录下创建相应子文件夹</span><br /><span style="font-size: 12pt;"># mkdir &#8211;p /home/svn/repository</span><br /><br /><span style="font-size: 12pt;">创建项目版本库test（仅为演示）</span><br /><span style="font-size: 12pt;"># svnadmin create /home/svn/repository/test</span><p><br /><span style="font-size: 12pt;">修改SVN配置文件</span><br /><span style="font-size: 12pt;">nano /home/svn/repository/test/conf/svnserve.conf</span></p><p><span style="font-size: 12pt;">以下为文件内容：</span><br /><span style="font-size: 12pt;">### This file controls the configuration of the svnserve daemon, if you</span><br /><span style="font-size: 12pt;">### use it to allow access to this repository.&nbsp; (If you only allow</span><br /><span style="font-size: 12pt;">### access through http: and/or file: URLs, then this file is</span><br /><span style="font-size: 12pt;">### irrelevant.)</span></p><p><span style="font-size: 12pt;">### Visit </span><a href="http://subversion.tigris.org/"><span style="font-size: 12pt;">http://subversion.tigris.org/</span></a><span style="font-size: 12pt;"> for more information.</span></p><p><span style="font-size: 12pt;">[general]</span><br /><span style="font-size: 12pt;">### These options control access to the repository for unauthenticated</span><br /><span style="font-size: 12pt;">### and authenticated users.&nbsp; Valid values are "write", "read",</span><br /><span style="font-size: 12pt;">### and "none".&nbsp; The sample settings below are the defaults</span><br /><span style="font-size: 12pt;"># 未授权配置为禁止访问none，已授权配置为可以读写write</span><br /><span style="color: red; font-size: 12pt;">anon-access = none</span><br /><span style="color: red; font-size: 12pt;">auth-access = write</span><br /><span style="font-size: 12pt;">### The password-db option controls the location of the password</span><br /><span style="font-size: 12pt;">### database file.&nbsp; Unless you specify a path starting with a /,</span><br /><span style="font-size: 12pt;">### the file's location is relative to the directory containing</span><br /><span style="font-size: 12pt;">### this configuration file.</span><br /><span style="font-size: 12pt;">### If SASL is enabled (see below), this file will NOT be used.</span><br /><span style="font-size: 12pt;">### Uncomment the line below to use the default password file.</span><br /><span style="font-size: 12pt;"># 用户数据库文件，配置授权用户，当前使用的文件是和svnserve.conf在相同目录下的passwd文件，也可以指定其他绝对路径文件，如：/home/svn/passwd</span><br /><span style="color: red; font-size: 12pt;">password-db = passwd</span><br /><span style="font-size: 12pt;">### The authz-db option controls the location of the authorization</span><br /><span style="font-size: 12pt;">### rules for path-based access control.&nbsp; Unless you specify a path</span><br /><span style="font-size: 12pt;">### starting with a /, the file's location is relative to the the</span><br /><span style="font-size: 12pt;">### directory containing this file.&nbsp; If you don't specify an</span><br /><span style="font-size: 12pt;">### authz-db, no path-based access control is done.</span><br /><span style="font-size: 12pt;">### Uncomment the line below to use the default authorization file.</span><br /><span style="font-size: 12pt;"># 授权文件，配置如同用户配置</span><br /><span style="color: red; font-size: 12pt;">authz-db = authz</span><br /><span style="font-size: 12pt;">### This option specifies the authentication realm of the repository.</span><br /><span style="font-size: 12pt;">### If two repositories have the same authentication realm, they should</span><br /><span style="font-size: 12pt;">### have the same password database, and vice versa.&nbsp; The default realm</span><br /><span style="font-size: 12pt;">### is repository's uuid.</span><br /><span style="font-size: 12pt;"># realm = My First Repository</span></p><p><span style="font-size: 12pt;">[sasl]</span><br /><span style="font-size: 12pt;">### This option specifies whether you want to use the Cyrus SASL</span><br /><span style="font-size: 12pt;">### library for authentication. Default is false.</span><br /><span style="font-size: 12pt;">### This section will be ignored if svnserve is not built with Cyrus</span><br /><span style="font-size: 12pt;">### SASL support; to check, run 'svnserve --version' and look for a line</span><br /><span style="font-size: 12pt;">### reading 'Cyrus SASL authentication is available.'</span><br /><span style="font-size: 12pt;"># use-sasl = true</span><br /><span style="font-size: 12pt;">### These options specify the desired strength of the security layer</span><br /><span style="font-size: 12pt;">### that you want SASL to provide. 0 means no encryption, 1 means</span><br /><span style="font-size: 12pt;">### integrity-checking only, values larger than 1 are correlated</span><br /><span style="font-size: 12pt;">### to the effective key length for encryption (e.g. 128 means 128-bit</span><br /><span style="font-size: 12pt;">### encryption). The values below are the defaults.</span><br /><span style="font-size: 12pt;"># min-encryption = 0</span><br /><span style="font-size: 12pt;"># max-encryption = 256</span></p><p><br /><span style="font-size: 12pt;">保存</span><br /><span style="font-size: 12pt;"># ctrl + o 回车</span></p><p><span style="font-size: 12pt;">退出</span><br /><span style="font-size: 12pt;"># ctrl + x</span><br /></p><p><span style="font-size: 12pt;">配置用户</span><br /><span style="font-size: 12pt;"># nano passwd</span></p><p><span style="font-size: 12pt;">以下为文件内容：</span><br /><span style="font-size: 12pt;">### This file is an example password file for svnserve.</span><br /><span style="font-size: 12pt;">### Its format is similar to that of svnserve.conf. As shown in the</span><br /><span style="font-size: 12pt;">### example below it contains one section labelled [users].</span><br /><span style="font-size: 12pt;">### The name and password for each user follow, one account per line.</span></p><p><span style="font-size: 12pt;">[users]</span><br /><span style="font-size: 12pt;"># harry = harryssecret</span><br /><span style="font-size: 12pt;"># sally = sallyssecret</span><br /><span style="font-size: 12pt;">IceWee = IceWee</span></p><p><span style="font-size: 12pt;">增加用户IceWee，密码也为IceWee，=号两侧需要有空格，保存(ctrl + o 回车)退出(ctrl + x)</span><br /></p><p><span style="font-size: 12pt;">配置访问权限</span><br /><span style="font-size: 12pt;"># nano authz</span></p><p><span style="font-size: 12pt;">以下为文件内容：</span><br /><span style="font-size: 12pt;">### This file is an example authorization file for svnserve.</span><br /><span style="font-size: 12pt;">### Its format is identical to that of mod_authz_svn authorization</span><br /><span style="font-size: 12pt;">### files.</span><br /><span style="font-size: 12pt;">### As shown below each section defines authorizations for the path and</span><br /><span style="font-size: 12pt;">### (optional) repository specified by the section name.</span><br /><span style="font-size: 12pt;">### The authorizations follow. An authorization line can refer to:</span><br /><span style="font-size: 12pt;">###&nbsp; - a single user,</span><br /><span style="font-size: 12pt;">###&nbsp; - a group of users defined in a special [groups] section,</span><br /><span style="font-size: 12pt;">###&nbsp; - an alias defined in a special [aliases] section,</span><br /><span style="font-size: 12pt;">###&nbsp; - all authenticated users, using the '$authenticated' token,</span><br /><span style="font-size: 12pt;">###&nbsp; - only anonymous users, using the '$anonymous' token,</span><br /><span style="font-size: 12pt;">###&nbsp; - anyone, using the '*' wildcard.</span><br /><span style="font-size: 12pt;">###</span><br /><span style="font-size: 12pt;">### A match can be inverted by prefixing the rule with '~'. Rules can</span><br /><span style="font-size: 12pt;">### grant read ('r') access, read-write ('rw') access, or no access</span><br /><span style="font-size: 12pt;">### ('').</span></p><p><span style="font-size: 12pt;">[aliases]</span><br /><span style="font-size: 12pt;"># joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average</span></p><p><span style="font-size: 12pt;">[groups]</span><br /><span style="font-size: 12pt;"># harry_and_sally = harry,sally</span><br /><span style="font-size: 12pt;"># harry_sally_and_joe = harry,sally,&amp;joe</span><br /><span style="color: red; font-size: 12pt;">developers = IceWee</span></p><p><span style="font-size: 12pt;"># [/foo/bar]</span><br /><span style="font-size: 12pt;"># harry = rw</span><br /><span style="font-size: 12pt;"># &amp;joe = r</span><br /><span style="font-size: 12pt;"># * =</span></p><p><span style="font-size: 12pt;"># [repository:/baz/fuz]</span><br /><span style="font-size: 12pt;"># @harry</span><span style="font-size: 12pt;">_a</span><span style="font-size: 12pt;">nd_sally = rw</span><br /><span style="font-size: 12pt;"># * = r</span></p><p><span style="color: red; font-size: 12pt;">[/]</span><br /><span style="color: red; font-size: 12pt;">* = r</span><br /><span style="color: red; font-size: 12pt;">IceWee&nbsp;= rw<br /></span><span style="color: red; font-size: 12pt;">@developers = rw</span></p><p><span style="color: red; font-size: 12pt;">[/tags]</span><br /><span style="color: red; font-size: 12pt;">IceWee&nbsp;= rw</span></p><p><span style="font-size: 12pt;">默认所有用户可读取根，IceWee可以读写根。可以分别对子目录进行授权，如上的tags目录，IceWee具有读写权限，以及IceWee所在的组developers也具备读写权限。</span><br /><br /><span style="font-size: 12pt;">启动SVN服务器</span><br /><span style="font-size: 12pt;"># svnserve -d -r /home/svn/repository</span><br /><span style="font-size: 12pt;">-d含义为后台运行（daemon），-r指定的根目录，如访问test应该使用这样的地址 </span><a href="svn"><span style="font-size: 12pt;">svn</span></a><span style="font-size: 12pt;">://hostname:port/test</span><br /><br /><span style="font-size: 12pt;">停止SVN服务</span><br /><span style="font-size: 12pt;"># killall svnserve</span><br /><br /><span style="font-size: 12pt;">备份还原命令，与oracle的备份有些类似</span><br /><span style="font-size: 12pt;">导出</span><br /><span style="font-size: 12pt;"># svnadmin dump /home/svn/repository/test &gt; /home/bak/test.dump</span><br /><br /><span style="font-size: 12pt;">导入</span><br /><span style="font-size: 12pt;"># svn</span><span style="font-size: 12pt;">admin load /home/svn/repository/demo &lt; /home/bak/demo.dump</span><br /><span style="font-size: 12pt;">导入前提：</span><br /><span style="font-size: 12pt;">必须先创建要导入版本库目录，如上的demo，则需要做以下操作</span><br /><span style="font-size: 12pt;"># svnadmin create /home/svn/respository/demo</span><br /><span style="font-size: 12pt;">修改svnserve.conf、passwd、authz等文件，前面已介绍</span><br /></p><p><br />&nbsp;</p><br /><br /><br /><br /> 
 
<img src ="http://www.blogjava.net/icewee/aggbug/409059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2014-01-17 15:48 <a href="http://www.blogjava.net/icewee/archive/2014/01/17/409059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java日常随意记</title><link>http://www.blogjava.net/icewee/archive/2013/11/21/406622.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Thu, 21 Nov 2013 04:49:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2013/11/21/406622.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/406622.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2013/11/21/406622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/406622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/406622.html</trackback:ping><description><![CDATA[
<div style="font-family: Tahoma; font-size: 14pt;"><span style="font-family: Tahoma; font-size: 12pt;"><br />2013年12月10日<br />---------------------------<br />冒泡排序<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_25_325_Open_Image" onclick="this.style.display='none'; Codehighlighter1_25_325_Open_Text.style.display='none'; Codehighlighter1_25_325_Closed_Image.style.display='inline'; Codehighlighter1_25_325_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none;" id="Codehighlighter1_25_325_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_25_325_Closed_Text.style.display='none'; Codehighlighter1_25_325_Open_Image.style.display='inline'; Codehighlighter1_25_325_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif"><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> bubble(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">[] array) </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_25_325_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_25_325_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 255);">boolean</span><span style="color: rgb(0, 0, 0);"> swaped </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;<br /><img id="Codehighlighter1_103_322_Open_Image" onclick="this.style.display='none'; Codehighlighter1_103_322_Open_Text.style.display='none'; Codehighlighter1_103_322_Closed_Image.style.display='inline'; Codehighlighter1_103_322_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none;" id="Codehighlighter1_103_322_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_103_322_Closed_Text.style.display='none'; Codehighlighter1_103_322_Open_Image.style.display='inline'; Codehighlighter1_103_322_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> t </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">; t </span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);"> array.length </span><span style="color: rgb(0, 0, 0);">&amp;&amp;</span><span style="color: rgb(0, 0, 0);"> swaped; t</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">) </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_103_322_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_103_322_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; swaped </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">;<br /><img id="Codehighlighter1_170_318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_170_318_Open_Text.style.display='none'; Codehighlighter1_170_318_Closed_Image.style.display='inline'; Codehighlighter1_170_318_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none;" id="Codehighlighter1_170_318_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_170_318_Closed_Text.style.display='none'; Codehighlighter1_170_318_Open_Image.style.display='inline'; Codehighlighter1_170_318_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> i </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">; i </span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);"> array.length </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);"> t; i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">) </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_170_318_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_170_318_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img id="Codehighlighter1_205_313_Open_Image" onclick="this.style.display='none'; Codehighlighter1_205_313_Open_Text.style.display='none'; Codehighlighter1_205_313_Closed_Image.style.display='inline'; Codehighlighter1_205_313_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none;" id="Codehighlighter1_205_313_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_205_313_Closed_Text.style.display='none'; Codehighlighter1_205_313_Open_Image.style.display='inline'; Codehighlighter1_205_313_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (array[i] </span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);"> array[i </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">]) </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_205_313_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_205_313_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> temp </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> array[i];<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array[i] </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> array[i </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">];<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array[i </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">] </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> temp;<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; swaped </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0, 0, 0);"><br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0, 0, 0);"><br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0, 0, 0);"><br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp; }</span></span></div><br /><br />2013年11月26日<br />---------------------------<br />1、String的split方法<br />平常总是这样用，String str = "a,b,c,d,e"; String[] arr = str.split(",");<br />其实还可以这样用，String lan = "Java;C#?C++:C"; String si = lan.split("[;?:]"); 返回的是字符串数组{"Java", "C#", "C++", "C"}<br /><br /><br />2013年11月21日<br />---------------------------<br /></span><br /><span style="font-family: Tahoma; font-size: 12pt;">1、Java对象池知多少？<br />示例：String s1 = "abc"; String s2 = "abc"; s1 == s2 返回ture还是false？只要不是new出来的都先从对象池中读取，因此结果为true，两个变量指向的是同一块内存空间地址。<br /><br />Java除了String类使用了对象池以外，还有5个基本类型的封装类：Byte、Short、Integer、Long和Character，例如：Integer inA = 20; Integer inB = 20; 那么 inA == inB 的结果为true，其他类与此相同，不做示例。<br /><br /><strong>特别注意：</strong><br />(1)浮点型的两个封装类Float和Double并没有参与对象池；<br />(2)整形封装类(Byte、Short、Integer和Long)只有数值小于或等于127时才使用对象池，例如：Integer x = 128; Integer y = 128; x == y的结果为false。<br /></span><br /><span style="font-family: Tahoma; font-size: 12pt;">2、Java变量命名规范<br />A. String #name = "Joe";<br />B. int $age = 30;<br />C. Double _height = 174.4;<br />D. float ~temp = 37.6;<br />以上A到D，哪个无法通过编译？答案是A和D，因为Java变量名只允许字母、下划线(_)、美元符($)开头，那么 int _ = 30; String $$ = "I DO";可以吗？答案是完全可以，但很少有人这样定义变量名，虽然没有违法命名规范，但最后我估计程序员自己都会被自己绕晕。<br /><br />3、0和1能标识布尔值吗？<br />int flag = 0;<br />if (flag) {<br />&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("error");<br />}<br />error会打印吗？不会，因为根本就不会编译通过，编译器会提示flag是int类型而不是boolean类型，如果你会有这种想法可能之前学过C，C总的0和1可以标识布尔的。<br /><br />4、静态导入<br />例：<br />ClassA.java<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);">&nbsp;bing.test.sub1;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_45_102_Open_Image" onclick="this.style.display='none'; Codehighlighter1_45_102_Open_Text.style.display='none'; Codehighlighter1_45_102_Closed_Image.style.display='inline'; Codehighlighter1_45_102_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none;" id="Codehighlighter1_45_102_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_45_102_Closed_Text.style.display='none'; Codehighlighter1_45_102_Open_Image.style.display='inline'; Codehighlighter1_45_102_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">&nbsp;ClassA&nbsp;</span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_45_102_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_45_102_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">final</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;MAX_INT&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;Integer.MAX_VALUE;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span></div><br /><br /><br />ClassB.java<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" /><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);"> bing.test.sub2;<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);"> bing.test.sub1.ClassA.MAX_INT;<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_91_173_Open_Image" onclick="this.style.display='none'; Codehighlighter1_91_173_Open_Text.style.display='none'; Codehighlighter1_91_173_Closed_Image.style.display='inline'; Codehighlighter1_91_173_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none;" id="Codehighlighter1_91_173_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_91_173_Closed_Text.style.display='none'; Codehighlighter1_91_173_Open_Image.style.display='inline'; Codehighlighter1_91_173_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> ClassB </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_91_173_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_91_173_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img id="Codehighlighter1_134_171_Open_Image" onclick="this.style.display='none'; Codehighlighter1_134_171_Open_Text.style.display='none'; Codehighlighter1_134_171_Closed_Image.style.display='inline'; Codehighlighter1_134_171_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none;" id="Codehighlighter1_134_171_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_134_171_Closed_Text.style.display='none'; Codehighlighter1_134_171_Open_Image.style.display='inline'; Codehighlighter1_134_171_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp; </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> main(String[] args) </span><span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_134_171_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_134_171_Open_Text"><span style="color: rgb(0, 0, 0);">{<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" />    System.out.println(MAX_INT);<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp; }</span></span><span style="color: rgb(0, 0, 0);"><br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span></div><br />输出：2147483647。不仅仅可以静态导入其他类的静态属性还可以导入静态方法，这些特性在实际开发中很少见。<br /><br /><br /><br /><br /><br /><br /><br /></span><br /><br /></div> 
 
 
 
 
 
<img src ="http://www.blogjava.net/icewee/aggbug/406622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2013-11-21 12:49 <a href="http://www.blogjava.net/icewee/archive/2013/11/21/406622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FTPClient上传文件蜗牛速度的解决方法</title><link>http://www.blogjava.net/icewee/archive/2013/09/13/404052.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 13 Sep 2013 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2013/09/13/404052.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/404052.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2013/09/13/404052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/404052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/404052.html</trackback:ping><description><![CDATA[Apache Commons的FTPClient局域网上传文件速度本应该很快的，但却在实际开发中发现上传一个文件蜗牛速度，都是因为调用了如下API：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->ftpClient.storeFile(fileName,&nbsp;inputStream)</div><br />原因是因为默认缓冲区大小是1024，也就是1K，当然慢了，在调用上传API之前重新修改以下默认设置即可，如将缓冲区改为10M，API：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->ftpClient.setBufferSize(1024&nbsp;*&nbsp;1024&nbsp;*&nbsp;10)</div><img src ="http://www.blogjava.net/icewee/aggbug/404052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2013-09-13 16:32 <a href="http://www.blogjava.net/icewee/archive/2013/09/13/404052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle查询锁表以及杀会话或系统进程来解除锁表操作</title><link>http://www.blogjava.net/icewee/archive/2013/08/23/403218.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Fri, 23 Aug 2013 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2013/08/23/403218.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/403218.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2013/08/23/403218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/403218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/403218.html</trackback:ping><description><![CDATA[第一步，查询锁表信息<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">查询被锁住的数据库对象</span><span style="color: rgb(0, 128, 128);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">object_name</span><span style="color: rgb(0, 0, 0);">, machine, s.sid, s.serial#<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />&nbsp; </span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);"> v$locked_object l, dba_objects o, v$session s<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /> </span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);"> l.</span><span style="color: rgb(255, 0, 255);">object_id</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);"> o.</span><span style="color: rgb(255, 0, 255);">object_id</span><span style="color: rgb(0, 0, 0);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp; </span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);"> l.session_id </span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);"> s.sid;</span></div><br /><br />第二步，杀死数据库会话<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">杀死数据库会话</span><span style="color: rgb(0, 128, 128);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 255);">alter</span><span style="color: rgb(0, 0, 0);"> system </span><span style="color: rgb(0, 0, 255);">kill</span><span style="color: rgb(0, 0, 0);"> session </span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">207,707</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);"> 207为SID, 707为SERIAL#</span></div><br /><br />第三步，如果第二步无法杀死会话，报ORA-00031，那么只能杀死UNIX/LINUX系统进程了<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">查询当前操作的系统进程ID</span><span style="color: rgb(0, 128, 128);"><br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);"> spid, osuser, s.program<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />&nbsp; </span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);"> v$session s, v$process p<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /> </span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);"> s.paddr </span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);"> p.addr<br /><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp; </span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);"> s.sid </span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0); font-weight: bold;">207</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);"> 207为SID</span></div><br /><br />第四步，根据查询到的系统PID，杀掉进程<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif"  alt="" /><span style="color: rgb(0, 0, 255);">kill</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(128, 0, 0);">9</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0);">24664</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">//</span><span style="color: rgb(0, 0, 0);"> 24664为UNIX</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LINUX系统进程ID</span></div><br /><br /><br /> <img src ="http://www.blogjava.net/icewee/aggbug/403218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2013-08-23 10:20 <a href="http://www.blogjava.net/icewee/archive/2013/08/23/403218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HttpClientUtils</title><link>http://www.blogjava.net/icewee/archive/2013/07/27/402028.html</link><dc:creator>IceWee</dc:creator><author>IceWee</author><pubDate>Sat, 27 Jul 2013 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/icewee/archive/2013/07/27/402028.html</guid><wfw:comment>http://www.blogjava.net/icewee/comments/402028.html</wfw:comment><comments>http://www.blogjava.net/icewee/archive/2013/07/27/402028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/icewee/comments/commentRss/402028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/icewee/services/trackbacks/402028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 备用。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->import&nbsp;java.io.BufferedReader;import&nbsp;java.io.IOException;import&nbsp;java.io.InputStream;...&nbsp;&nbsp;<a href='http://www.blogjava.net/icewee/archive/2013/07/27/402028.html'>阅读全文</a><img src ="http://www.blogjava.net/icewee/aggbug/402028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/icewee/" target="_blank">IceWee</a> 2013-07-27 11:53 <a href="http://www.blogjava.net/icewee/archive/2013/07/27/402028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>