You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Tomo Suzuki (JIRA)" <ji...@apache.org> on 2019/06/17 15:14:00 UTC

[jira] [Updated] (BCEL-320) A new ClassPathRepository that can scan many JAR files without OutOfMemoryError

     [ https://issues.apache.org/jira/browse/BCEL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomo Suzuki updated BCEL-320:
-----------------------------
    Summary: A new ClassPathRepository that can scan many JAR files without OutOfMemoryError  (was: A new ClassPathRepository that can scan 200 JAR files without OutOfMemoryError)

> A new ClassPathRepository that can scan many JAR files without OutOfMemoryError
> -------------------------------------------------------------------------------
>
>                 Key: BCEL-320
>                 URL: https://issues.apache.org/jira/browse/BCEL-320
>             Project: Commons BCEL
>          Issue Type: Improvement
>            Reporter: Tomo Suzuki
>            Priority: Minor
>
> (This ticket is derivation from [BCEL-317|https://issues.apache.org/jira/browse/BCEL-317], which I found creating ConstantUtf8 cache is not straightforward under current ClassPathRepository design.)
> We use BCEL library in https://github.com/GoogleCloudPlatform/cloud-opensource-java . Thank you for great library.
> I'm going to add an example case where existing ClassPathRepository and MemorySensitiveClassPathRepository throw OutOfMemoryError upon scanning many JAR files.
> Initially I thought it could be fixed by [BCEL-317|https://issues.apache.org/jira/browse/BCEL-317], but it turned out that it's not straightforward under current design. Instead of focusing on ConstantUtf8, I decided to use my own custom ClassPathRepository that uses LRU cache internally to hold JavaClass instances.
> This ticket is to contribute the idea to BCEL library so that other users can benefit from it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)