title: Garbage collection of private fields
body: <p>Given the code below.</p>
  
  <pre><code>class A {
      private B b;
      public A() {
          b = new B();
      }
  }
  
  class Main {
      public static void main(String[] args) {
          A a = new A(); // two objects are created (a and b)
          // &lt;-- is B object, referenced only by private a.b eligible for garbage collection?
          keepAlive(a);
      }
  }
  </code></pre>
  
  <p>Can B object be garbage collected after the A object is created?</p>