﻿<?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-黑铁时代-文章分类-JVM</title><link>http://www.blogjava.net/Mars/category/39667.html</link><description>一个人倘若需要从思想中得到快乐，那么他的第一个欲望就是学习。</description><language>zh-cn</language><lastBuildDate>Mon, 25 May 2009 03:36:56 GMT</lastBuildDate><pubDate>Mon, 25 May 2009 03:36:56 GMT</pubDate><ttl>60</ttl><item><title>Java Integer</title><link>http://www.blogjava.net/Mars/articles/277673.html</link><dc:creator>BruceLeey</dc:creator><author>BruceLeey</author><pubDate>Sun, 24 May 2009 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/Mars/articles/277673.html</guid><wfw:comment>http://www.blogjava.net/Mars/comments/277673.html</wfw:comment><comments>http://www.blogjava.net/Mars/articles/277673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Mars/comments/commentRss/277673.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Mars/services/trackbacks/277673.html</trackback:ping><description><![CDATA[<pre>
<div style="font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><br />
</div>
</pre>
<span style="font-size: 24pt; "><span style="font-size: 12pt; "><span style="font-size: 24pt; "><span style="font-size: 14pt; "><span style="font-size: 10pt; ">
<pre>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Test&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><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;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;i1&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">100</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;i2&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">100</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(i1&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;i2)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">i1==i2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">i1!=i2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;i3&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">200</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;i4&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">200</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(i3&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;i4)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">i3==i4</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">i3!=i4</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
</span><span style="color: #008000; ">/**</span><span style="color: #008000; "><br />
*&nbsp;&nbsp;i1==i2;<br />
*&nbsp;&nbsp;i3!=i4;<br />
</span><span style="color: #008000; ">*/</span></div>
<p>&nbsp;</p>
</pre>
<p>java &#8220;==&#8221;就是比较引用，没有重载过,而由于-128至127内的Interger都是同一个对象引用，</p>
<p>所以第一个比较式true 之外的Interger 则不是同一个对象，所以比较为false
<br />
重载的应该是equals（）方法，所以如果用equals来比较应该都为true.</p>
<p>在JDK源码中Integer类有一个内部类IntegerCache，它默认创建了一个-128~127的Integer对象数组。
<br />
只要比较的是在这256个数内，就直接在对象池里查找并返回该对象。 <br />
这是Java处于性能的考虑，目的是节省内存。
<br />
至于范围之外的，不同的引用就不相等了。&nbsp;</p>
</span>
<p>&nbsp;</p>
</span>
<p>&nbsp;</p>
</span>
<p>&nbsp;</p>
</span>
<p>&nbsp;</p>
</span>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/Mars/aggbug/277673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Mars/" target="_blank">BruceLeey</a> 2009-05-24 13:50 <a href="http://www.blogjava.net/Mars/articles/277673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JVM内存图解</title><link>http://www.blogjava.net/Mars/articles/271531.html</link><dc:creator>BruceLeey</dc:creator><author>BruceLeey</author><pubDate>Tue, 19 May 2009 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/Mars/articles/271531.html</guid><wfw:comment>http://www.blogjava.net/Mars/comments/271531.html</wfw:comment><comments>http://www.blogjava.net/Mars/articles/271531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Mars/comments/commentRss/271531.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Mars/services/trackbacks/271531.html</trackback:ping><description><![CDATA[<img alt="" src="http://www.blogjava.net/images/blogjava_net/mars/jvm_mem.gif" width="782" height="915" /><br />
<img src ="http://www.blogjava.net/Mars/aggbug/271531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Mars/" target="_blank">BruceLeey</a> 2009-05-19 13:59 <a href="http://www.blogjava.net/Mars/articles/271531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>