title: Behavior of a synchronized method with try and finally
body: <p>Assume the following method:</p>
  
  <pre><code>public synchronized void a(){
      try{
          System.out.println("a");
          return;
      }finally{
          System.out.println("a, finally");
      }
  }
  </code></pre>
  
  <p>I understand that the finally block will still be executed even after the return statement. One can even "override" the return value !
  But my question is, will the method be unlocked after the return statement or after finally ?</p>