title: Is Objects.requireNonNull less efficient than the old way?
body: <p>Since JDK 7 I've been happily using the method it introduced to reject <code>null</code> values which are passed to a method which cannot accept them:</p>
  
  <pre><code>private void someMethod(SomeType pointer, SomeType anotherPointer) {
      Objects.requireNonNull(pointer, "pointer cannot be null!");
      Objects.requireNonNull(anotherPointer, "anotherPointer cannot be null!");
      // Rest of method
  }
  </code></pre>
  
  <p>I think this method makes for very tidy code which is easy to read, and I'm trying to encourage colleagues to use it. But one (particularly knowledgeable) colleague is resistant, and says that the old way is more efficient:</p>
  
  <pre><code>private void someMethod(SomeType pointer, SomeType anotherPointer) {
      if (pointer == null) {
          throw new NullPointerException("pointer cannot be null!");
      }
      if (anotherPointer == null) {
          throw new NullPointerException("anotherPointer cannot be null!");
      }
      // Rest of method
  }
  </code></pre>
  
  <p>He says that calling <code>requireNonNull</code> involves placing another method on the JVM call stack and will result in worse performance than a simple <code>== null</code> check.</p>
  
  <p>So my question: is there any <strong>evidence</strong> of a performance penalty being incurred by using the <code>Objects.requireNonNull</code> methods?</p>