http://www.codeceo.com/article/jvm-memory-overflow.html#0-tsina-1-90071-397232819ff9a47a7b7e80a40613cfe1