When to use "Dynamic Proxy class" or "standard proxy" pattern?
<p>Why should one use a "Dynamic Proxy class" instead of the "standard proxy" pattern? </p>

<p>What are the disadvantages or advantages of both?</p>

<p>It seems like they both have the same end result, except that they are implemented differently.</p>

<p>Dynamic proxy class
<a href="https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/proxy.html" rel="nofollow">https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/proxy.html</a></p>

<blockquote>
  <p>A dynamic proxy class is a class that implements a list of interfaces
  specified at runtime such that a method invocation through one of the
  interfaces on an instance of the class will be encoded and dispatched
  to another object through a uniform interface. Thus, a dynamic proxy
  class can be used to create a type-safe proxy object for a list of
  interfaces without requiring pre-generation of the proxy class, such
  as with compile-time tools. Method invocations on an instance of a
  dynamic proxy class are dispatched to a single method in the
  instance's invocation handler, and they are encoded with a
  java.lang.reflect.Method object identifying the method that was
  invoked and an array of type Object containing the arguments.</p>
</blockquote>

<p>Standard proxy pattern <a href="https://en.wikipedia.org/wiki/Proxy_pattern" rel="nofollow">https://en.wikipedia.org/wiki/Proxy_pattern</a></p>

<blockquote>
  <p>A proxy, in its most general form, is a class functioning as an
  interface to something else. The proxy could interface to anything: a
  network connection, a large object in memory, a file, or some other
  resource that is expensive or impossible to duplicate. In short, a
  proxy is a wrapper or agent object that is being called by the client
  to access the real serving object behind the scenes. In the proxy
  extra functionality can be provided, for example caching when
  operations on the real object are resource intensive, or checking
  preconditions before operations on the real object are invoked. For
  the client, usage of a proxy object is similar to using the real
  object, because both implement the same interface.</p>
</blockquote>