DulcetAirman icon

Leaking Constructor 2

DulcetAirman | PRO | 04/19/13 05:45:16 PM UTC | 0 ⭐ | 749 👁️ | Never ⏰ | []
Java |

710 B

|

None

|

0 👍

/

0 👎

package com.example.foo;
 
public class SomeClass {
  public static volatile SomeClass leak = null;
  public final byte[] data;
  public final String string;
 
  public SomeClass() {
    leak = this;
    this.data = new byte[Integer.MAX_VALUE];
    this.string = "something";
  }
 
  @Override
  public String toString() {
    return this.string;
  }
 
  public static void main(final String[] args) throws Exception {
    Object object = "nothing";
    try {
      object = new SomeClass();
    } catch (final Throwable e) { }
    System.out.printf("object = %s (%s)\n", object, object.getClass().getSimpleName());
    System.out.printf("leak = %s (%s)\n", leak, leak.getClass().getSimpleName());
  }
}

Comments