java集合类深的实例用法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"java集合类深的实例用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java集合类深的实例用法"吧!在做云计算xenserve
千家信息网最后更新 2026年11月02日java集合类深的实例用法
这篇文章主要讲解了"java集合类深的实例用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java集合类深的实例用法"吧!
在做云计算xenserverAPI 连接xenserver和关闭xenserver时候,由于有定时任务每分钟刷新一次,定时任务中存取数据时候会经常的连接和关闭xenserver,造成xenserver的连接阻塞,所以把连接放入队列中进行连接和断开…………
/** * xenserverAPI调用接口 * @author hanxuan * @version 2016-12-14 */public class XenPool {private static Logger logger = Logger.getLogger(XenPool.class);private static final int XENSERVER_POOL_CAPACITY=20;private static Map> pool = new ConcurrentHashMap(100);public XenPool(){}public synchronized static Connection getConnect(XenServer xenServer) { URL url =null;try { url = new URL(xenServer.Hostname); } catch (MalformedURLException e) { e.printStackTrace();return null; } String host=url.getHost(); Queue queue = pool.get(host); Connection connection = null;if (queue != null) { Object conn = queue.poll();if (conn != null) { connection = (Connection) conn; } }if (connection==null){try { connection = new Connection(new URL(xenServer.Hostname), XenServer.REPLY_WAIT, XenServer.CONNECT_WAIT); } catch (MalformedURLException e) {logger.error("xenserver[" + xenServer.Hostname + "]建立连接异常!",e); }try { Session.loginWithPassword(connection, xenServer.Username, SystemService.decryptPassword(xenServer.Password), APIVersion.latest().toString()); } catch (Types.XenAPIException e) {logger.error("xenserver[" + xenServer.Hostname + "]XenAPIException异常!",e); } catch (XmlRpcException e) {logger.error("xenserver[" + xenServer.Hostname + "]XmlRpcException异常!",e); } }return connection; }public static void disconnect (Connection connection) { String host= null;try { host = connection.getConfig().getServerURL().getHost(); } catch (Exception e) { e.printStackTrace();return; } Queue queue = pool.get(host);if (queue==null){ queue = new ArrayBlockingQueue(XENSERVER_POOL_CAPACITY);pool.put(host, queue); }boolean flag=queue.offer(connection);if (!flag){//当连接不用时放到队列里 try { Session.logout(connection); } catch (Types.XenAPIException e) {logger.error("xenserver[" + host + "]释放异常!",e); } catch (XmlRpcException e) {logger.error("xenserver[" + host + "]释放异常!",e); } } }} 感谢各位的阅读,以上就是"java集合类深的实例用法"的内容了,经过本文的学习后,相信大家对java集合类深的实例用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
实例
学习
任务
内容
时候
队列
不用
就是
思路
情况
接口
数据
文章
更多
知识
知识点
篇文章
跟着
问题
存取
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是科技互联网
科技股互联网
科技互联网政务服务
互联网科技英文翻译
老年人脱离互联网科技的作文
新华互联网科技2019
团飞科技与伯堂互联网服务平台
湖南诚度互联网科技有限公司
互联网金融中的现代科技
崇明区互联网教育科技诚信经营
华夏互联网科技业
无锡工业互联网科技有限公司
互联网科技圈年度人物
美国互联网科技实力
互联网科技股为什么大涨
2021世界互联网领先科技成果发布
互联网科技接地气
互联网时代科技型公司的机会
互联网对科技影响
恒生科技互联网指数十大成分股
咖啡网
互联网科技名片
深圳市人人互联网科技有限公司
互联网科技公司起名
云之行互联网科技
互联网科技产品
互联网科技有哪些公司
智腾互联网科技有限公司
陕西云淼互联网科技公司
互联网科技包装股份有限公司上市