You will need to increase the heap size or decrease the number of records you cache.
after converting result set object into list i am putting it into session and then displaying it on jsp page.
So, each user on your system will have their own cached version of this list? Isn't this going to fairly dramatically reduce the number of users you can have one JVM? Why do you need to cache the results.
If you're planning on displaying 2000 records on a single JSP, your problems are just beginning. That's way more than most of us can read onscreen without going blind, and the sheer volume of data means that updating the display will take forever.
Customer surveys are for companies who didn't pay proper attention to begin with.