Suppose a lot of what your application does deals with reading contents of files. It goes without saying that files that are opened then closed and life is good unless ... n
Sorry for necroposting, but guys, you're ignoring -K option of lsof cause java have threads, each of them have their own FD that are living in /proc/$PID/tasks/fd/