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"来下载对应的源码。

  1. <dependency>
  2. <groupId>com.google.guava</groupId>
  3. <artifactId>guava</artifactId>
  4. <version>19.0</version>
  5. </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) 编辑 收藏

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

评论

  1. <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>
  2. <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>
  3. <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>
  4. <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)

  1. <ul>
  2. <li><a id="CatList_LinkList_0_Link_0" href="http://www.cnblogs.com/Jack47/category/438019.html">C(7)</a> </li>
  3. <li><a id="CatList_LinkList_0_Link_1" href="http://www.cnblogs.com/Jack47/category/428076.html">C#(3)</a> </li>
  4. <li><a id="CatList_LinkList_0_Link_2" href="http://www.cnblogs.com/Jack47/category/916438.html">Docker(2)</a> </li>
  5. <li><a id="CatList_LinkList_0_Link_3" href="http://www.cnblogs.com/Jack47/category/901710.html">go(1)</a> </li>
  6. <li><a id="CatList_LinkList_0_Link_4" href="http://www.cnblogs.com/Jack47/category/584371.html">Java(4)</a> </li>
  7. <li><a id="CatList_LinkList_0_Link_5" href="http://www.cnblogs.com/Jack47/category/916437.html">Kubernetes(1)</a> </li>
  8. <li><a id="CatList_LinkList_0_Link_6" href="http://www.cnblogs.com/Jack47/category/426380.html">Linux(9)</a> </li>
  9. <li><a id="CatList_LinkList_0_Link_7" href="http://www.cnblogs.com/Jack47/category/423429.html">Ruby on Rails(9)</a> </li>
  10. <li><a id="CatList_LinkList_0_Link_8" href="http://www.cnblogs.com/Jack47/category/715882.html">Storm(4)</a> </li>
  11. <li><a id="CatList_LinkList_0_Link_9" href="http://www.cnblogs.com/Jack47/category/553414.html">vim(3)</a> </li>
  12. <li><a id="CatList_LinkList_0_Link_10" href="http://www.cnblogs.com/Jack47/category/584373.html">XML(1)</a> </li>
  13. <li><a id="CatList_LinkList_0_Link_11" href="http://www.cnblogs.com/Jack47/category/715892.html">大数据处理(4)</a> </li>
  14. <li><a id="CatList_LinkList_0_Link_12" href="http://www.cnblogs.com/Jack47/category/435745.html">翻译(1)</a> </li>
  15. <li><a id="CatList_LinkList_0_Link_13" href="http://www.cnblogs.com/Jack47/category/640522.html">计算广告(3)</a> </li>
  16. <li><a id="CatList_LinkList_0_Link_14" href="http://www.cnblogs.com/Jack47/category/715883.html">流式计算(5)</a> </li>
  17. <li><a id="CatList_LinkList_0_Link_15" href="http://www.cnblogs.com/Jack47/category/435454.html">设计模式实践(1)</a> </li>
  18. <li><a id="CatList_LinkList_0_Link_16" href="http://www.cnblogs.com/Jack47/category/584372.html">数据库(1)</a> </li>
  19. <li><a id="CatList_LinkList_0_Link_17" href="http://www.cnblogs.com/Jack47/category/640523.html">搜索广告(3)</a> </li>
  20. <li><a id="CatList_LinkList_0_Link_18" href="http://www.cnblogs.com/Jack47/category/640524.html">搜索引擎(3)</a> </li>
  21. </ul>
  22. <h3>随笔档案<span style="font-size:11px;font-weight:normal">(57)</span></h3>
  23. <ul>
  24. <li><a id="CatList_LinkList_1_Link_0" href="http://www.cnblogs.com/Jack47/archive/2016/11.html">2016年11月 (1)</a> </li>
  25. <li><a id="CatList_LinkList_1_Link_1" href="http://www.cnblogs.com/Jack47/archive/2016/10.html">2016年10月 (1)</a> </li>
  26. <li><a id="CatList_LinkList_1_Link_2" href="http://www.cnblogs.com/Jack47/archive/2016/09.html">2016年9月 (1)</a> </li>
  27. <li><a id="CatList_LinkList_1_Link_3" href="http://www.cnblogs.com/Jack47/archive/2016/06.html">2016年6月 (1)</a> </li>
  28. <li><a id="CatList_LinkList_1_Link_4" href="http://www.cnblogs.com/Jack47/archive/2016/05.html">2016年5月 (1)</a> </li>
  29. <li><a id="CatList_LinkList_1_Link_5" href="http://www.cnblogs.com/Jack47/archive/2016/04.html">2016年4月 (1)</a> </li>
  30. <li><a id="CatList_LinkList_1_Link_6" href="http://www.cnblogs.com/Jack47/archive/2016/03.html">2016年3月 (1)</a> </li>
  31. <li><a id="CatList_LinkList_1_Link_7" href="http://www.cnblogs.com/Jack47/archive/2016/02.html">2016年2月 (1)</a> </li>
  32. <li><a id="CatList_LinkList_1_Link_8" href="http://www.cnblogs.com/Jack47/archive/2016/01.html">2016年1月 (2)</a> </li>
  33. <li><a id="CatList_LinkList_1_Link_9" href="http://www.cnblogs.com/Jack47/archive/2015/10.html">2015年10月 (1)</a> </li>
  34. <li><a id="CatList_LinkList_1_Link_10" href="http://www.cnblogs.com/Jack47/archive/2015/09.html">2015年9月 (1)</a> </li>
  35. <li><a id="CatList_LinkList_1_Link_11" href="http://www.cnblogs.com/Jack47/archive/2015/08.html">2015年8月 (1)</a> </li>
  36. <li><a id="CatList_LinkList_1_Link_12" href="http://www.cnblogs.com/Jack47/archive/2015/07.html">2015年7月 (3)</a> </li>
  37. <li><a id="CatList_LinkList_1_Link_13" href="http://www.cnblogs.com/Jack47/archive/2015/06.html">2015年6月 (3)</a> </li>
  38. <li><a id="CatList_LinkList_1_Link_14" href="http://www.cnblogs.com/Jack47/archive/2015/05.html">2015年5月 (3)</a> </li>
  39. <li><a id="CatList_LinkList_1_Link_15" href="http://www.cnblogs.com/Jack47/archive/2015/04.html">2015年4月 (7)</a> </li>
  40. <li><a id="CatList_LinkList_1_Link_16" href="http://www.cnblogs.com/Jack47/archive/2015/03.html">2015年3月 (4)</a> </li>
  41. <li><a id="CatList_LinkList_1_Link_17" href="http://www.cnblogs.com/Jack47/archive/2014/12.html">2014年12月 (1)</a> </li>
  42. <li><a id="CatList_LinkList_1_Link_18" href="http://www.cnblogs.com/Jack47/archive/2014/10.html">2014年10月 (1)</a> </li>
  43. <li><a id="CatList_LinkList_1_Link_19" href="http://www.cnblogs.com/Jack47/archive/2014/05.html">2014年5月 (1)</a> </li>
  44. <li><a id="CatList_LinkList_1_Link_20" href="http://www.cnblogs.com/Jack47/archive/2014/02.html">2014年2月 (1)</a> </li>
  45. <li><a id="CatList_LinkList_1_Link_21" href="http://www.cnblogs.com/Jack47/archive/2013/11.html">2013年11月 (1)</a> </li>
  46. <li><a id="CatList_LinkList_1_Link_22" href="http://www.cnblogs.com/Jack47/archive/2013/10.html">2013年10月 (1)</a> </li>
  47. <li><a id="CatList_LinkList_1_Link_23" href="http://www.cnblogs.com/Jack47/archive/2013/03.html">2013年3月 (1)</a> </li>
  48. <li><a id="CatList_LinkList_1_Link_24" href="http://www.cnblogs.com/Jack47/archive/2013/01.html">2013年1月 (2)</a> </li>
  49. <li><a id="CatList_LinkList_1_Link_25" href="http://www.cnblogs.com/Jack47/archive/2012/12.html">2012年12月 (2)</a> </li>
  50. <li><a id="CatList_LinkList_1_Link_26" href="http://www.cnblogs.com/Jack47/archive/2012/11.html">2012年11月 (10)</a> </li>
  51. <li><a id="CatList_LinkList_1_Link_27" href="http://www.cnblogs.com/Jack47/archive/2012/10.html">2012年10月 (3)</a> </li>
  52. </ul>
  53. <h3>技术博客链接</h3>
  54. <ul>
  55. <li><a id="CatList_LinkList_2_Link_0" href="http://coolshell.cn" rel="nofollow">酷壳 – 享受编程和技术所带来的快乐</a> </li>
  56. <li><a id="CatList_LinkList_2_Link_1" href="http://mindhacks.cn" rel="nofollow">刘未鹏 | Mind Hacks 思维改变生活</a> </li>
  57. </ul>
  58. </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. .NET web开发之WebApi初试水

    前几天看了.NET的EF(Entity Framework),发现居然有这么先进的东西,只要操作几个类就可以完成数据库的增删查改,而且可以用数据库直接导出类(DB First).也可以用类来生成数据库 ...

  2. SharePoint 2013 关于自定义显示列表表单的bug

    1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...

  3. 制作具有SSH、MySQL功能的Chroot

    由于工作需求,需要在Linux上建立SSH.MySQL两个用户. 使这两个账户连接到跳板机后仅能执行有限的命令(SSH用户只能执行SSH命令,MySQL用户只能执行MySQL命令). MySQL账户C ...

  4. 通过终端编译链接运行C文件

    1.创建c文件 touch demo.c 2.编辑c代码 3.编译(预编译.检查语法.编译).链接 3.1.指令:cc  -c  demo.c 正常情况下,会生成一个demo.o的二进制文件(即:目标 ...

  5. JavaScript上传图片及时预览

    /*******************************正面图片上传预览开始****************************/        function previewImage ...

  6. Quartz2D复习(二) --- 手势解锁

    这次支付宝手机客户端升级,把手势解锁那个功能去掉了,引起很多人的抱怨,觉得少了手势解锁的保护,个人信息容易泄漏了... 那么手势解锁功能是怎么是实现的呢,这里使用Quart2D来简单模拟一下, 先看下 ...

  7. android 切换fragment的两种方式

    使用add方法切换时:载入Fragment1Fragment1 onCreateFragment1 onCreateViewFragment1 onStartFragment1 onResume用以下 ...

  8. PagerTabStrip在ViewPager的页面中添加标题显示

    package com.qf.day18_viewpager_demo_05; import java.util.ArrayList; import java.util.List; import an ...

  9. iOS文件解压&&数据加密

    一文件压缩.这里我们需要一个第三方SSZipArchive(需要添加libz.td) #import "ViewController.h" #import "SSZipA ...

  10. HTML5设计网页动态条幅广告(Banner) 已经加上完整源代码

    横幅广告(Banner): 1.横幅广告是网络广告的常见形式,一般位于网页的醒目位置上:当用户单击这些横幅广告时,通常可以链接到相应的广告页面: 2.设计横幅广告时,要力求简单明了,能够体现出主要的中 ...