选择guava更安全,更简洁

1、为什么使用guava?

主要针对jdk1.5,jdk1.6中的接口进行封装或者优化,为常用的服务提供更丰富的结构支持,提供更安全代码操作。关键词:更优化、更安全、更丰富

2、guava主要提供哪些方面的接口支持?

  • I/O:主要针对jdk中的I/O异常可能会导致数据写失败问题,针对输入源Sources和输出地Sinks构建了更安全的读写及数据流关闭接口,主要包括:ByteSource/CharSource/ByteSink/CharSink/Closer,该机制有效的解决的数据流关闭异常可能会导致的问题,更安全

  • Strings:提供了字符串操作相关的接口。主要针对jdk中字符串处理接口中的一些ambiguous含糊的处理方式进行优化,对一些可能不符合编程规范的接口进行同样的标准化。这里提供的主要接口包括:Joiner/Splitter/CharMatcher/Charsets/CaseFormat,
    因此当你需要用到jdk中相关的字符串接口时,请考虑采用该guava接口替代;

  • primitive types:原生类型更丰富。丰富jdk提供的原生接口、数组。提供了相应的无符号数、字节转换等接口。

  • hashcode散列机制:针对jdk为对象Object提供的散列机制的缺点(i.
    将散列算法与作用的数据对象放在一起未分离开来;ii.hashcode限制在32位,实现的质量比较低;iii.hash冲突和bit的分散性),提供了相关的改正策略,主要实现了:HashFunction/Hasher/Funnel相关机制实现对对象的hashcode计算。此外该机制实现了布隆过滤器BloomFilter的支持。

  • Math:优化了jdk的Math包,提供了具有更明确语义的基本运算、浮点运算支持,同时还支持检查条件判断,对于可能造成异常的运算不采取容忍策略,而是尽快的报错。

  • Reflection:反射机制。关键是TypeToken类。由于jdk类在runtime时不为对象保存类型信息,但是TypeToken却可在运行时获取类型,同时还支持未具体化的类型。

  • Caches:提供了本地缓存机制,当然如果是服务端缓存可使用memcache。提供了.asMap可将其转换为类ConcurrentHashMap进行处理。

  • Collections:丰富其接口,针对常用的应用场景提供了更丰富的数据结构支持,主要包括:(ImmutableSet/MultiSet/MultiMap/BiMap/ClassToInstanceMap),这些类在很多应用场景下都可能会使用到,直接调用guava提供的接口可能大大减少我们的工作量,提高工作效率。

  • Preconditions

  • Eventbus

  • 函数式编程functional
    programming。(未完待续)

参考文档:https://code.google.com/p/guava-libraries/wiki/HashingExplained

时间: 2024-10-05 18:06:06

选择guava更安全,更简洁的相关文章

选择怎样的系统更能适合App软件开发者?

手机这个词早已经同吃喝玩乐一样,成为了人们生活中的必备元素.尤其是iPhone一炮走红之后,不但手机世界发生了巨大变化,整个科技产业似乎都格局性的改变.直至今日,手机市场的竞争更是日趋白炽化,这就给软件开发人员再次创造了空前的机会.然而厂商家数众多,相应的操作系统也是林林总总,作为软件开发者无论是个人还是公司都面临着系统选择之惑.到底选择哪一家,选择哪一类系统才能获得丰收,将与当年PC系统选择一样,会深深困惑每一位程序开发人员.接下来就由笔者给大家扒一扒手机软件开发者的系统[注1]选择之道! 缩

更轻更快的Vue.js 2.0与其他框架对比(转)

更轻更快的Vue.js 2.0 崭露头角的JavaScript框架Vue.js 2.0版本已经发布,在狂热的JavaScript世界里带来了让人耳目一新的变化. Vue创建者尤雨溪称,Vue 2.0 在性能上有显著的提升,同时保持轻量的文件下载: 渲染层基于一个轻量级的Virtual DOM实现进行了重写,该Virtual DOM实现fork自snabbdom.新的渲染层相比v1带来了巨大的性能提升,也让Vue 2.0成为了最快速的框架之一. 根据1.0到2.0迁移指南,“大约90%的API是相

Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏. 如果碰上不稳定的本地DNS,还可能经常出现无法解析的情况.除了要避免"坏"的DNS的影响,我们还可以利用DNS做些"好"事,例如管理局域网的DNS.给手机App Store加速.纠正错误的DNS解析记录.保证上网更加安全.去掉网

jqMobi 更小更快的移动框架

什么是jqMobi JqMobi   != JqueryMobileJqMobi是针对 移动设备开发的javascript框架,在2013年2月22日被 英特尔(intel)公司收购 改名为appframework jqMobi是由appMobi针对HTML5浏览器和移动设备开发的javascript框架,是个极其快速的查询选择库,支持W3C查询.官方网址:http://www.jqmobi.com/ 版本 jqMobi源码最初在2012年1月份推出,基于MIT/X11许可证,托管在GitHub

与阿里云整个生态体系共同成长,更快更好的为房地产行业客户提供高价值的服务。

免费开通大数据服务:https://www.aliyun.com/product/odps "最早是新业务要做,但是买服务器来不及,管理员没到位,而且新业务的成本很高,是否能成功也是未知,因此明源决定采用阿里云,等资金和人到位再搬到自己内部.然而就是这种误打误撞,却让明源抓住了一个很好的机会走在了正确的轨道上."--副总裁童继龙"阿里云数加的覆盖面很广,从存储.计算到上层应用,提供了一整套的解决方案,确实起到了马总说的普惠大数据.此外,数加也在不断的迭代,不停的有新产品出现,

一起来学习使用更快更好用的Android模拟器Genymotion

相信使用过Android原生模拟器的同学,对该模拟器都深恶痛绝,启动时间长,操作起来非常卡顿,而且经常还与我们的Eclipse失联,各种毛病丛生,极大的影响了我们的开发时间与效率.今天我们来介绍一款更快更好用的Android模拟器Genymotion的使用规则,为我们的开发事业助力! 我们先来看一下这款模拟器长什么样子呢! 我们可以清楚的看见它能支持原生模拟器所不能支持的GPS定位功能,摄像头和电源管理等等功能,还有各类的模拟感应器,是不是非常动心了呢!他还能与我们的Eclispe完美整合,支持

如何才能更快速更全面直观的了解当下所发生的新闻事件?

二十一世纪什么最贵?你以为我会回答人才吗?不,今天我要说:二十一世纪最贵的,是资讯. 曾几何时,资讯是珍贵的,只为少数人所掌握的内容:曾几何时资讯的传播方式还局限于飞鸽传书.烽火狼烟:曾几何时,资讯的呈现方式还只有竹简.泥石板等--从历史的洪流中一路走来,我们不难发现,资讯二字变得越来越普遍,资讯的获取方式也越来越多样.只要你想知道,似乎什么资讯都可以在互联网获取. 二十一世纪是信息爆炸的时代,但二十一世纪的核心事件,却是对信息的颠覆.获取资讯固然容易,但如何快速获取有效高价值的资讯却成立难题.

简悦浏览器:智能插件让阅读更简单更愉悦

简悦浏览器 是一款专为iOS手机用户设计和开发的优化阅读浏览器工具,简悦浏览器通过自主开发的智能转码引擎和ACP插件可以无缝将一个普通的网站深度优化,为手机用户提供赏心悦目的阅读浏览体验.当用户使用简悦浏览器访问知名中文论坛和小说网站时,简悦浏览器会自动发现和提供最佳的转码服务,目前已经支持100+以上网站的深度优化. 简悦浏览器主要由浏览器界面.浏览器内核.智能转码引擎和浏览器插件四部分组成,如下图示. 浏览器内核?-指浏览器的渲染引擎.简悦浏览器内核采用WeKit.WebKit渲染引擎又包含

没有比笑着活过,更通达更通透的活法了

生活难免会刁难我们.然而,比刁难更糟糕的情况是,有时候,雨还没有下起来,我们却先自己浇透了自己. 里尔克说,灵魂没有宇宙,雨水就会落在心上. 一个人,若是灵魂不够寥廓,就总会觉得,处处与奸邪恶毒的人狭路相逢.这是因为,越是在窄憋的空间里,丑恶越容易被放大.自我灵魂的通过性不好,就会显得坏人特别多.通过性,其实就是一种包容性,当你盛下了世界,即便偶见一隅的阴风浊浪,在阔大的视野里,也不过是沧海一粟. 生活的刁难,有时候,就像走在短巷中,冷不丁被狗咬了一口.也许要龇牙咧嘴疼上一阵子,但是,当你捂着伤

有个好的基础,才能走得更高更远

历程     大学 每个人在个方面都有自己的历程,情感上的,学习上的.经历和环境能一定层面上的反映出人的价值观和态度.近期一个上一份工作的小弟,准备从厦门离开回到福州.这件事情倒是没什么好多谈的,只是这件事情让我不禁拿自己在运维上的经历和他做对比. 07年志愿失利到了本省的三本院校,不咋样的师资,不咋样的环境,一个接触IT也仅仅只是QQ的刚毕业的高中生.课程没有体系,老师大都刚毕业的研究生,缺乏实际教学能力,也缺乏引导的能力.学校地理位置上处于一个穷乡僻壤,信息极其闭塞.专业大部分人基本玩游戏,