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. JavaScript中使用typeof运算符需要注意的几个坑

    typeof是一个运算符,它对操作数返回的结果是一个字符串,有6种(只针对ES,不包含HOST环境对象). 1.'undefined'2.'boolean'3.'string'4.'number'5. ...

  2. js实现标准无缝滚动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. JavaScript滚动条插件源码

    这是过年的时候自己写的js滚动条插件的源码,做出的效果自己并不满意,正因为做的并不满意所以回头重新巩固和深入学习js,这个插件有如下几个不太满意的地方: 内容的过度效果,可以参阅QQ客户端最近会话列表 ...

  4. clang 搭建和编译boost 和zero ICE库 (Ubuntu10 64)

    相关介绍资料如下: Boost编译http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/downlo ...

  5. [Android]使用RecyclerView替代ListView(二)

    以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4242541.html 以前写过一篇“[Android]使用Adapte ...

  6. 极其简单的搭建eclipse的android开发环境

    这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...

  7. 【读书笔记】iOS网络-应用间通信

    一,URL方案 URL方案有3个主要用途:根据设备上其他应用的存在与否调整逻辑,切换到其他应用以及响应打开你的应用的其他应用.你还可以通过URL方案从某个站点或是在基于Web的认证流程结束是打开应用. ...

  8. java.lang.IllegalStateException:Web app root system property already set to different value 错误原因及解决 Log4j

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口 服务器.NT的事件记录器.UNIX Syslog守护进程等: ...

  9. hibernate注解——@Temporal

    @Temporal(TemporalType.TIMESTAMP) @Column(name="createTime",nullable=false) private Date c ...

  10. pentaho cde 封装自定义图形控件,动态传参

    在实际项目中经常会用到将经常用到的图形表格组成一个控件,其他地方直接调用,类似于服务器开发的接口,而现在就需要将一些常用的图形做封装,这样就不必重复多次创建相同的内容. 下面就简单的定义一个自定义柱形 ...