Thank you for the help.

I agree with you.
All oracle documentation and my research tells me that Java developer didn't close cursor appropriately.
I told the developer the importance of the closing cursor, but he said that he closed all the cursor explicitly.
Since I don't know the Java programming at all, I can not say anything more. what can i say?
Next time, when he runs the same query again, I want to issue select * from v$open_cursor to see the how many curosor and which statement opens the cursor without closing it.