<?xml version="1.0" encoding="UTF-8"?>











<rss version="2.0" xmlns:jf="http://www.jivesoftware.com/xmlns/jiveforums/rss">



<channel>
    <title>Support Forums: Message List - An excellent Java puzzler</title>
    <link>http://www.theserverside.com</link>
    <description>Most recent forum messages</description>
    <language>en</language>
    
        <generator>Jive Forums Silver 5.5.30 (www.jivesoftware.com)</generator>
    
    <pubDate>Tue, 21 May 2013 19:21:48 -0400</pubDate>


    <item>

        <title>Re: Come on...</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>&gt; Why is this particular one the ultimate? Two reasons:<br>&gt; * It melted my brain when I hit it.<br><br>It melted YOUR brain? That surely makes this one "the ultimate".</blockquote>...]]></description>
        

        <pubDate>Wed, 25 Feb 2009 07:09:56 -0500</pubDate>

        

        <jf:creationDate>Wed, 25 Feb 2009 07:09:56 -0500</jf:creationDate>
        <jf:modificationDate>Wed, 25 Feb 2009 07:09:56 -0500</jf:modificationDate>
        <jf:date>Feb 25, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>


    <item>

        <title>Perception is the issue here</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>It's not a <i>common</i> thing; I wouldn't have put main() in the m1 package, and if it's not local to M1 you won't see the behavior (it won't compile). But it's still an interesting corner case, and I think it's not obvious unless you've run...]]></description>
        

        <pubDate>Tue, 24 Feb 2009 19:13:33 -0500</pubDate>

        

        <jf:creationDate>Tue, 24 Feb 2009 19:13:33 -0500</jf:creationDate>
        <jf:modificationDate>Tue, 24 Feb 2009 19:13:33 -0500</jf:modificationDate>
        <jf:date>Feb 24, 2009</jf:date>
        <jf:author>Kenneth Beaton</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>


    <item>

        <title>Re: Come on...</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<div class="jive-quote">Why is this particular one the ultimate? Two reasons:
* It melted my brain when I hit it.</div>

It melted YOUR brain? That surely makes this one "the ultimate".]]></description>
        

        <pubDate>Tue, 24 Feb 2009 05:32:21 -0500</pubDate>

        

        <jf:creationDate>Tue, 24 Feb 2009 05:32:21 -0500</jf:creationDate>
        <jf:modificationDate>Tue, 24 Feb 2009 05:32:21 -0500</jf:modificationDate>
        <jf:date>Feb 24, 2009</jf:date>
        <jf:author>Hoogla Boogla</jf:author>
        <jf:replyCount>1</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote><blockquote><blockquote><blockquote>I think what you don't understand is that for JVM class (or rather owner type as it can be interface) is always a part of the method name.</blockquote>I've been arguing that C3.m doesn't have the same name...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 18:32:01 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 18:32:01 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 18:32:01 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote><blockquote><blockquote>I think what you don't understand is that for JVM class (or rather owner type as it can be interface) is always a part of the method name.</blockquote>I've been arguing that C3.m doesn't have the same name as C1.m....]]></description>
        

        <pubDate>Fri, 20 Feb 2009 14:58:03 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 14:58:03 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 14:58:03 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>James Watson</jf:author>
        <jf:replyCount>1</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote><blockquote>I think what you don't understand is that for JVM class (or rather owner type as it can be interface) is always a part of the method name.</blockquote>I've been arguing that C3.m doesn't have the same name as C1.m.  You've...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 14:32:53 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 14:32:53 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 14:32:53 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>2</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>I think what you don't understand is that for JVM class (or rather owner type as it can be interface) is always a part of the method name.</blockquote>...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 10:34:45 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 10:34:45 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 10:34:45 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>James Watson</jf:author>
        <jf:replyCount>3</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>C4 is definitely weird.<br><br>Note that C4.m does not know about super.m</blockquote>...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 10:15:54 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 10:15:54 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 10:15:54 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>James Watson</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>So again, if your interpretation (as I understand it) were correct, c1.m() would resolve to C3.m().  The only way the spec can match the demonstrated behavior of this example is if the method C3.m() is not considered to have the same name...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 04:59:31 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 04:59:31 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 04:59:31 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>4</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote><blockquote>I don't know of any other language that allows shadowing for virtual methods or specially the weird skipping of classes in hierarchy.</blockquote><br><br>Someone on your blog suggest similar things can be shown with C++ but I...]]></description>
        

        <pubDate>Fri, 20 Feb 2009 04:43:03 -0500</pubDate>

        

        <jf:creationDate>Fri, 20 Feb 2009 04:43:03 -0500</jf:creationDate>
        <jf:modificationDate>Fri, 20 Feb 2009 04:43:03 -0500</jf:modificationDate>
        <jf:date>Feb 20, 2009</jf:date>
        <jf:author>jido</jf:author>
        <jf:replyCount>1</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote><blockquote>In order for this to be an accurate description of how Java works, C in the above has to be the runtime type of the object, not the type of the reference.</blockquote><br>This confused me too at first. The important part is what...]]></description>
        

        <pubDate>Thu, 19 Feb 2009 11:53:11 -0500</pubDate>

        

        <jf:creationDate>Thu, 19 Feb 2009 11:53:11 -0500</jf:creationDate>
        <jf:modificationDate>Thu, 19 Feb 2009 11:53:11 -0500</jf:modificationDate>
        <jf:date>Feb 19, 2009</jf:date>
        <jf:author>James Watson</jf:author>
        <jf:replyCount>5</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>In order for this to be an accurate description of how Java works, C in the above has to be the runtime type of the object, not the type of the reference.</blockquote>...]]></description>
        

        <pubDate>Thu, 19 Feb 2009 11:36:50 -0500</pubDate>

        

        <jf:creationDate>Thu, 19 Feb 2009 11:36:50 -0500</jf:creationDate>
        <jf:modificationDate>Thu, 19 Feb 2009 11:36:50 -0500</jf:modificationDate>
        <jf:date>Feb 19, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>6</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>Let's start with the less fun part:<br><blockquote>What I don't understand about your explanation is how I would get that output if all the JVM were doing was skipping methods that are not accessible.  In this case, all versions of m() are...]]></description>
        

        <pubDate>Thu, 19 Feb 2009 10:32:35 -0500</pubDate>

        

        <jf:creationDate>Thu, 19 Feb 2009 10:32:35 -0500</jf:creationDate>
        <jf:modificationDate>Thu, 19 Feb 2009 10:32:35 -0500</jf:modificationDate>
        <jf:date>Feb 19, 2009</jf:date>
        <jf:author>James Watson</jf:author>
        <jf:replyCount>7</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[BTW you can try giving this test to some friends/colleagues and see how they fare:...]]></description>
        

        <pubDate>Wed, 18 Feb 2009 18:23:30 -0500</pubDate>

        

        <jf:creationDate>Wed, 18 Feb 2009 18:23:30 -0500</jf:creationDate>
        <jf:modificationDate>Wed, 18 Feb 2009 18:23:30 -0500</jf:modificationDate>
        <jf:date>Feb 18, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>


    <item>

        <title>Re: An excellent Java puzzler</title>
        <link>http://www.theserverside.com/discussions/thread.tss?thread_id=53706</link>

        

        
            <description><![CDATA[<blockquote>This probably explains why you see this as so surprising and I do not.  The VM spec and the JLS are slightly at odds here (the JVM being more lenient.)  The compiler says that code isn't valid but the JVM links the calls to C1.  I'm much more...]]></description>
        

        <pubDate>Wed, 18 Feb 2009 18:21:52 -0500</pubDate>

        

        <jf:creationDate>Wed, 18 Feb 2009 18:21:52 -0500</jf:creationDate>
        <jf:modificationDate>Wed, 18 Feb 2009 18:21:52 -0500</jf:modificationDate>
        <jf:date>Feb 18, 2009</jf:date>
        <jf:author>Jevgeni Kabanov</jf:author>
        <jf:replyCount>0</jf:replyCount>
    </item>



</channel>
</rss>

