You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the issue
There appears to be an issue where using FileInputStream and FileOutputStream objects can cause significant memory management overhead due to their finalization process. Even when these objects are closed diligently, they remain in the JVM's finalizer queue until a full garbage collection cycle is performed. This behavior, intended for backward compatibility, leads to increased garbage collection times and can severely impact the performance of applications with high file I/O operations.
Additional context
The issue has been observed in the following methods within our system:
NarrativeTemplateManifest.loadResource
TlsAuthenticationSvc.createKeyStore
VelocityHelper.configureVelocityEngine
A recommended workaround for this issue, especially for Java versions 7 and above, is to use Files.newInputStream(...) and Files.newOutputStream(...) instead of the traditional file stream classes. This change helps mitigate the described problem by avoiding reliance on the finalization process for resource management.
The text was updated successfully, but these errors were encountered:
Describe the issue
There appears to be an issue where using FileInputStream and FileOutputStream objects can cause significant memory management overhead due to their finalization process. Even when these objects are closed diligently, they remain in the JVM's finalizer queue until a full garbage collection cycle is performed. This behavior, intended for backward compatibility, leads to increased garbage collection times and can severely impact the performance of applications with high file I/O operations.
Additional context
The issue has been observed in the following methods within our system:
A recommended workaround for this issue, especially for Java versions 7 and above, is to use Files.newInputStream(...) and Files.newOutputStream(...) instead of the traditional file stream classes. This change helps mitigate the described problem by avoiding reliance on the finalization process for resource management.
The text was updated successfully, but these errors were encountered: