Fastest way to scan ports with Java
===

I made very simple port scanner, but it runs too slow, so I'm looking for way to make it scan faster. Here is my code:

    public boolean portIsOpen(String ip, int port, int timeout) {
            try {
                Socket socket = new Socket();
                socket.connect(new InetSocketAddress(ip, port), timeout);
                socket.close();
                return true;
            } catch (Exception ex) {
                return false;
            }
        }

this code here test if specific port is open on specific ip. For timeout I use minimum value of 200 because when I go lower it doesnt have enough time to test the port. Well It works well, but takes too much to scan from 0 to 65535. Is there any other way that could maybe scan from 0 to 65535 in less than 5 minutes?