-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ace713c
commit ae134ae
Showing
1 changed file
with
8 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,8 @@ | ||
# AtlasClassLoader | ||
* The Atlas Loader | ||
* This is a classloader , with dynamic class removal feature. | ||
* How this is achieved? | ||
* The idea came from Mario Ortegón(https://stackoverflow.com/users/2309/mario-orteg%c3%b3n) in this stackoverflow post -> https://stackoverflow.com/questions/148681/unloading-classes-in-java | ||
* And in brief description , every class can be removed , if his class loader is also garbage collected . so the | ||
* Atlas Loader just manages SingleClassLoaders , a loader witch only allowed to load one class (with call to .resolveIt()) . when the removal is needed | ||
* the only thing needed is to garbage collect the responsible class loader . | ||
* @implNote when .removeClass(java.lang.String) is called , it is assumed that every object of this class is also garbage collected | ||
* @implNote this class have no security responsibility , the specific implementation of SingleClassLoader has . the AtlasLoader is a dummy wrapper over | ||
* a bunch of SingleClassLoaders, nothing more! | ||
* | ||
## AtlasClassLoader | ||
Classic classloader , but you can remove the class in runtime | ||
|
||
#### How this is achieved? | ||
The idea came from Mario Ortegón(https://stackoverflow.com/users/2309/mario-orteg%c3%b3n) in this stackoverflow post -> https://stackoverflow.com/questions/148681/unloading-classes-in-java, and in brief description , every class can be removed , if his class loader is also garbage collected so the Atlas Loader just manages SingleClassLoaders , a loader witch only allowed to load one class (with call to .resolveIt()) | ||
When the removal is needed the only thing needed is to garbage collect the responsible class loader . | ||
When .removeClass(java.lang.String) is called , it is assumed that every object of this class is also garbage collected | ||
@implNote this class have no security responsibility , the specific implementation of SingleClassLoader has . the AtlasLoader is a dummy wrapper over a bunch of SingleClassLoaders, nothing more! |