Mengatasi Java Memory Leak Apache POI

 


Library POI adalah library yang disediakan oleh apache foundation,  yang dipergunakan untuk membaca dan menulis file format excel.

Berikut adalah cara mengatasi Java memory leak Apache POI :

1. Tambahkan dependency maven pada pom.xml project

<dependency>

        <groupId>org.apache.poi</groupId>

        <artifactId>poi-ooxml</artifactId>

        <version>3.17</version>

</dependency>


2. Tambahkan pada file app.java


Pada source diatas untuk menulis kedalam file excel, dan hanya mampu menulis 200rb data, lebih dari itu memory java akan leak.

3. Untuk mengatasi atau solusi dari sisi code agar memory java tidak leak adalah dengan cara merubah code menjadi :



Keterangan :

Mengubah code Workbook workbook = new XSSFWorkbook(); menjadi SXSSFWorkbook workbook = new SXSSFWorkbook(1000);.

Pada code pertama semua proses di memory, namun pada code ke dua, hanya 1000 baris yang dilakukan di memory, selebihnya akan dijalankan pada disk. Dengan cara ini maka akan mengurangi resiko memory leak pada java, dan mengurangi trial error untuk menaikan kapasitas JVM pada server.