java.net.socketexception permission denied

原因:

操作系统中如果有ipv4和ipv6两个net stack,那么java默认使用ipv6,此时如果操作系统中的ipv6没有网络访问权限,如下

java.net.socketexception permission denied

由此,就知道了为什么会提示:permission denied

解决方法:运行java的时候,使用   -Djava.net.preferIPv4Stack=true 。这里的意思就是,强制java使用ipv4进行net。