1.Unrecognized Windows Sockets error: 0: JVM_Bind
解决方法:
通过Eclipse启动Tomcat时,抛出异常java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind。此异常的原因是服务器端口被占用
其解决办法包括以下两种:
一:更改服务器的端口号;
二:关闭占用当前占用该端口的进程
2、更改服务器端口号
到tomcat目录下的把conf文件夹下的server.xml文件中,找到
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将该端口修改一下便可
<Connector port="8088" protocol="AJP/1.3" redirectPort="8443" />
3、关闭当前占用该端口的进程
1)首先进入命令行 查看端口是否被占用
使用命令: netstat -ano
我的服务器的端口是443
此端口已被PID为3432的进程占用
2)通过任务管理器或taskkill程序结束PID为3432的进程。
因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。
在网上一查可能是JAVA的堆栈设置太小的原因,结合网上的答案大致有这两种解决方法:
1、设置环境变量:
set JAVA_OPTS= -Xms32m -Xmx512m
可以根据自己机器的内存进行更改,但本人测试这种方法并没有解决问题。可能是还有哪里需要设置。
2、java -Xms32m -Xmx800m className:
就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)
这个解决问题了。而且执行的速度比没有设置的时候快很多。
如果在测试的时候可能会用Eclispe 这时候就需要在Eclipse -》window-》preferences 中输入-Xms32m -Xmx512m这个参数就可以了。