The way that I understand it is that in some languages you are allowed to have methods imbedded in other methods or method used as a parameter to a method call. In such cases if the "inner method" or function uses the same variable values as the calling method, then you have deep binding, if the outer methods scope does not encompase the inner method then you have shallow binding.
Since
Java does not allow this is it not an issue.
However, if you COULD do that and your outer method had a variable that hides a static variable, when you are in your inner method a language with deep binding would use the outer classes understanding of the variable. A language with shallow binding would use the static variable itself.
(This is based on a rather sketchy understanding).
Found a quote from [url=http://xarch.tu-graz.ac.at/autocad/lisp/FAQ-link/msg00644.html[/url]
>There is a tradeoff between shallow and deep binding. Shallow binding
>makes dynamically bound variables faster at the expense of making
>stack switching slower, deep binding makes stack switching faster, but
>slows down lookup of dynamic variables.
[ January 16, 2003: Message edited by: Cindy Glass ]