This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
It depends a lot on what you mean by 10000 users. Registered users? Logged in users? Users making simultaneous requests?
Here is one possible way to calculate the required connection pool size: If you assume that each user will spend 5 minutes thinking before entering a request, and each request takes 1 second to process, then you have about 33 simultaneous users (5 min == 300 seconds, so if you had only 300 users you would have 1 request at a time; 10000 / 300 ~= 33). If only 1/2 of the requests require a database connection, then a pool of 16 connections should be sufficient.
On another topic, I recall reading somewhere that MySQL can handle around 500 connections. That depends on the amount of memory and processor speed (you won't get that on a netbook!). Given the above calculations, you could handle 100s of thousands of users.
On more thought - Java EE application servers have built-in database connection pools. Read the docs for your app server to see how to go about configuring such a pool.