使用guava进行对字符串的加锁

java的synchronized关键字是堆某对象加锁,但是我们当需要对某个字符串加锁怎么办

比如对同一个订单只能有一个操作,但是对其他订单的操作不影响

使用 guava包下的  Interner 类

 private static final Interner<String> pool = Interners.newWeakInterner();

synchronized ( pool.intern("Order_"+orderId)){

//TODO:something

}
时间: 2024-08-02 01:04:12

使用guava进行对字符串的加锁的相关文章

Guava学习笔记:guava中对字符串的操作

Guava学习笔记:guava中对字符串的操作 转载:http://outofmemory.cn/java/guava/base/Strings 在google guava中为字符串操作提供了很大的便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等. 下面我们逐一了解这些操作: 1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空        

Guava:好用的java类库 学习小记

基础功能 google guava中定义的String操作 在google guava中为字符串操作提供了很大的便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等. 1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空 1 //Strings.isNullOrEmpty(input) demo 2 String input = ""; 3

[转]基本Guava工具

转自:http://www.cnblogs.com/renchunxiao/p/3661918.html?utm_source=tuicool 使用Joiner类 将任意字符串通过分隔符进行连接到一起是大多程序员经常做的事情.他们经常使用array,list,iterable并且循环变量将每一个临时变量添加到StringBuilder当中去,并且中间添加分隔符.这些笨重的处理方式如下: public String buildString(List<String> stringList, Str

Google Guava入门(一)

Guava作为Java编程的助手,可以提升开发效率,对Guava设计思想的学习则极大的有益于今后的编程之路.故在此对<Getting Started with Google Guava>一书进行翻译并实战,未予审校,错误之处请大家不吝赐教. 全文目录如下: 1.????入门????2 1.1. Guava简介????2 1.2. Guava使用实例????2 1.3. 本书是关于什么的?????3 1.4. Guava安装????3 1.5. 通过Maven或者Gradle管理Guava???

guava之Joiner 和 Splitter(转)

最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享.本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理. Joiner 首先我们来看看下面我们经常遇见的一个案例: 题目: 对于一个如下定义List List<String> list = new ArrayList<String>("1", "2", null, “3”); 按照’,’分割,并过滤掉null. 如果不用第三方库,

guava之Joiner 和 Splitter

最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享.本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理. Joiner 首先我们来看看下面我们经常遇见的一个案例: 题目: 对于一个如下定义List List<String> list =of("1", "2", null, “3”); 按照’,’分割,并过滤掉null. 如果不用第三方库,如common-lange,Guava,用原生jav

Google Guava学习笔记——简介

Google Guava是什么东西?首先要追溯到2007年的“Google Collections Library”项目,它提供对Java 集合操作的工具类.后来Guava被进化为Java程序员开发必备的工具.Guava可以对字符串,集合,并发,I/O,反射进行操作. 在软件开发过程中,我们自认为可以什么都能做,我们本能的去写自己的类库来处理一些日常的问题.当然,我们认为自己写的代码是坚不可摧的,并且是经过单元测试的.实际上,我们没有我们认为的那么聪明,换句话说,它不在于你有多聪明,而是在于编写

字符串操作 — Google Guava

前言 Java 里字符串表示字符的不可变序列,创建后就不能更改.在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 Google 开源的一个核心 Java 库 Guava,它提供了集合类型.不可变的集合.并发.I / O.缓存.字符串等许多实用功能.在本文中,我们将学习使用 Guava 中的 Strings 和 Splitter 字符串操作工具类. 如何使用 Google Guava 会同步到 Maven Central 中,所以,如果你是

[Google Guava]字符串处理:连接器、拆分器、字符匹配器

一.连接器[Joiner] 二.拆分器[Splitter] 三.字符匹配器[CharMatcher] 四.字符集[Charsets] Charsets:针对所有Java平台都要保证支持的六种字符集提供了常量引用.尝试使用这些常量,而不是通过名称获取字符集实例. try { byte[] bytes = test.getBytes("UTf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } 修改成