Does cglib creates in memory bytecode or physical class for implementing proxy?
CGLIB is very popular implementation used to achieve proxy mechanism. I am curious to know that, to proxy a particular class CGLIB creates an in memory implementation of its sub class or it creates physical byte code and then instantiate that class? 

If it creates in memory implementation then how much overhead it brings while doing so. I have tried to find this details in CGLIB documentation but it doesn't specify it or might have skipped by me.

May be the same question can be asked for javaassist library.
Does cglib creates in memory bytecode or physical class for implementing proxy?
===

CGLIB is very popular implementation used to achieve proxy mechanism. I am curious to know that, to proxy a particular class CGLIB creates an in memory implementation of its sub class or it creates physical byte code and then instantiate that class? 

If it creates in memory implementation then how much overhead it brings while doing so. I have tried to find this details in CGLIB documentation but it doesn't specify it or might have skipped by me.

May be the same question can be asked for javaassist library.