java.net.SocketException: No buffer space available的解决方法及总结
在一个爬虫程序中遇到了以下异常:
java.net.SocketException No buffer space available (maximum connections reached?): JVM_Bind
我们知道,操作系统有它允许持有的最大文件句柄数,而在网络连接的过程中,每个socket请求都要占用一个文件句柄资源,如果没有及时释放,则可能会耗尽文件句柄资源.
通过检查代码,发现在使用HttpClient发送Get请求时没有释放资源,并且由于是多线程程序,很容易耗尽资源
改写后的代码如下:
java 代码
1. HttpClient client = new HttpClient();
2. GetMethod method = null;
3. try {
4. method = new GetMethod(crawlerURL.getUURI().getEscapedURI());
5. statusCode = client.executeMethod(method);
6. //...
7. }
8. finally {
9. if (null != method)
10. method.releaseConnection();
11. }
在sun的技术论坛中有一个解答是这样的:
Chances are you are forgetting to close a socket, a database connection, or some other connection that uses sockets internally. See example program below.
The alternative is that your program (or the sum of all programs running on your computer) really needs a lot of connections. In this case you'll need to find out how to increase the amount of socket buffer space that your operating system allocates. I'd start by googling for instructions. Or maybe you could redesign your program so that it doesn't use so much resources.
分享到:
相关推荐
3. 错误信息:当Socket连接池出现问题时,可能会出现错误信息,如"java.net.SocketException: No buffer space available (maximum connections reached?): listen failed"。 解决方法 要解决线程太多导致Socket...
1.解决服务器报错:java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind 2.解决Windows Server 2003/2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows...
html 基于HTML+CSS+JavaScript开发接近,Apple风格的个人主页
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
数据挖掘实战-基于随机森林模型的零售店库存可视化与预测(数据集+代码).rar
内容概要: 该文件为Java最新LTS版本JDK 21版本的exe安装包,安装后无需配置环境变量 适用人群: 使用使用Java环境运行服务和开发的人群 使用建议: 使用可参考官网亦可参考本博主所撰Java相关文章
我的测试,用于测试文件excel加密安全性
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
# 双色球选号过滤器使用说明 ## 1. 基本功能 - 随机生成双色球号码 - 多选模式选号 - 过滤条件筛选 - 结果导出(支持TXT和Excel格式) ## 2. 界面说明 ### 2.1 生成设置 - **生成组数**:设置要生成的号码组数(随机模式下使用) - **多选模式**:勾选后可以手动输入多个号码进行组合 - 红球输入:7-20个号码,用空格分隔(如:1 2 3 4 5 6 7 8) - 蓝球输入:输入1个号码(1-16之间) ### 2.2 基本过滤条件 - **和值范围**:红球号码之和的范围(建议:60-120) - **奇数个数**:红球中奇数的个数(建议:2-4个) - **连号设置**:是否允许连续的号码 ### 2.3 高级过滤条件 - **AC值范围**:用于衡量号码分布的均匀度(建议:2-15) - AC值越小,号码分布越均匀 - AC值越大,号码分布越集中 ### 2.4 导出设置 - **TXT格式**:导出为文本文件 - **Excel格式**:导出为Excel表格
496在线游戏商城系统,包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 【前台】功能: 1. 首页:展示游戏商城的主页,包括热门游戏、推荐游戏等信息。 2. 游戏商城:用户可以浏览和购买游戏商品,查看游戏详情、加入购物车、下单购买等。 3. 网站公告:展示网站的公告信息,如优惠活动、新游上架等。 4. 用户功能:用户可以进行以下操作: - 主页:展示用户的个人主页,包括已购游戏、收藏游戏等信息。 - 收藏管理:用户可以管理自己收藏的游戏,包括添加、删除收藏。 - 商品管理:用户可以查看自己购买的游戏商品的历史记录。 - 消息中心:用户可以收到系统发送的通知消息,如订单状态更新、优惠活动等。 - 售出记录:用户可以查看自己购买的游戏商品的历史记录。 - 个人信息:用户可以管理自己的个人信息,包括用户名、头像、密码等。 【后台】功能: 1. 主页:展示管理员的主页,包括系统概览、最新订单等信息。 2. 收藏管理:管理员可以查看用户的收藏记录,并进行管理,如取消用户的收藏。 3. 商品管理:管理员可以管理游戏商品的信息,包括添加
javascript项目完整代码-个人所得税计算器小程序
矿山大模型最佳实践白皮书.pdf
ubuntu20.04安装教程 虚拟机下载地址 https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html Linux有很多发行版,选择较为友好的Ubantu。登录你清镜像,下载20.04.2.0版本的Ubantu。镜像链接如下: https://mirrors.tuna.tsinghua.edu.cn/
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
关于控制理论的Matlab相关实验代码
智慧城市行业交流-混沌大学:54个思维模型帮你成为增长高手.pdf
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
511玩具商城系统,包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 【前台】: 1. 商城:用户可以浏览和搜索商品,查看商品详情,选择商品加入购物车,进行下单购买。 2. 交流:用户可以在论坛中与其他用户交流,发表帖子、评论和回复。 3. 我的主页:用户可以查看自己的个人信息,包括头像、昵称等,同时也可以查看自己的购物记录、订单状态等。 4. 我的购物车:用户可以管理购物车中的商品,包括添加、删除商品、修改商品数量等操作。 5. 收货订单:用户可以查看自己的订单列表,包括待付款、待发货、待收货和已完成的订单,可以查看订单详情、确认收货等。 6. 收货地址:用户可以管理自己的收货地址,包括添加、编辑、删除地址等操作。 7. 基本信息:用户可以管理自己的基本信息,包括修改密码、修改个人资料等。 8. 我的文章:用户可以发布和管理自己的文章,包括添加、编辑、删除文章等操作。 9. 我的提成:用户可以查看自己的提成情况,包括提成金额、提成历史等信息。 【后台】: 1. 系统管理:管理员可以管理系统的用户账号和权限,包括添加、编辑、删除用户,设置用户权限等。 2. 商
内容概要:本文详细介绍了一个使用MATLAB实现的车牌识别系统的实战项目。文中选取常见的车牌识别为例,涵盖了从图像预处理到字符分割及识别的全过程,展示了MATLAB在图像处理方面的强大功能。通过实际案例,不仅呈现了具体代码的实现方式,还在每一步骤中辅以简明的理论解释,使用户能够理解和动手实践。全文注重实用性与操作性,力求内容易懂且便于初学者上手。 适合人群:适合于对MATLAB感兴趣的初学者,尤其是从事智能交通系统研究的学生以及初级工程师。 使用场景及目标:该项目帮助使用者掌握MATLAB的基础应用,特别是利用其图像处理工具解决实际问题的方法和技术;同时也为后续深入学习提供了很好的起点,引导使用者从基础知识逐渐过渡到高级技术如深度学习的集成。 其他说明:文章还提出了针对实际应用场景下的几种效果优化方法和常见问题解决方案,例如如何处理光照变化、校正图像倾斜等问题,并给出了更多潜在的应用前景和发展方向。同时提醒读者可以联系特定渠道获得完整代码及更多学习资料。
weixin083校园工会体育报名系统+ssm(源码)_kaic