Ok, thanks for the correction -- I must've remembered it being the same as CLR.  In the CLR, it doesn't guarantee that references to 'a' and 'b' would be null, but that they *may* be null due to undefined order of reclaimation -- no explicit clearing of them needs to happen.<div>
<br></div><div>Cheers,</div><div><br></div><div>Vitaly<br><div><br></div><div><br><div class="gmail_quote">On Sun, May 13, 2012 at 6:28 PM, David Holmes <span dir="ltr"><<a href="mailto:davidcholmes@aapt.net.au" target="_blank">davidcholmes@aapt.net.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>



<div>
<div><span><font color="#0000ff" face="Arial">The 
objects referred to by 'a' and 'b' will remain finalizer-reachable until after 
the finalizer runs and so can not be reclaimed. If they were to be reclaimed it 
would require that all references to them in finalizable objects be found and 
cleared, which is not practical.</font></span></div>
<div><span><font color="#0000ff" face="Arial"></font></span> </div>
<div><span><font color="#0000ff" face="Arial">With 
regard to the OP, as long as the constructor completes normally, it is 
guaranteed that neither 'a' nor 'b' will be null when the finalizer 
runs. </font></span></div><span class="HOEnZb"><font color="#888888">
<div><span><font color="#0000ff" face="Arial"></font></span> </div>
<div><span><font color="#0000ff" face="Arial">David</font></span></div></font></span><div><div class="h5">
<blockquote style="BORDER-LEFT:#0000ff 2px solid;PADDING-LEFT:5px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px" dir="ltr">
  <div dir="ltr" align="left"><font face="Tahoma">-----Original Message-----<br><b>From:</b> 
  <a href="mailto:concurrency-interest-bounces@cs.oswego.edu" target="_blank">concurrency-interest-bounces@cs.oswego.edu</a> 
  [mailto:<a href="mailto:concurrency-interest-bounces@cs.oswego.edu" target="_blank">concurrency-interest-bounces@cs.oswego.edu</a>]<b>On Behalf Of </b>Vitaly 
  Davidovich<br><b>Sent:</b> Monday, 14 May 2012 8:20 AM<br><b>To:</b> Bob 
  Lee<br><b>Cc:</b> <a href="mailto:concurrency-interest@cs.oswego.edu" target="_blank">concurrency-interest@cs.oswego.edu</a><br><b>Subject:</b> Re: 
  [concurrency-interest] Object finalization<br><br></font></div>
  <p>perhaps I'm misremembering but there's no guarantee on the order in which 
  objects are reclaimed.  When SomeService finalizer runs and assuming a 
  and b were kept alive only by this instance of SomeService, I don't think 
  there's any guarantee that a and b have not been reclaimed at this point 
  already.  That's how the CLR finalization works, so perhaps I'm 
  conflating the two.</p>
  <p>Sent from my phone</p>
  <div class="gmail_quote">On May 13, 2012 5:54 PM, "Bob Lee" <<a href="mailto:crazybob@crazybob.org" target="_blank">crazybob@crazybob.org</a>> wrote:<br type="attribution">
  <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">On Sun, May 13, 2012 at 2:41 PM, Vitaly Davidovich <span dir="ltr"><<a href="mailto:vitalyd@gmail.com" target="_blank">vitalyd@gmail.com</a>></span> wrote:<br>

    <div class="gmail_quote">
    <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
      <p>I am unclear whether the original question is specifically about 
      reachability of a and b from the constructor or whether the constructor 
      was shown to us to indicate that a and b are never null after construction 
      (assuming asserts are enabled).  If it's the former, your answer is 
      correct (that's what I meant by saying not sure if your reply was 
      answering the question).  If it's the latter, then I'm pretty sure my 
      response is correct</p></blockquote>
    <div>Again, according the JLS, you're incorrect. "a" and "b" will be 
    non-null when SomeService.finalize() executes. Why would you think 
    otherwise?</div>
    <div> </div></div>
    <div>Bob</div>
    <div><a href="https://squareup.com/jobs" target="_blank">Square is 
    hiring!</a></div>
    <div><br></div><br></blockquote></div></blockquote></div></div></div>
</blockquote></div><br></div></div>