The objects generated by the keyword new in Java are automatically managed by the garbage collector inside Java Virtual Machine (JVM) not like using the keywords free or delete in C or C++ programming environments. This provides a means of freedom of ...
The objects generated by the keyword new in Java are automatically managed by the garbage collector inside Java Virtual Machine (JVM) not like using the keywords free or delete in C or C++ programming environments. This provides a means of freedom of memory management burden to the application programmers. The garbage collector however, inherently has its own run time execution overhead. Thus it causes the performance degradation of JVM significantly. In order to mitigate the execution burden of a garbage collector, we propose a novel way of dynamic memory management scheme in Java environment. In the proposed method, the application programmers can explicitly manage the objects in a simple way, which in consequence the run-time overhead can be reduced while the garbage collector is under processing. In order to accomplish this, Java application firstly calls the APIs that are implemented by native Java, and then calls the subroutines depending on the JVM, which in turn support to keep the portability characteristic Java has. In this way, we can not only sustain the stability in execution environments, but also improve performance of garbage collector by simply calling the APIs. Our simulation study show that the proposed scheme improves the execution time of the garbage collector from 10.07 percent to 52.24 percent working on Mark-and-Sweep algorithm.