I'm trying to understand what are the differences between proxy and dynamic proxy patterns. from what I've read so far the only thing that I found out is that the proxy class byte-code is created during compile time and on dynamic proxy it's created during run-time. are there another differences that i'm missing? if not then what's the reason to prefer proxy over dynamic proxy (except performance issues)