RedefineClasses() API (original) (raw)
Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Aug 12 12:23:55 PDT 2011
- Previous message: RedefineClasses() API
- Next message: hg: jdk8/tl/jdk: 4900206: Include worst-case rounding tests for Math library functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 8/12/11 1:08 PM, suraj puvvada wrote:
"I use RedefineClasses() API extensively. Wanted to know what is the impact redefining a class has on Perm Gen ? Are the older versions of a redefined class retained in memory forever ?"
If there is a more appropriate forum to post appreciate if you can let me know. Thanks Suraj
You've found the right forum.
Short answer: older versions of redefined methods are only kept around as long as a thread is executing that method.
Longer answer: When RedefineClasses() replaces a target class, it keeps weak references to various parts (methods and the constant pool come to mind) of the original class for internal book keeping reasons. As threads finish executing the obsolete or old methods, they become GC'able. That doesn't mean they are GC'ed right away, but they will be eventually.
Dan
-------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20110812/01bdb097/attachment.html
- Previous message: RedefineClasses() API
- Next message: hg: jdk8/tl/jdk: 4900206: Include worst-case rounding tests for Math library functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]