使用Google Guava来编写优雅的代码一Guava简介

article/2025/9/24 14:54:16

以往我们在使用工具包的时候首先想到是著名的Apache的Commons系列,今天我要介绍的是同样出色,并且目前发展比Apache Commons系列更为迅速的Google Guava库。

Google Guava库是一个非常优秀的包含很多Java工具类集的库,广泛使用在Google公司内部,因此它可以被使用到几乎所有的Java项目中。Google Guava库最初发布在2007年,经过几年的更新发展目前其最新的版本为14.0-rc3。如果你之前有使用过Google collections库,那么请注意该库也已经被合并到Guava中了。

从上面的简介中我们可以知道Guava本身是Google内部的核心Java基础库,其涵盖的内容包含集合、缓存、基础类型、并发处理、常用注解、字符串处理、I/O、网络、数学运算、反射、范围(Range)等方面。

为什么要使用Guava?

我相信很多人已经使用了很长时间的Apache commons系列库了,那么为什么还要推荐Guava呢?

关于这个问题的讨论很多,这里将Stackoverflow上面的一个关于这个问题的讨论总结写到此处。

compare2apache

对于我个人而言,Guava的开发活跃度和良好的质量保证(从上面的Stackoverflow的讨论来看,google的java开发主管带领的小组负责该库的主要维护工作)是我更愿意转而使用Guava的的原因之一。Guava几年发展下来各界发表的各类文章和其自身良好的文档风格也极大的帮助了该库的传播使用。

Guava相关文档和资源

首先推荐访问Guava的知识库和API文档

Guava官方网站也给出非常有用的学习资源的地址:

  • Presentation slides focusing on base, primitives, and io
  • Presentation slides focusing on cache
  • Presentation slides focusing on util.concurrent
  • A nice collection of other helpful links

其中最后一项由社区开发者整理的Guava资料最为全面,其根据时间顺序整理了Guava相关的文章、教程和教学录像等内容,是非常不错的学习资料。

使用Guava

如果你是使用Maven作为项目管理和集成工具的话,那么只需要拷贝下面一段代码到项目的pom.xml中即可。

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0-rc3</version>
</dependency>

Guava官方网站不再提供其lib包的下载,如果需要下载可以前往maven的中央库进行搜索并选择进行下载,当前的最新版本为14.0-rc3。

如果有兴趣可以前往Guava Overview Slide查看更多关于Guava的简介。

本系列文章希望能逐步将Guava相关的API在实际开发中的使用方法进行相对详细的介绍,因此本系列的更新可能并不会那么迅速。如果你现在就需要了解和掌握Guava的相关知识和技术,可以先查看前文所提到的学习资源。

 


http://chatgpt.dhexx.cn/article/UUIrHW1t.shtml

相关文章

guacamole学习小结(一)

一、快速安装 https://blog.csdn.net/qq_38781075/article/details/106459458 二、整体理解 先放一张经典的图。 guacamole最重要的作用还是连接远程服务器的&#xff0c;可以连接多台服务器&#xff0c;连接不同的远程协议的服务器。使得用户能远程快捷的访问远程桌面。它跨…

guacamole 认识

简介&#xff1a;guacamole是apache开源的一款连接远程机器(类似window机器的mstsc工具以及linux的 xfreerdp远程工具)的web应用。 官网&#xff1a;http://guacamole.apache.org/ 一、介绍 1、先看看官网提供的架构图 其中guacamole将架构图中 HTML5(JavaScript编写)以及g…

Guacamole搭建教程

目录 安装系统环境安装依赖环境安装依赖包 下载安装包服务端安装解压并安装&#xff1a;在当前目录下继续执行&#xff1a;安装完成之后&#xff0c;可以使用以下来看guacd是否安装成功&#xff1a; 客户端安装安装安装git安装maven 下载客户端并解压创建/etc/guacamole/文件目…

使用EasyDarwin+FFmpeg实现rtsp推流

一、背景 ​ 最近在学习ffmpeg的基本操作,ffmpeg功能非常强大&#xff0c;可以运行音频和视频多种格式的录影、转换、流功能&#xff0c;包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库&#xff0c;以及libavformat——一个音频与视频格式转换库 可以利用ff…

windows 10 安装EasyDarwin流服务器推流、本地存储

1、EasyDarwin介绍 EasyDarwin 是一款开源的、高性能的rstp流媒体服务器&#xff0c;基于go语言开发。主要功能有&#xff1a;支持rtsp推流分发、支持rtsp拉流分发、录像、检索、回访、关键帧缓存、秒开画面、Restful接口、web后台管理、分布式负载均衡等特点。 2、安装部署&a…

从零开始搭建EasyDarwin环境——Windows系统开发环境Golang的搭建

EasyDarwin在语言上服务端使用的是Golang&#xff0c;前端网页是Vue&#xff0c;因此我们需要有Golang和node的开发环境。上一篇我们介绍了Linux环境下的搭建&#xff0c;本章我们将说明一下如何在Windows下搭建起Golang环境。 一、下载 Go包 Go的官方网站&#xff1a;http://…

EasyDarwin源码分析(三)——rtsp-client

rtsp-client.go 这个模块主要实现了客户端的拉流功能。也就是在网页上点击“拉流分发”按钮后&#xff0c;easydarwin会向用户填写的源地址拉流&#xff0c;然后再转发出去&#xff0c;在向源地址拉流的时候&#xff0c;easydarwin相当于是一个rtsp客户端。所以这里使用rtsp-c…

EasyDarwin源码分析(一)——main.go

main.go ​ easydarwin源码的代码量不是很多&#xff0c;主要的代码也就集中在下面的几个文件夹中&#xff0c;核心业务的代码也就主要集中在rtsp包中。 ​ 而且用Go语言写的代码&#xff0c;不像springboot那样&#xff0c;你在读源码前至少要对Springboot框架有一定的学习&a…

关于EasyDarwin二次开发编译后无法以服务启动的问题

问题描述&#xff1a; 在win7上二次开发EasyDarwin后&#xff0c;编译出的EasyDarwin.exe运行正常&#xff0c;或是使用ServiceInstall-EasyDarwin.exe在系统中注册服务&#xff0c;启动服务也正常。 于是打包将其部署在win server 2008上&#xff0c;发现如果直接运行EasyDar…

EasyDarwin接口的使用——使用C++编写客户端实现与EasyDarwin服务器的交互

EasyDarwin提供了接口供客户端使用&#xff0c;以实现客户端与其的交互。比如&#xff0c;根据EasyDarwin的8.1.0版本的接口文档&#xff0c;有获取推流列表的接口如下所示&#xff1a; 我们可以测试一下上述接口。首先启动EasyDarwin服务器&#xff0c;启动后在浏览器&#xf…

EasyDarwin的交叉编译

easyDarwin的交叉编译 前言一、EasyDarwin简介二、配置环境介绍三、交叉编译过程1.go环境的搭建2.编译 后记 前言 最近项目有个需求是在嵌入式设备中运行一个RTSP服务器&#xff0c;满足推流到该服务器后&#xff0c;其他终端设备能够从这个RTSP服务器中拉RTSP流出来。找来找去…

EasyDarwin 流服务器搭建及相关软件教程

一、产品 运行 exe 文件 启动 服务器 双击 运行 EasyDarwin.exe 会出现如下界面&#xff1a; 在 浏览器打开 http://192.168.10.80:10008 2.解压ffmpeg 添加环境变量&#xff1a;复制C:\SoftWare\ffmpeg-6.0-essentials_build\bin路径&#xff0c;添加环境变量中 的用户变…

EasyDarwin —— ubuntu搭建rtsp服务,使用FFmpeg进行rtsp推拉流

开源流媒体服务器 EasyDarwin是由国内开源流媒体团队开发和维护的一款开源流媒体平台框架&#xff0c;从2012年12月创建并发展至今&#xff0c;从原有的单服务的流媒体服务器形式&#xff0c;扩展成现在的云平台架构的开源项目&#xff0c;更好地帮助广大流媒体开发者和创业型企…

EasyDarwin测试

EasyDarwin是由国内开源流媒体团队维护的一款开源流媒体平台框架&#xff0c;开发语言是go语言。本文主要使用它作为RTSP服务器使用&#xff0c;并以此进行测试。方便之后记录。 &#xff08;1&#xff09;软件获取&#xff08;自行下载&#xff0c;具体代码编译方式&#xff0…

流媒体开发之EasyDarwin搭建rtsp server

0 背景 EasyDarwin 旭帆科技开源的流媒体服务器软件&#xff0c;EasyDarwin 社区专注于传统安防&#xff08;RTSP/RTP/Onvif&#xff09;流媒体技术&#xff0c;能够帮助开发者快速搭建流媒体服务平台&#xff0c;更快、更简单地实现流媒体直播与点播功能。本文主要介绍 rtsp …

EasyDarwin ffmpeg+EasyDarwin开源流媒体服务器平台试用笔记(视频流rtsp)

服务 Github https://github.com/EasyDarwin/EasyDarwin , server will invoking ffmpeg. 1. download server 下载EasyDarwin-windows-8.1.0-1901141151 双击EasyDarwin.exe 访问http://127.0.0.1:10008/#/ 2. download FFmpeg 下载FFmpeg : https://github.com/BtbN…

从零开始搭建EasyDarwin环境——linux系统共享目录实现

EasyDarwin是一款高性能开源RTSP流媒体服务器&#xff0c;基于Go语言研发&#xff0c;维护和优化&#xff1a;RTSP推模式转发、RTSP拉模式转发、录像、检索、回放、关键帧缓存、秒开画面、RESTful接口、Web后台管理、分布式负载均衡。EasyDarwin从最初的c到后面的nodejs再到现在…

使用EasyDarwin搭建Rtsp Server从大华摄像头拉流进行多路分发

使用EasyDarwin搭建Rtsp Server从大华摄像头拉流进行多路分发 问题服务搭建推流命令大华摄像头配置 问题 大华摄像头&#xff08;型号&#xff1a; DH-IPC-HDW1235C-A 2.8MM 200万高清网络摄像机 &#xff09;目前支持20路连接&#xff0c;实际使用测试过程中&#xff0c;只能…

EasyDarwin —— windows搭建rtsp服务,使用FFmpeg进行rtsp推拉流

开源流媒体服务器 EasyDarwin是由国内开源流媒体团队开发和维护的一款开源流媒体平台框架,从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目,更好地帮助广大流媒体开发者和创业型企业快速构建流媒体服务平台,更快、更简单地…

简单的流媒体服务器(EasyDarwin的安装搭建)

再项目中需要用到简单的视频播放&#xff0c;想着干脆搭建一个流媒体服务器&#xff0c;后期做视频点播 直播包括视频服务器的负载&#xff0c;所以索性开始自己探索搭建视频流媒体服务器&#xff0c;用于存储和传输视频资源 相关概念 流媒体 流媒体&#xff08;Streaming Me…