Jack47

我思故我在

Google Java编程库Guava介绍

本系列想介绍下Java下开源的优秀编程库--Guava[ˈgwɑːvə]。它包含了Google在Java项目中使用一些核心库,包含集合(Collections),缓存(Caching),并发编程库(Concurrency),常用注解(Common annotations),String操作,I/O操作方面的众多非常实用的函数。Guava需要JDK1.6及以上版本。

使用这些开源的类库,帮助非常大,能够节约你的宝贵时间,减少你出错的可能,让你把时间都集中在处理自己独特的业务逻辑上。同时可以多看看这些优秀的开源库,向他们学习,能够帮助你设计更好的API,让你的代码更易读,更整洁,更简单,因为这些API自身就是很好的例子。

Guava库是按照Joshua BlochEffective Java: 2nd Edition来写的,不可变性(不可变的集合,CharMatcher,Joiner, Splitter等),构造者模式(ImmutableList.builder(), Joiner, Ordering等),范型等随处可见,使用工厂而不是构造函数(Maps.newHashMap()),钟情于组合而不是继承(ForwardXXX这类集合)。

如果你是使用Maven来作Java/Android项目管理,可以在pom.xml中dependencies下添加对Guava的依赖,然后在IntelliJ IDEA重新导入(Reimport)这个项目,让Maven下载Guava对应版本的jar包,就可以使用Guava提供的众多API了。如果在IntelliJ IDEA中跳转到了Guava的代码中,可以使用右上角提示的"Download Source"来下载对应的源码。

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>

本系列目录如下,目前只写了1,2后续会逐渐补上:

  1. 集合(Collection)相关的API
  2. 实用的工具类
  3. 缓存(Cacheing) API
  4. 并发编程(Concurrency)

参考资料:

Guava wiki

Guava Github

Friends of Guava

posted on 2016-01-17 19:17 Jack47 阅读(708) 评论(2) 编辑 收藏

</div><a name="!comments"></a><div id="blog-comments-placeholder"><div id="comments_pager_top"></div>

评论

<h4><a href="#3350717" class="layer">#1楼</a><a name="3350717" id="comment_anchor_3350717"></a><span> <span class="comment_date">2016-01-20 09:43</span></span><a id="a_comment_author_3350717" href="http://www.cnblogs.com/lizhanwu/" target="_blank">Walle</a> <a href="http://msg.cnblogs.com/send/Walle" title="发送站内短消息" class="sendMsg2This">&nbsp;</a></h4>
<p></p><div id="comment_body_3350717" class="blog_comment_body">请问阁下具体工作是C++和Java都写吗?</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3350717,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(3350717,'Bury',this)">反对(0)</a></div><span id="comment_3350717_avatar" style="display:none;">http://pic.cnblogs.com/face/631817/20141211160544.png</span><span class="comment_actions"></span><p></p> <h4><a href="#3350921" class="layer">#2楼</a><a name="3350921" id="comment_anchor_3350921"></a>[<span class="louzhu">楼主</span>]<span id="comment-maxId" style="display:none;">3350921</span><span id="comment-maxDate" style="display:none;">2016/1/20 12:50:12</span><span> <span class="comment_date">2016-01-20 12:50</span></span><a id="a_comment_author_3350921" href="http://www.cnblogs.com/Jack47/" target="_blank">Jack47</a> <a href="http://msg.cnblogs.com/send/Jack47" title="发送站内短消息" class="sendMsg2This">&nbsp;</a></h4>
<p></p><div id="comment_body_3350921" class="blog_comment_body">对,C++用的很多,最近在搞实时计算,所以也在用Java。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3350921,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(3350921,'Bury',this)">反对(0)</a></div><span class="comment_actions"></span><p></p>
注册用户登录后才能发表评论,请 登录注册访问网站首页。

导航

< 2016年12月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

统计

  • 随笔 - 57
  • 文章 - 0
  • 评论 - 82
  • 引用 - 0

搜索

 

我的标签

随笔分类(65)

			<ul>

			<li><a id="CatList_LinkList_0_Link_0" href="http://www.cnblogs.com/Jack47/category/438019.html">C(7)</a> </li>

			<li><a id="CatList_LinkList_0_Link_1" href="http://www.cnblogs.com/Jack47/category/428076.html">C#(3)</a> </li>

			<li><a id="CatList_LinkList_0_Link_2" href="http://www.cnblogs.com/Jack47/category/916438.html">Docker(2)</a> </li>

			<li><a id="CatList_LinkList_0_Link_3" href="http://www.cnblogs.com/Jack47/category/901710.html">go(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_4" href="http://www.cnblogs.com/Jack47/category/584371.html">Java(4)</a> </li>

			<li><a id="CatList_LinkList_0_Link_5" href="http://www.cnblogs.com/Jack47/category/916437.html">Kubernetes(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_6" href="http://www.cnblogs.com/Jack47/category/426380.html">Linux(9)</a> </li>

			<li><a id="CatList_LinkList_0_Link_7" href="http://www.cnblogs.com/Jack47/category/423429.html">Ruby on Rails(9)</a> </li>

			<li><a id="CatList_LinkList_0_Link_8" href="http://www.cnblogs.com/Jack47/category/715882.html">Storm(4)</a> </li>

			<li><a id="CatList_LinkList_0_Link_9" href="http://www.cnblogs.com/Jack47/category/553414.html">vim(3)</a> </li>

			<li><a id="CatList_LinkList_0_Link_10" href="http://www.cnblogs.com/Jack47/category/584373.html">XML(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_11" href="http://www.cnblogs.com/Jack47/category/715892.html">大数据处理(4)</a> </li>

			<li><a id="CatList_LinkList_0_Link_12" href="http://www.cnblogs.com/Jack47/category/435745.html">翻译(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_13" href="http://www.cnblogs.com/Jack47/category/640522.html">计算广告(3)</a> </li>

			<li><a id="CatList_LinkList_0_Link_14" href="http://www.cnblogs.com/Jack47/category/715883.html">流式计算(5)</a> </li>

			<li><a id="CatList_LinkList_0_Link_15" href="http://www.cnblogs.com/Jack47/category/435454.html">设计模式实践(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_16" href="http://www.cnblogs.com/Jack47/category/584372.html">数据库(1)</a> </li>

			<li><a id="CatList_LinkList_0_Link_17" href="http://www.cnblogs.com/Jack47/category/640523.html">搜索广告(3)</a> </li>

			<li><a id="CatList_LinkList_0_Link_18" href="http://www.cnblogs.com/Jack47/category/640524.html">搜索引擎(3)</a> </li>

			</ul>

	<h3>随笔档案<span style="font-size:11px;font-weight:normal">(57)</span></h3>

			<ul>

			<li><a id="CatList_LinkList_1_Link_0" href="http://www.cnblogs.com/Jack47/archive/2016/11.html">2016年11月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_1" href="http://www.cnblogs.com/Jack47/archive/2016/10.html">2016年10月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_2" href="http://www.cnblogs.com/Jack47/archive/2016/09.html">2016年9月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_3" href="http://www.cnblogs.com/Jack47/archive/2016/06.html">2016年6月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_4" href="http://www.cnblogs.com/Jack47/archive/2016/05.html">2016年5月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_5" href="http://www.cnblogs.com/Jack47/archive/2016/04.html">2016年4月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_6" href="http://www.cnblogs.com/Jack47/archive/2016/03.html">2016年3月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_7" href="http://www.cnblogs.com/Jack47/archive/2016/02.html">2016年2月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_8" href="http://www.cnblogs.com/Jack47/archive/2016/01.html">2016年1月 (2)</a> </li>

			<li><a id="CatList_LinkList_1_Link_9" href="http://www.cnblogs.com/Jack47/archive/2015/10.html">2015年10月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_10" href="http://www.cnblogs.com/Jack47/archive/2015/09.html">2015年9月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_11" href="http://www.cnblogs.com/Jack47/archive/2015/08.html">2015年8月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_12" href="http://www.cnblogs.com/Jack47/archive/2015/07.html">2015年7月 (3)</a> </li>

			<li><a id="CatList_LinkList_1_Link_13" href="http://www.cnblogs.com/Jack47/archive/2015/06.html">2015年6月 (3)</a> </li>

			<li><a id="CatList_LinkList_1_Link_14" href="http://www.cnblogs.com/Jack47/archive/2015/05.html">2015年5月 (3)</a> </li>

			<li><a id="CatList_LinkList_1_Link_15" href="http://www.cnblogs.com/Jack47/archive/2015/04.html">2015年4月 (7)</a> </li>

			<li><a id="CatList_LinkList_1_Link_16" href="http://www.cnblogs.com/Jack47/archive/2015/03.html">2015年3月 (4)</a> </li>

			<li><a id="CatList_LinkList_1_Link_17" href="http://www.cnblogs.com/Jack47/archive/2014/12.html">2014年12月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_18" href="http://www.cnblogs.com/Jack47/archive/2014/10.html">2014年10月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_19" href="http://www.cnblogs.com/Jack47/archive/2014/05.html">2014年5月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_20" href="http://www.cnblogs.com/Jack47/archive/2014/02.html">2014年2月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_21" href="http://www.cnblogs.com/Jack47/archive/2013/11.html">2013年11月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_22" href="http://www.cnblogs.com/Jack47/archive/2013/10.html">2013年10月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_23" href="http://www.cnblogs.com/Jack47/archive/2013/03.html">2013年3月 (1)</a> </li>

			<li><a id="CatList_LinkList_1_Link_24" href="http://www.cnblogs.com/Jack47/archive/2013/01.html">2013年1月 (2)</a> </li>

			<li><a id="CatList_LinkList_1_Link_25" href="http://www.cnblogs.com/Jack47/archive/2012/12.html">2012年12月 (2)</a> </li>

			<li><a id="CatList_LinkList_1_Link_26" href="http://www.cnblogs.com/Jack47/archive/2012/11.html">2012年11月 (10)</a> </li>

			<li><a id="CatList_LinkList_1_Link_27" href="http://www.cnblogs.com/Jack47/archive/2012/10.html">2012年10月 (3)</a> </li>

			</ul>

	<h3>技术博客链接</h3>

			<ul>

			<li><a id="CatList_LinkList_2_Link_0" href="http://coolshell.cn" rel="nofollow">酷壳 – 享受编程和技术所带来的快乐</a> </li>

			<li><a id="CatList_LinkList_2_Link_1" href="http://mindhacks.cn" rel="nofollow">刘未鹏 | Mind Hacks 思维改变生活</a> </li>

			</ul>

</div><div id="sidebar_recentcomments" class="sidebar-block"><div id="recent_comments_wrap">

最新评论

guava常用操作的更多相关文章

  1. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  2. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  3. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  4. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  5. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  6. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  7. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  8. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  9. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

随机推荐

  1. 从零开始,做一个NodeJS博客(零):整体规(chui)划(niu)

    标签:NodeJS,Heroku 0 搭建一个个人独立博客,这是我好久之前就在计划的一件事了. 这个暑假,我学习了廖雪峰老师的NodeJS教程,又偶然在V2EX上发现了Heroku这个平台,可以免费在 ...

  2. OpenGL显示图片

    最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式.由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能. 用GDAL ...

  3. iOS 7 与 Xamarin - MultiPeer Connectivity(转载)

    随着时代的改变,移动设备在生活工作都开始取代原有的pc.设备间的数据交互就成为了必备可少的功能.比较成熟的产品有NFC.这个啪啪的操作很流行,例如分享图片,分享文件等 .但是在iOS设备中还没有NFC ...

  4. MTK 常见的编译命令

    1: ./mk n(r) kernel; ./mk bootimage;当修改build-in 到kernel相关代码时,要使用此命令,具体文件参考如下: alps/kernel/ alps/medi ...

  5. Gradle多渠道打包

    国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包 以友盟多渠道打包为例 在AndroidManifest.xml里面 <meta-data a ...

  6. java url方法解释

    java 的url类中有很多get方法 以下是获取值的意义 // 首先先看一下wikipedia上关于url的一个描述 //Every HTTP URL conforms to the syntax ...

  7. Facebook开源动画库 POP-POPSpringAnimation运用

    POPSpringAnimation也许是大多数人使用POP的理由 其提供一个类似弹簧一般的动画效果:实例源代码已经上传至gitHub,地址:https://github.com/wujunyang/ ...

  8. Android数据存储五种方式总结

    本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用Cont ...

  9. iOS---检测系统通知开关状态

    if (iOS8) { //iOS8以上包含iOS8 if ([[UIApplication sharedApplication] currentUserNotificationSettings].t ...

  10. 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)

    在上篇文章里(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列举了国内外用ASP.NET开发的大型网站有哪些.最后提到了 ...