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. Shapely中的几何图形操作

    Geometric Objects object.area Returns the area (float) of the object. object.bounds Returns a (minx, ...

  2. SharePoint 2010 人员选择器搜索范围的限定

    客户AD中用户信息过多,而当前的SharePoint应用中不需要针对所有AD进行筛选,则需要通过STSADM来设置搜索范围: stsadm -o setsiteuseraccountdirectory ...

  3. Kotlin语法(函数和lambda表达式)

    三.函数和lambda表达式 1. 函数声明 fun double(x: Int): Int { } 函数参数是用 Pascal 符号定义的 name:type.参数之间用逗号隔开,每个参数必须指明类 ...

  4. 直接双击启动tomcat中的startup.bat闪退原因及解决方法

    免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了t ...

  5. Windows Azure服务

    一. 存储服务 Azure存储服务是云端的文件存储服务,通过http/https访问和权限控制有以下三种特性 1.本地数据中心冗余 (Local Redundant Storage,LRS) 在一个位 ...

  6. css hover对其包含的元素进行样式设置

    <ul class="icon-down-single-arr-li"> <li> <a href="javascript:void(0)& ...

  7. js中Prototype属性解释及常用方法

    1.prototype的定义 javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用. 每一个构造函数都有一个属 ...

  8. jQuery设置disabled属性

    先比较下readOnly和disabled: readOnly 只针对input(text/ password)和textarea有效: disabled 对于所有的表单元素都有效,包括select, ...

  9. Symantec Backup Exec 报"Access denied to directory xxx" Error Code E0008488

    使用Symantec Backup Exec将几台Linux服务器上的RMAN备份收带时,偶尔会遇到作业备份失败的情况,检查Job History,就会发现有“Access denied to dir ...

  10. shell脚本切割tomcat的日志文件

    鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...