<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_uu.Net</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/33220/rss</id><updated>2011-12-18T12:09:19Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/33220/rss"/><entry><id>http://www.cnblogs.com/pipelone/archive/2011/11/10/2244872.html</id><title type="text">oracle循环插入数据用于测试</title><summary type="text">declare maxrecords constant int:=7030; i int :=7004; begin for i in 7004..maxrecords loop insert into softphone_status (agentid) values(&amp;#39;agent&amp;#39;||i); dbms_output.put_line(&amp;#39;agent&amp;#39;||i...</summary><published>2011-11-10T11:32:00Z</published><updated>2011-11-10T11:32:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244872.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244872.html"/><content type="html">&lt;div&gt;&amp;nbsp; &amp;nbsp; declare&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; maxrecords constant int:=7030;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i int :=7004;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; begin&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for i in 7004..maxrecords loop&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;insert into softphone_status (agentid) values('agent'||i);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbms_output.put_line('agent'||i);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end loop;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; commit;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; end;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2244872.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244872.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2011/11/10/2244623.html</id><title type="text">ORA-12154: TNS: 无法解析指定的连接标识符</title><summary type="text">ORA-12154: TNS:无法解析指定的连接标识符我使用instantclient_11_2和sqlplus连接oracle服务，结果如图配置:orcl = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.30.246 )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)...</summary><published>2011-11-10T08:32:00Z</published><updated>2011-11-10T08:32:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244623.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244623.html"/><content type="html">&lt;p&gt;&lt;h3  style="font-family: arial, sans-serif; color: #222222; font-size: medium; font-weight: normal; display: block; line-height: 1; overflow-x: hidden; overflow-y: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #1122cc;"&gt;&lt;span style="cursor: pointer;"&gt;ORA-12154: TNS:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;em style="font-family: arial, sans-serif; cursor: pointer; color: #d14836; font-style: normal; font-weight: normal; text-decoration: underline;"&gt;无法解析指定&lt;/em&gt;&lt;span style="color: #1122cc;"&gt;&lt;span style="cursor: pointer;"&gt;的连接&lt;/span&gt;&lt;/span&gt;&lt;em style="font-family: arial, sans-serif; cursor: pointer; color: #d14836; font-style: normal; font-weight: normal; text-decoration: underline;"&gt;标识符&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-family: arial, sans-serif; line-height: 15px; font-size: small;"&gt;&lt;span style="color: #d14836;"&gt;&lt;span style="text-decoration: underline;"&gt;我使用instantclient_11_2和sqlplus连接oracle服务，结果如图配置:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #d14836;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;orcl =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; (DESCRIPTION =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; &amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.30.246 )(PORT = 1521))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; &amp;nbsp; (CONNECT_DATA =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (SERVER = DEDICATED)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (SERVICE_NAME = orcl)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 15px;"&gt;&amp;nbsp; )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: arial, sans-serif; line-height: 15px; font-size: small;"&gt;保存后连接的时候提示无法解析制定的连接标识符。&lt;/p&gt;&lt;p style="font-family: arial, sans-serif; line-height: 15px; font-size: small;"&gt;后来反复检查，发现要配置sid前有空格，就会引起无法连接。修改后即可.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: arial, sans-serif; line-height: 15px; font-size: small;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;em style="font-family: arial, sans-serif; cursor: pointer; color: #d14836; font-style: normal; font-weight: normal; text-decoration: underline;"&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2244623.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244623.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2011/11/10/2244082.html</id><title type="text">使用windows route命令来控制双网卡，双网络访问</title><summary type="text">目前我的笔记本使用无线网络访问互联网，使用有线网络访问办公网络无线网络的网关是117.128.108.1办公网络的网关是10.16.30.254在命令行下，输入route print可查看到所有的route 列表要设置，首先删除掉原来的0.0.0.0的路由。C:\Documents and Settings\Administrator&amp;gt;route delete 0.0.0.0然后添加如下：C:\D...</summary><published>2011-11-10T02:07:00Z</published><updated>2011-11-10T02:07:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244082.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244082.html"/><content type="html">&lt;p&gt;目前我的笔记本使用无线网络访问互联网，使用有线网络访问办公网络&lt;/p&gt;&lt;p&gt;无线网络的网关是117.128.108.1&lt;/p&gt;&lt;p&gt;办公网络的网关是10.16.30.254&lt;/p&gt;&lt;p&gt;在命令行下，输入route print可查看到所有的route 列表&lt;/p&gt;&lt;p&gt;要设置，首先删除掉原来的0.0.0.0的路由。&lt;/p&gt;&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;route delete 0.0.0.0&lt;/p&gt;&lt;p&gt;然后添加如下：&lt;/p&gt;&lt;p&gt;&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;route add 10.0.13.0 mask 255.255.255.0 1&lt;/p&gt;&lt;p&gt;0.16.30.254 -p&lt;/p&gt;&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;route add 0.0.0.0 mask 0.0.0.0 117.128.1&lt;/p&gt;&lt;p&gt;08.1 -p&lt;/p&gt;&lt;/p&gt;&lt;p&gt;这时候查看路由表，-p的参数可以保证机器在重启后设置仍然生效.&lt;/p&gt;&lt;p&gt;&lt;p&gt;===========================================================================&lt;/p&gt;&lt;p&gt;Persistent Routes:&lt;/p&gt;&lt;p&gt;Network Address &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Netmask &amp;nbsp;Gateway Address &amp;nbsp;Metric&lt;/p&gt;&lt;p&gt;10.16.30.0 &amp;nbsp; &amp;nbsp;255.255.255.0 &amp;nbsp; &amp;nbsp; 10.16.30.254 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/p&gt;&lt;p&gt;10.0.13.0 &amp;nbsp; &amp;nbsp;255.255.255.0 &amp;nbsp; &amp;nbsp; 10.16.30.254 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/p&gt;&lt;p&gt;0.0.0.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0 &amp;nbsp; &amp;nbsp;117.128.108.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/p&gt;&lt;p&gt;我们来测试一下：&lt;/p&gt;&lt;p&gt;访问办公网络&lt;/p&gt;&lt;p&gt;&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;tracert 10.0.13.24&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tracing route to localhost [10.0.13.24]&lt;/p&gt;&lt;p&gt;over a maximum of 30 hops:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 &amp;nbsp; &amp;nbsp; 2 ms &amp;nbsp; &amp;nbsp; 1 ms &amp;nbsp; &amp;nbsp; 1 ms &amp;nbsp;localhost [10.16.30.253]&lt;/p&gt;&lt;p&gt;2 &amp;nbsp; &amp;nbsp; 9 ms &amp;nbsp; &amp;nbsp; 9 ms &amp;nbsp; &amp;nbsp;10 ms &amp;nbsp;localhost [10.3.255.33]&lt;/p&gt;&lt;p&gt;3 &amp;nbsp; &amp;nbsp;12 ms &amp;nbsp; &amp;nbsp; 9 ms &amp;nbsp; &amp;nbsp;11 ms &amp;nbsp;localhost [10.0.13.24]&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Trace complete.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;访问互联网:&lt;/p&gt;&lt;p&gt;&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;tracert www.163.com&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tracing route to 163.xdwscache.glb0.lxdns.com [60.28.236.112]&lt;/p&gt;&lt;p&gt;over a maximum of 30 hops:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 &amp;nbsp; &amp;nbsp; 2 ms &amp;nbsp; &amp;nbsp; 1 ms &amp;nbsp; &amp;nbsp; 2 ms &amp;nbsp;117.128.108.1&lt;/p&gt;&lt;p&gt;2 &amp;nbsp; &amp;nbsp;23 ms &amp;nbsp; &amp;nbsp; 4 ms &amp;nbsp; &amp;nbsp; 6 ms &amp;nbsp;117.128.12.165&lt;/p&gt;&lt;p&gt;3 &amp;nbsp; &amp;nbsp; 6 ms &amp;nbsp; &amp;nbsp; 8 ms &amp;nbsp; &amp;nbsp; 4 ms &amp;nbsp;117.128.8.4&lt;/p&gt;&lt;p&gt;4 &amp;nbsp; &amp;nbsp;17 ms &amp;nbsp; &amp;nbsp; 5 ms &amp;nbsp; &amp;nbsp; 5 ms &amp;nbsp;117.128.8.193&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2244082.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/11/10/2244082.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2011/08/18/2144795.html</id><title type="text">JVM优化引起的逻辑错误</title><summary type="text">public class Test2 { public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; if (i1 == i2 ) System.out.println(&amp;quot;相等!&amp;quot;); else System.out.println(&amp;quot;不相等!&amp;quot;); }}如上代码，你觉得会输出什么呢？结果是“相等”，哈哈...</summary><published>2011-08-18T08:42:00Z</published><updated>2011-08-18T08:42:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144795.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144795.html"/><content type="html">&lt;div&gt;public class Test2 {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; public static void main(String[] args) {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Integer i1 = 100;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Integer i2 = 100;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (i1 == i2 )&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("相等!");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("不相等!");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;}&amp;nbsp;&lt;/div&gt;&lt;div&gt;如上代码，你觉得会输出什么呢？&lt;/div&gt;&lt;div&gt;结果是&amp;ldquo;相等&amp;rdquo;，哈哈，对象的比较，指向不同的地址，怎么会相等？&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;如果修改数值为256,奇迹出现了，输出&amp;ldquo;不相等&amp;rdquo;&lt;/div&gt;&lt;div&gt;这是因为jvm在自动装箱的过程中进行了优化代码，&lt;span style="font-family: 宋体; line-height: 25px;"&gt;在自动装箱时对于值从&amp;ndash;128到127之间的值，使用一个实例。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 宋体; line-height: 25px;"&gt;这样就造成了逻辑错误哦。防不胜防啊！&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;可靠一点，还是使用如下的初始化对象方法，这样，结果就一直符合逻辑了。&lt;/div&gt;&lt;div&gt;&lt;div&gt;public class Test2 {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; public static void main(String[] args) {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Integer i1 = new Integer(100);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Integer i2 = new Integer(100);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (i1 == i2 )&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("相等!");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("不相等!");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;}&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;所以如果进行java开发久了，你就会比较头疼那些看上去完全正常的逻辑，在编译后跑出诡异的结果来，这完全靠你对jvm的经验积累哦！&lt;/div&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2144795.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144795.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2011/08/18/2144753.html</id><title type="text">box &amp; unbox</title><summary type="text">object 对象不能直接强制转换为 Integerobject对象可以直接强制转换为StringInteger a = Integer.parseInt(String str)装箱和拆箱？拆箱是自动的？八种基本类型不是对系那个，不能作为对象调用其toString()、hashCode()、getClass()、equals()等方法对八种基本类型，气功了针对每个基本类型的包装类int ----I...</summary><published>2011-08-18T08:18:00Z</published><updated>2011-08-18T08:18:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144753.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144753.html"/><content type="html">&lt;p&gt;object 对象不能直接强制转换为 Integer&lt;/p&gt;&lt;p&gt;object对象可以直接强制转换为String&lt;/p&gt;&lt;p&gt;Integer a = Integer.parseInt(String str)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;装箱和拆箱？拆箱是自动的？&lt;/p&gt;&lt;p&gt;八种基本类型不是对系那个，不能作为对象调用其toString()、hashCode()、getClass()、equals()等方法&lt;/p&gt;&lt;p&gt;对八种基本类型，气功了针对每个基本类型的包装类&lt;/p&gt;&lt;p&gt;int ----Integer&lt;/p&gt;&lt;p&gt;char ---Character&lt;/p&gt;&lt;p&gt;float ----Float&lt;/p&gt;&lt;p&gt;double---Double&lt;/p&gt;&lt;p&gt;byte----Byte&lt;/p&gt;&lt;p&gt;short----Short&lt;/p&gt;&lt;p&gt;long---Long&lt;/p&gt;&lt;p&gt;boolean ---Boolean&lt;/p&gt;&lt;p&gt;box 就是基本类型用它们相对应的基本类型包起来，使得他们具有对象的特质。&lt;/p&gt;&lt;p&gt;unbox的方向相反，将引用类型的对象简化为值类型。&lt;/p&gt;&lt;p&gt;在jdk1.5之前，需要手动box and unbox&lt;/p&gt;&lt;p&gt;jdk1.5之后，自动完成。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;wrapper 包装类中都有一个重要的静态方法parse，可以将String字符串类型转为相应的基本数据类型,如果字符串中的值不能转换为基本数据类型，则会抛出java.lang.NumberFormatException&lt;/p&gt;&lt;p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;public class parseInt {&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;/**&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt; * @param args&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt; */&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String[] args) {&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;// TODO Auto-generated method stub&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;int p = 1;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;Integer q = new Integer(p);//手动装箱&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;int m = q.intValue();//手动拆箱&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;System.out.println("manual box q="+q);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;System.out.println("manual unbox m="+m);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;int j = 2;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;Integer a = j;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;int b = a;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;System.out.println("auto box a="+a);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;System.out.println("auto unbox b="+b);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;String str = new String("30i");&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;try&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;{&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;int pp = Integer.parseInt(str);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;System.out.println(pp);&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;catch(Exception e)&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;{&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;e.printStackTrace();&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2144753.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144753.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2011/08/18/2144609.html</id><title type="text">scribefIre试用手记</title><summary type="text">以前也有用liveWrite的经历，觉得那玩意有点忒慢，而且软件本身比较大，找到的这款属于插件式的，比较喜欢对网易的博客没有自动识别出类型来，博客园的倒是很快就得到了类型，自动获得了服务接口。总体感觉不错，很清爽。唯一的问题是貌似没有地方设置分类目录。还是我没有找到？期待！</summary><published>2011-08-18T07:11:00Z</published><updated>2011-08-18T07:11:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144609.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144609.html"/><content type="html">&lt;p&gt;以前也有用liveWrite的经历，觉得那玩意有点忒慢，而且软件本身比较大，找到的这款属于插件式的，比较喜欢&lt;/p&gt;&lt;p&gt;对网易的博客没有自动识别出类型来，博客园的倒是很快就得到了类型，自动获得了服务接口。&lt;/p&gt;&lt;p&gt;总体感觉不错，很清爽。唯一的问题是貌似没有地方设置分类目录。还是我没有找到？期待！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/2144609.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2011/08/18/2144609.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2010/06/02/1750026.html</id><title type="text">mysql长连接和短连接的问题</title><summary type="text">什么是长连接？  其实长连接是相对于通常的短连接而说的，也就是长时间保持客户端与服务端的连接状态。  通常的短连接操作步骤是：  连接-》数据传输-》关闭连接；  而长连接通常就是：  连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接；  这就要求长连接在没有数据通信时，定时发送数据包，以维持连接状态，短连接在没有数据传输时直接关闭就行了  什么时候用长连接，短连接？ ...</summary><published>2010-06-02T07:34:00Z</published><updated>2010-06-02T07:34:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2010/06/02/1750026.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2010/06/02/1750026.html"/><content type="html">&lt;p&gt;&lt;strong&gt;什么是长连接？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;其实长连接是相对于通常的短连接而说的，也就是长时间保持客户端与服务端的连接状态。&lt;/p&gt;  &lt;p&gt;通常的短连接操作步骤是：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;连接-》数据传输-》关闭连接&lt;/strong&gt;；&lt;/p&gt;  &lt;p&gt;而长连接通常就是：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接&lt;/strong&gt;；&lt;/p&gt;  &lt;p&gt;这就要求长连接在没有数据通信时，定时发送数据包，以维持连接状态，短连接在没有数据传输时直接关闭就行了&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;什么时候用长连接，短连接？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;长连接主要用于在&lt;strong&gt;少数&lt;/strong&gt;客户端与服务端的&lt;strong&gt;频繁&lt;/strong&gt;通信，因为这时候如果用短连接频繁通信常会发生Socket出错，并且频繁创建Socket连接也是对资源的浪费。&lt;/p&gt;  &lt;p&gt;但是对于服务端来说，长连接也会耗费一定的资源，需要专门的线程（unix下可以用进程管理）来负责维护连接状态。&lt;/p&gt;  &lt;p&gt;总之，长连接和短连接的选择要视情况而定。&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;首先，如果使用了长连接而长期没有对数据库进行任何操作，那么在timeout值后，mysql server就会关闭此连接，而客户端在执行查询的时候就会得到一个类似于“MySQL server has gone away“这样的错误。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;在使用mysql_real_connect连接数据库之后，再使用mysql_options( &amp;amp;mysql, MYSQL_OPT_RECONNECT, … ) 来设置为自动重连。这样当mysql连接丢失的时候，使用mysql_ping能够自动重连数据库。如果是在mysql 5.1.6之前，那么则应在每次执行完real_connect 之后执行mysql_options( &amp;amp;mysql, MYSQL_OPT_RECONNECT, … ) ,如果是mysql 5.1.6+，则在connect之前执行一次就够了。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;查看mysql连接数&lt;/p&gt;  &lt;p&gt;mysqladmin -uroot -p&amp;#160; processlist&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;实际的测试中我发现，当设置了MYSQL_OPT_RECONNECT为1时，超时后再查看processlist，则自动建立的连接不在列表中，但事实上连接确实建立并被使用了。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;在MYSQL的默认设置中，如果一个数据库连接超过8小时没有使用(闲置8小时)，服务器将断开这条连接，后续在该连接上进行的查询操作都将失败。网络上对该问题的描述非常多。也提供了相应的解决办法。我在这里提一些我自己的看法。&lt;/p&gt;  &lt;p&gt;解决办法一：修改MYSQL服务器的配置参数&lt;/p&gt;  &lt;p&gt;道理非常简单，MYSQL的默认设置是在数据库连接超过8小时没有使用后将其断开，如果我们将这个时间改成更大的数值，那么连接超时所需的时间就会更长，也就意味着更不容易超时。&lt;font color="#ff0000"&gt;网络上提供的修改方法一般是修改/etc/my.cnf，在这个文件中添加一行wait_timeout=你需要设置的超时时间&lt;/font&gt; 。实际上有一种比较简单的方法来修改这个参数：&lt;/p&gt;  &lt;p&gt;首先作为超级用户登录到MYSQL，注意必须是超级用户，否则后面会提示没有修改权限。然后输入&lt;/p&gt;  &lt;p&gt;show global variables like 'wait_timeout';&lt;/p&gt;  &lt;p&gt;回车执行后显示目前的超时时间：&lt;/p&gt;  &lt;p&gt;+---------------+-------+&lt;/p&gt;  &lt;p&gt;| Variable_name | Value |&lt;/p&gt;  &lt;p&gt;+---------------+-------+&lt;/p&gt;  &lt;p&gt;| wait_timeout | 28800 |&lt;/p&gt;  &lt;p&gt;+---------------+-------+&lt;/p&gt;  &lt;p&gt;1 row in set (0.00 sec)&lt;/p&gt;  &lt;p&gt;上面显示的是默认的超时时间，即8个小时(单位是秒)。现在重新设置该参数，例如我们要将超时时间设置成10个小时，可以输入：&lt;/p&gt;  &lt;p&gt;set global wait_timeout=36000;&lt;/p&gt;  &lt;p&gt;回车执行，显示：&lt;/p&gt;  &lt;p&gt;Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;  &lt;p&gt;表示设置成功，可以重新使用show global variables like 'wait_timeout'来验证。&lt;/p&gt;  &lt;p&gt;这种方法比较直观，而且设置的参数立即生效。&lt;font color="#ff0000"&gt;但如果/etc/my.cnf中没有配置，则重启服务后，global变量会从/etc/my.cnf中读取新的变量值。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;下边是一段示例代码：&lt;/p&gt;  &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;if(!mysql_real_connect(&amp;amp;logdb, my_hostname, my_user, my_password, my_dbname, my_port, my_sock, 0)){        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ast_log(LOG_ERROR, &amp;quot;Failed to connect to mysql database %s on %s.\n&amp;quot;, my_dbname, my_hostname);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; use_mysql = 0;         &lt;br /&gt;} else {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; char value = 1;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_options(&amp;amp;logdb, MYSQL_OPT_RECONNECT, (char*)&amp;amp;value);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; use_mysql = 1;         &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/1750026.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2010/06/02/1750026.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2010/05/13/1734747.html</id><title type="text">tomcat入门</title><summary type="text">容器的配置（server.xml) 到主目录/conf文件夹下server.xml文件是对web服务器的配置： 以下是一些常见的设置，http端口设置，找到以下： &amp;lt;Connector port=&amp;quot;8080&amp;quot; maxThreads=&amp;quot;150&amp;quot; minSpareThreads=&amp;quot;25&amp;quot; maxSpareThreads=&amp;quot;75...</summary><published>2010-05-13T09:36:00Z</published><updated>2010-05-13T09:36:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734747.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734747.html"/><content type="html">&lt;p&gt;&lt;strong&gt;容器的配置（server.xml)     &lt;br /&gt;&lt;/strong&gt; 到主目录/conf文件夹下server.xml文件是对web服务器的配置：    &lt;br /&gt; 以下是一些常见的设置，http端口设置，找到以下：    &lt;br /&gt; &amp;lt;Connector    &lt;br /&gt; port=&amp;quot;8080&amp;quot;    &lt;br /&gt; maxThreads=&amp;quot;150&amp;quot; minSpareThreads=&amp;quot;25&amp;quot; maxSpareThreads=&amp;quot;75&amp;quot;    &lt;br /&gt; enableLookups=&amp;quot;false&amp;quot; redirectPort=&amp;quot;8443&amp;quot; acceptCount=&amp;quot;100&amp;quot;    &lt;br /&gt; connectionTimeout=&amp;quot;20000&amp;quot; disableUploadTimeout=&amp;quot;true&amp;quot; /&amp;gt;    &lt;br /&gt; 把8080端口改为你喜欢使用的端口，如常见的80，以后你就可以利用该端口进行访问你的网站了：http://localhost:80 期中80是默认的，可以不写，其他的一下配置，可以参观相关的内容，入门就是这么简单。&lt;/p&gt;  &lt;p&gt;下载安装完后，在安装目录下有以下目录，主要介绍一下conf、common、 webapps：   &lt;br /&gt; 如果你现在等不急了，就想体验一下tomcat的魅力的话，把你的网页拷到webapps/ROOT目录下，然后再通过浏览器访问即可，默认如下格式：http://localhost:8080/&amp;lt;你的网页&amp;gt;    &lt;br /&gt; 1)webapps文件夹主要用于web应用程序部署，比如你可以把你的应用程序包，如war文件拷到该目录下，容器会自动部署。    &lt;br /&gt; 2)conf文件夹下主要是放置tomcat的服务器的相关配置文件    &lt;br /&gt; 3)common文件夹主要是对容器全局变量的文件放置地方，如common/lib下就是放置一些需要全文配置的文件包。    &lt;br /&gt; 二、j2ee的相关部署规范：    &lt;br /&gt; 一般来说作为一个符合规范的web程序，会包括以下文件夹和文件：/WEB-INF/（主要是放置一些配置文件与不希望外部程序访问的隐私文件），在网 络上是不允许访问该文件夹的，如当你输入以下http://localhost:8080/WEB-INF/的话就会出现错误。    &lt;br /&gt; 在 WEB-INF文件夹下有一个web.xml文件，这是对当前应用程序的相关设置，资源寻找等，/WEN-INF/文件夹下有个classes子文件夹， 该文件夹是应用程序的根路径（等于是classpath的路径），/WEN-INF下还要有个lib文件夹，主要是放置需要引入的包，应用程序导入的包先 从这里开始寻找，其次到容器的全局路径下$TOMCAT_HOME/common/lib下寻找。&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;server.xml文件的设置，   &lt;br /&gt; 找到以下：    &lt;br /&gt; &amp;lt;Host name=&amp;quot;localhost&amp;quot; appBase=&amp;quot;webapps&amp;quot;    &lt;br /&gt; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;true&amp;quot;    &lt;br /&gt; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;    &lt;br /&gt; ....    &lt;br /&gt; &amp;lt;/Host&amp;gt;    &lt;br /&gt; 在他们之间可以添加一个&amp;lt;Context&amp;gt;元素，如：&amp;lt;Context path=&amp;quot;/axis&amp;quot; reloadable=&amp;quot;true&amp;quot; docBase=&amp;quot;axis&amp;quot;    &lt;br /&gt; workDir=&amp;quot;webapps/axis/work&amp;quot;/&amp;gt;，其中属性path代表是网络访问的上下文路径，reloadable表示可以在运 行时在classes与lib文件夹下自动加载类包，docBase属性表示你的应用程序的路径，在windows在如：docBase=&amp;quot;E:\Sun \axis&amp;quot;，workDir表示是缓存文件的放置地点，可以方便跨平台移植时不用重编译。这样，你的应用程序就可以放到硬盘上的任意地方了。还有一个方 法可以做到这点（推荐）：编写一个xml文件，然后放到tomcat目录/conf/Catalina/&amp;lt;相应的网站&amp;gt;/目录下，如：现在我 有个应用程序ACMEWeb，我编了一个文件ACMEWeb.xml内容如下：    &lt;br /&gt; &amp;lt;Context path=&amp;quot;/ACMEWeb&amp;quot; reloadable=&amp;quot;true&amp;quot; docBase=&amp;quot;E:\eclipseproject\ACMEWeb&amp;quot; workDir=&amp;quot;E:\eclipseproject\ACMEWeb\work&amp;quot; /&amp;gt;    &lt;br /&gt; 我把它放到了tomcat目录/conf/Cataline/localhost下，在浏览器打开http://localhost/ACMEWeb 就会转向我放在E:\eclipseproject\ACMEWeb下的程序了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/1734747.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734747.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2010/05/13/1734611.html</id><title type="text">Tomcat5部署</title><summary type="text">调优  （1）加大Tomcat的链接数  和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数，应同时加大这两个参数。 acceptCount：允许的最大连接数，应大于等于maxProcessors，默认值为100  web server允许的最大连接数还受制于操作系统的内核参数设置，通常Windows是2000个左右，Linux是1000个左右。  示...</summary><published>2010-05-13T07:26:00Z</published><updated>2010-05-13T07:26:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734611.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734611.html"/><content type="html">&lt;p&gt;&lt;strong&gt;调优&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;（1）加大Tomcat的链接数&lt;/p&gt;  &lt;p&gt;和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数，应同时加大这两个参数。 acceptCount：允许的最大连接数，应大于等于maxProcessors，默认值为100&lt;/p&gt;  &lt;p&gt;web server允许的最大连接数还受制于操作系统的内核参数设置，通常Windows是2000个左右，Linux是1000个左右。&lt;/p&gt;  &lt;p&gt;示例：&lt;/p&gt;  &lt;p&gt;&amp;lt;Connector port=&amp;quot;8080&amp;quot; maxHttpHeaderSize=&amp;quot;8192&amp;quot;&lt;/p&gt;  &lt;p&gt;maxThreads=&amp;quot;512&amp;quot; minSpareThreads=&amp;quot;50&amp;quot; maxSpareThreads=&amp;quot;75&amp;quot;&lt;/p&gt;  &lt;p&gt;enableLookups=&amp;quot;false&amp;quot; redirectPort=&amp;quot;8443&amp;quot; acceptCount=&amp;quot;512&amp;quot;&lt;/p&gt;  &lt;p&gt;debug=&amp;quot;0&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot;&lt;/p&gt;  &lt;p&gt;disableUploadTimeout=&amp;quot;true&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;注：URIEncoding=&amp;quot;UTF-8&amp;quot;是设置请求参数的编码格式。&lt;/p&gt;  &lt;p&gt;（2）加大tomcat可以使用的内存&lt;/p&gt;  &lt;p&gt;tomcat默认可以使用的内存为128MB，在较大型的应用项目中，这点内存是不够的，需要调大。&lt;/p&gt;  &lt;p&gt;Windows下，在文件{tomcat_home}/bin/catalina.bat，Unix下，在文件{tomcat_home}/bin/catalina.sh的前面，增加如下设置：   &lt;br /&gt;JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'    &lt;br /&gt; 需要把这个两个参数值调大。例如：    &lt;br /&gt;JAVA_OPTS='-Xms256m -Xmx512m'    &lt;br /&gt; 表示初始化内存为256MB，可以使用的最大内存为512MB。&lt;/p&gt;  &lt;p&gt;自己服务器用到：在{tomcat_home}/bin/catalina.sh文件的前面增加以下一行代码。&lt;/p&gt;  &lt;p&gt;CATALINA_OPTS=&amp;quot;$CATALINA_OPTS -Xms512m -Xmx512m&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;配置开机启动&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;安装jsvc   &lt;br /&gt;#cd /usr/local/tomcat/bin    &lt;br /&gt;#tar xvfz jsvc.tar.gz    &lt;br /&gt;#cd jsvc-src    &lt;br /&gt;#sh support/buildconf.sh    &lt;br /&gt;#chmod 755 configure    &lt;br /&gt;#./configure --with-java=/wapservice/server/jdk1.5.0_04&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (改成你的JDK的位置)    &lt;br /&gt;#make&lt;/p&gt;  &lt;p&gt;添加脚本让tomcat自动启动   &lt;br /&gt;#useradd tomcat5&amp;#160;&amp;#160;&amp;#160;&amp;#160; 添加用户    &lt;br /&gt;#groupadd tomcat 添加组    &lt;br /&gt;#usermod -G tomcat tomcat5 把tomcat5加入tomcat组    &lt;br /&gt;# chown -R tomcat5 /wapservice/server/tomcat-5.5.27 设置用户tomcat5对tomcat的权限    &lt;br /&gt;#cp /usr/local/tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat&amp;#160; 移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat    &lt;br /&gt;#chmod 755 /etc/init.d/tomcat    &lt;br /&gt;#vi /etc/init.d/tomcat&lt;/p&gt;  &lt;p&gt;配置文件片段：&lt;/p&gt;  &lt;p&gt;#!/bin/sh   &lt;br /&gt;##############################################################################    &lt;br /&gt;#    &lt;br /&gt;#&amp;#160;&amp;#160; Copyright 2004 The Apache Software Foundation.    &lt;br /&gt;#    &lt;br /&gt;#&amp;#160;&amp;#160; Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);    &lt;br /&gt;#&amp;#160;&amp;#160; you may not use this file except in compliance with the License.    &lt;br /&gt;#&amp;#160;&amp;#160; You may obtain a copy of the License at    &lt;br /&gt;#    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://www.apache.org/licenses/LICENSE-2.0"&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;    &lt;br /&gt;#    &lt;br /&gt;#&amp;#160;&amp;#160; Unless required by applicable law or agreed to in writing, software    &lt;br /&gt;#&amp;#160;&amp;#160; distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,    &lt;br /&gt;#&amp;#160;&amp;#160; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    &lt;br /&gt;#&amp;#160;&amp;#160; See the License for the specific language governing permissions and    &lt;br /&gt;#&amp;#160;&amp;#160; limitations under the License.    &lt;br /&gt;##############################################################################    &lt;br /&gt;#    &lt;br /&gt;# Small shell script to show how to start/stop Tomcat using jsvc    &lt;br /&gt;# If you want to have Tomcat running on port 80 please modify the server.xml    &lt;br /&gt;# file:    &lt;br /&gt;#    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160; &amp;lt;!-- Define a non-SSL HTTP/1.1 Connector on port 80 --&amp;gt;    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160; &amp;lt;Connector className=&amp;quot;org.apache.catalina.connector.http.HttpConnector&amp;quot;    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; port=&amp;quot;80&amp;quot; minProcessors=&amp;quot;5&amp;quot; maxProcessors=&amp;quot;75&amp;quot;    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; enableLookups=&amp;quot;true&amp;quot; redirectPort=&amp;quot;8443&amp;quot;    &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; acceptCount=&amp;quot;10&amp;quot; debug=&amp;quot;0&amp;quot; connectionTimeout=&amp;quot;60000&amp;quot;/&amp;gt;    &lt;br /&gt;#    &lt;br /&gt;# That is for Tomcat-5.0.x (Apache Tomcat/5.0)    &lt;br /&gt;#    &lt;br /&gt;# Adapt the following lines to your configuration    &lt;br /&gt;&lt;font color="#ff0000"&gt;JAVA_HOME=/usr/src/jdk1.5.0_22     &lt;br /&gt;CATALINA_HOME=/var/tomcat5      &lt;br /&gt;DAEMON_HOME=/var/tomcat5/bin      &lt;br /&gt;TOMCAT_USER=tomcat      &lt;br /&gt;TMP_DIR=/var/tmp      &lt;br /&gt;CATALINA_OPTS=&amp;quot; -Xms512m -Xmx1024m -DEWAY_HOME=/var/tomcat5/webapps/flexcc/eway-home&amp;quot;&lt;/font&gt;    &lt;br /&gt;CLASSPATH=\    &lt;br /&gt;$JAVA_HOME/lib/tools.jar:\    &lt;br /&gt;$CATALINA_HOME/bin/commons-daemon.jar:\    &lt;br /&gt;$CATALINA_HOME/bin/bootstrap.jar &lt;/p&gt;  &lt;p&gt;case &amp;quot;$1&amp;quot; in   &lt;br /&gt;&amp;#160; start)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; # Start Tomcat    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #    &lt;br /&gt;&amp;#160;&lt;font color="#ff0000"&gt;&amp;#160;&amp;#160; $DAEMON_HOME/jsvc-src/jsvc \     &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; -user $TOMCAT_USER \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -home $JAVA_HOME \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -Dcatalina.home=$CATALINA_HOME \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -Djava.io.tmpdir=$TMP_DIR \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -outfile $CATALINA_HOME/logs/catalina.out \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -errfile '&amp;amp;1' \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $CATALINA_OPTS \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -cp $CLASSPATH \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; org.apache.catalina.startup.Bootstrap    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; # To get a verbose JVM    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #-verbose \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; # To get a debug of jsvc.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #-debug \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ;; &lt;/p&gt;  &lt;p&gt;&amp;#160; stop)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; # Stop Tomcat    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; PID=`cat /var/run/jsvc.pid`    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; kill $PID    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ;; &lt;/p&gt;  &lt;p&gt;&amp;#160; *)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;Usage tomcat.sh start/stop&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; exit 1;;    &lt;br /&gt;esac&lt;/p&gt;  &lt;p&gt;测试,执行命令：service tomcat start|stop|restart|status&lt;/p&gt;  &lt;p&gt;把这段代码保存为 /etc/rc.d/init.d/tomcat ，然后运行   &lt;br /&gt;#chkconfig --add tomcat    &lt;br /&gt;用--list看一下是否系统已有tomcat启动文件    &lt;br /&gt;#ckhconfig --list    &lt;br /&gt;即可把tomcat 添加为系统服务自动随系统启动了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;遇到的问题:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;[root@asterisk ~]# chkconfig --add tomcat&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;service tomcat does not support chkconfig&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;解决的办法：&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;在脚本的最前面加上&lt;/p&gt;  &lt;p&gt;#!/bin/bash &lt;/p&gt;  &lt;p&gt;# chkconfig: 2345 10 90 &lt;/p&gt;  &lt;p&gt;# description: Starts and Stops the Tomcat daemon.&amp;#160; &lt;/p&gt;  &lt;p&gt;再运行命令&lt;/p&gt;  &lt;p&gt;sudo /sbin/chkconfig –add tomcat&lt;/p&gt;  &lt;p&gt;sudo /sbin/chkconfig –list&lt;/p&gt;  &lt;p&gt;看到tomcat，一切搞定。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pipelone/aggbug/1734611.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pipelone/archive/2010/05/13/1734611.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pipelone/archive/2010/01/15/1648732.html</id><title type="text">logrotate---日志轮转</title><summary type="text">1） 什么是logrotate?  logrotate是一个日志管理程序，用来把旧的日志文件删除（备份），并创建新的日志文件，这个过程称为“转储”。我们可以根据日志的大小，或者根据其使用的天数来转储，这个过程一般由cron来执行。  &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; logrotate还可以用于压缩日志文件，以及发送日志到指定的email。  2)&amp;#160; logr...</summary><published>2010-01-15T09:59:00Z</published><updated>2010-01-15T09:59:00Z</updated><author><name>uu.Net</name><uri>http://www.cnblogs.com/pipelone/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pipelone/archive/2010/01/15/1648732.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pipelone/archive/2010/01/15/1648732.html"/></entry></feed>
