title: What are some examples of non-critical resources?
body: <p>A quote from <a href="http://java.sun.com/docs/books/effective/" rel="nofollow">Effective Java</a> states that:</p>
  
  <blockquote>
    <p>A second legitimate use of finalizers concerns objects with  native peers. A
    native peer is a native object to which a normal object delegates via native methods. Because a native peer is not a normal object, the garbage collector doesn’t
    know about it and can’t reclaim it when its Java peer is reclaimed. A finalizer is an
    appropriate vehicle for performing this task,  <strong>assuming the native peer holds no
    critical resources</strong>.</p>
  </blockquote>
  
  <p>I've not done C++ before, though I'm vaguely aware that file handlers and database connections are critical resources. But what exactly does it mean for a resource to be non-critical?</p>
  
  <p>Or rather, what are some examples of non-critical resources?</p>