这种情况表明你的Java应用存在连接泄漏和资源未及时释放的问题,主要体现在:
1. 大量处于TIME_WAIT状态的连接
2. 全部连接都是到同一个目标服务器(192.168.101.222:7003)
3. 连接数较多(122次)
可能的原因:
1. HTTP/TCP连接没有正确关闭
2. 连接池配置不合理
3. 没有复用连接
4. 网络请求未使用连接池
建议优化:
1. 使用连接池(如Apache HttpClient)
2. 设置合理的最大连接数
3. 正确关闭连接和流
4. 使用try-with-resources确保资源释放
5. 设置连接超时和读取超时
6. 检查是否频繁创建新连接
示例代码:
```java
// 使用连接池
CloseableHttpClient httpClient = HttpClients.custom()
.setMaxConnTotal(100) // 最大总连接数
.setMaxConnPerRoute(20) // 每个路由最大连接数
.build();
// 使用try-with-resources
try (CloseableHttpResponse response = httpClient.execute(request)) {
// 处理响应
}
```