- 浏览: 7862374 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
原文:http://www.javacodegeeks.com/2013/10/guava-15-new-features.html
Guava 是众所周知的google出品的开源工具包,十分好用,本月退出了version 15的版本,其中主要的几个新特性有:
1 Escapers字符转义器
其目的就是在于将特殊字符进行转移,比如有:
HtmlEscapers
XmlEscapers
UrlEscapers
还可以自定义escaper,比如:
// escaping HTML
HtmlEscapers.htmlEscaper().escape("echo foo > file &");
// [result] echo foo > file &
// escaping XML attributes and content
XmlEscapers.xmlAttributeEscaper().escape("foo \"bar\"");
// [result] echo "bar"
XmlEscapers.xmlContentEscaper().escape("foo \"bar\"");
// [result] foo "bar"
// Custom Escaper
// escape single quote with another single quote
// and escape ampersand with backslash
Escaper myEscaper = Escapers.builder()
.addEscape('\'', "''")
.addEscape('&', "\&")
.build();
2 StandardSystemProperty
这个是用来方便调用如java.version, java.home 等环境变量的,使用的是enum了,比如:
StandardSystemProperty.JAVA_VERSION.value();
// [result] 1.7.0_25
StandardSystemProperty.JAVA_VERSION.key();
// [result] java.version
3 EvictingQueue
这个是一个非阻塞的队列,当队列长度满了后,自动移除头元素,比如:
EvictingQueue<String> q = EvictingQueue.create(3);
q.add("one");
q.add("two");
q.add("three");
q.add("four");
// the head of the queue is evicted after adding the fourth element
// queue contains: [two, three, four]
4
fileTreeTraverser 文件遍历递归利器
这个方法可以快速遍历某个文件目录下的所有文件,比如:
FluentIterable<File> iterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("/var/tmp"));
for (File f : iterable) {
System.out.println(f.getAbsolutePath());
}
其中f.getAbsolutePath()用的是jdk 7中的方法
Guava 是众所周知的google出品的开源工具包,十分好用,本月退出了version 15的版本,其中主要的几个新特性有:
1 Escapers字符转义器
其目的就是在于将特殊字符进行转移,比如有:
HtmlEscapers
XmlEscapers
UrlEscapers
还可以自定义escaper,比如:
// escaping HTML
HtmlEscapers.htmlEscaper().escape("echo foo > file &");
// [result] echo foo > file &
// escaping XML attributes and content
XmlEscapers.xmlAttributeEscaper().escape("foo \"bar\"");
// [result] echo "bar"
XmlEscapers.xmlContentEscaper().escape("foo \"bar\"");
// [result] foo "bar"
// Custom Escaper
// escape single quote with another single quote
// and escape ampersand with backslash
Escaper myEscaper = Escapers.builder()
.addEscape('\'', "''")
.addEscape('&', "\&")
.build();
2 StandardSystemProperty
这个是用来方便调用如java.version, java.home 等环境变量的,使用的是enum了,比如:
StandardSystemProperty.JAVA_VERSION.value();
// [result] 1.7.0_25
StandardSystemProperty.JAVA_VERSION.key();
// [result] java.version
3 EvictingQueue
这个是一个非阻塞的队列,当队列长度满了后,自动移除头元素,比如:
EvictingQueue<String> q = EvictingQueue.create(3);
q.add("one");
q.add("two");
q.add("three");
q.add("four");
// the head of the queue is evicted after adding the fourth element
// queue contains: [two, three, four]
4
fileTreeTraverser 文件遍历递归利器
这个方法可以快速遍历某个文件目录下的所有文件,比如:
FluentIterable<File> iterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("/var/tmp"));
for (File f : iterable) {
System.out.println(f.getAbsolutePath());
}
其中f.getAbsolutePath()用的是jdk 7中的方法
评论
1 楼
cywhoyi
2013-10-07
Guava确实提供N多好的属性,最近我都在公司项目中替换掉,玩函数式编程,我之前写的bloghttp://cywhoyi.iteye.com/admin/blogs/1943291
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1495方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 1971前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3420info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2192import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 454https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 637public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 562https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 631https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 404https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 4681 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3048微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 566https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1788什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 918本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1272原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 815public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 626在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 889-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 716一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1860介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
# java_example #### 项目介绍 关于Java的一些示例代码,一些新特性,以及一些工具包的使用 #### 模块 - Java 5、6、7、8的新特性 - Guava - 一些经典题目的实现 - 一些测试、示例代码
Google Guava深入浅出课程是一门面向开发者的课程,旨在教授使用和理解Google Guava库的基本概念、功能和最佳实践。学生将学习如何利用...通过实际案例和实践,学生将掌握Guava的使用技巧和高级特性。 视频大小:5G
番石榴演示这个项目演示了 Guava 库的主要方便特性。 它由一系列简洁的代码片段组成,仅用作示例,该项目没有更大的目的。 这些示例并非详尽无遗,但应为读者提供大量线索以进一步探索 API。
这个库的灵感来自 java8 流框架、guava FluentIterable 和 Scala 功能特性。 为了充分享受这个库,欢迎了解基本的功能模式。 总结和主要特点: 允许使用数组和所有实现Traversable接口的东西 基于函数式编程概念...
#Google Guava 简介 一组单元测试,展示了 google guava 库(版本 18.0)的一些 API 功能... 一些示例包括 Java 8 语言特性(labda 表达式),以展示当代码库使用 guava 时迁移到 Java 8 的样子。 话题 番石榴资源链接
learn_spring_multi_cache 使用spring cache构建的多级缓存 自由组合切换 guava redis memcache enhance map,充分利用了本地缓存的高效和分布式缓存的共享特性。
jdk8相对于jdk7的新特性: java.util.stream stream; java.lang.reflect,java动态代理,cglib代理,静态代理,三种代理模式; java集合类; java.util.concurrent; 3.netty: io基础,bio,nio,aio; netty服务端...
Arthas Beetl BeetlSQL Bootstrap Cache Chrome插件开发 Codings Commons类库 Demo代码 Discourse Disruptor Docker Druid Dubbo EasyUI Ecache ...Guava ...Jdk8新特性 Jdk9新特性 Jenkins Jetty Jmeter
所以 Spring4 必须支持 Java6,7 和8,为了保持向后兼容性, Spring 框架没有适应 Java8 带来的许多新特性,比如 lambda 表达式。 Spring5 的基准版本为8,因此它使用了 Java8 和9的许多新特性。例如: Spring ...
1 适合初级进阶 2 简单的总结记录 3 涵盖 java8新特性lambda,Stream API,Try-with-resource,Guava,线程池,Loombok,验证框架
* 根据`guava`的缓存特性,提供了`2`种缓存方案(`LoadingCache、Cache`) * 如果需要使用`redis`存储方案,参考: [四、自定义缓存方案](#jump) ;或请直接使用`1.0.5`版本(有一些遗留`bug`) ## 一、使用前需要的...
coder-tools是程序员对一些新类库、新技术、新特性研究的笔记,为了让您更快更容易对这些新东西入手,时间久了可以达到温故而知新 jvm-library design-pattern 包含23种设计模式 structure-arithmetic 包含大量各类...
03_逐渐又加入了多线程特性 04_多线程io多路复用入门简介 05_TK Mapper之一键生成代码 06_srm框架整合理论说明 07_缓存案例-A 08_缓存案例-B 09_类型应用落地-A 10_类型应用落地-B 11_set的应用场景 12_zset应用场景...
第四天:JDK特性TWS与恰到好处地释放资源 第五天:Guava工具集的应用 第六天:线程池的高效使用策略 第七天:简洁高效的注解Lombok及注解机制讲解 第八天:注解约束参数校验的应用 第九天:jetbrains常用高效插件讲解提升...
它是为了与 Java 8 的新特性一起使用而编写的! 作者 Logan Gorence - 项目维护者和开发者 Kenneth Endfinger - 创造者和开发者 链接 联系我们 JPower 团队可以在 EsperNET 上的中找到 Maven 工件 您可以通过我们的...
JSR-107 标准化了基于 Java 6 的 API,以牺牲特性和性能为代价,最大限度地减少供应商特定代码。 Guava 的 Cache 是前身库,适配器提供了简单的迁移策略。 自动将条目加载到缓存中,当超过基于频率和新近度的最大值...
新特性讲解系列文章 ] () [ Java 从Jar文件中动态加载类 ] () [ Java并发源码分析 - ThreadPoolExecutor ] () [ java ClassLoader 基本原理 ] () [ 解决eclipse显示jar源代码中文乱码问题 ] () [ 使用 RMI + ...
本篇文章将详细的,深入的介绍限流的各种场景和属性,然后分析guava这个限流器的核心源码,并对其特性进行总结。属于稍高级的进阶篇。 限流场景 弄清楚你要限制的资源,是这个过程中最重要的一环。我大体将它分为三...
ios会推送到apns,wp推送到microsoft的推送服务器上,支持分布式##特性1、轻量级,完全依赖akka2、高性能3、纯scala实现,部分方法使用java4、支持设置过期机制(用于gopush推送)5、支持client消息发送失败重传机制...