A new/used Programming (Java and C++) Laptop

<p>I have seen a few threads like this one already, but every single person asking about a laptop to buy had a budget WAY bigger than mine. I want a fast laptop with a screen no bigger than 16" and no smaller than 14". I need it to have a good, reliable keyboard and no less than 2GB of RAM. I am not going for a MAC. I understand that the majority of programming is done on a mac, but I grew up with Windows and Windows is cheaper. My budget is at max, $400, but i would really like to stay under $300. I really like thinkpads, but I don't wanna restrict myself to just the Thinkpad. I will be doing NO gaming on this laptop, I will have a desktop for that. I may put music on it though cause music gives me a creative muse. So it can have nice speakers, but it isn't a deal breaker. Not gonna be using Windows 8, cause I don't need a touch screen for programming. I would much rather use Win7. I may use a VM to put Linux on my laptop too. Any suggestions?</p>