它被称为“ 永无止境的故事 ”。 JSR在11年半前开始运作,并于2001年3月6日通过了JSR 评审投票 。 如果您想知道要获得成千上万个低JSR编号需要什么,那就是秘密。 与迈克尔·恩德(Michael Ende)的德国幻想小说不同,这不是关于人们缺乏想象力,而是关于资源,政治讨论以及最终关于许可。 但是,让我们忘记过去,回到昨天以来的样子。 请注意,该材料已于2月上载到JCP,但由于将两家公司作为共享的规范线索而导致的法律复杂性得到了解决,因此被推迟了。 这样做已经完成,并且在此过程中不会成为问题。

这是什么一回事呢?

缓存以极大地加速应用程序而闻名。 那些通常使用临时数据,这些临时数据创建起来很昂贵,但是使用寿命很长,可以重复使用。 该规范以允许有效实现的方式标准化Java对象的缓存,并减轻了程序员负担实现缓存过期,互斥,假脱机和缓存一致性的负担。

它旨在与Java SE和Java EE一起使用。 对于以后的版本,仍不能保证,它将被包含在即将发布的EE 7版本中,但是EG正在努力工作,需要您的反馈。

如何获得它?

那很简单。 所有必需的工件都已经在Maven Central中。 让我们为您构建一个非常简单的示例,以帮助您入门。 启动NetBeans并创建一个新的Maven Java应用程序。 随意命名(例如cachingdemo,打开pom.xml并添加以下两个依赖项):

<dependency><groupId>javax.cache</groupId><artifactId>cache-api</artifactId><version>0.5</version></dependency><dependency><groupId>javax.cache.implementation</groupId><artifactId>cache-ri-impl</artifactId><version>0.5</version></dependency>

如果您在那里,请将junit版本更改为4.8.2。

重构AppTest以利用新的junit:

package net.eisele.samples.cachingdemo;import org.junit.Test;/*** Simple Cache Test*/
public class AppTest {@Testpublic void testApp() {}
}

搞定。 为简化起见,我将在测试用例中添加一些缓存功能。

基本概念

从设计的角度来看,基本概念是CacheManager,用于保存和控制Cache的集合。 缓存具有条目。 基本的API可以认为类似于地图。 就像地图一样,数据通过键存储为值。 您可以放置​​值,获取值和删除值。 但是它没有像keySet()和values()这样的网络成本高的映射方法。 通常,它更喜欢零或低成本回报类型。 因此,虽然Map具有V put(K键,V值),但是javax.cache.Cache具有void put(K键,V值)。

// Name for the cacheString cacheName = 'myfearsCache';// Create a cache using a CacheBuilderCache<Integer, String> cache = Caching.getCacheManager().<Integer, String>createCacheBuilder(cacheName).build();// define a valueString value1 = 'Markus';// define a keyInteger key = 1;//put to the cachecache.put(key, value1);// get from the cacheString value2 = cache.get(key);//compare valuesassertEquals(value1, value2);
// remove from the cachecache.remove(key);// ceck if removedassertNull(cache.get(key));

即将发生的事情
这基本上就是目前所有可能的一切。 使用后续发行版,您应该能够:

–通过@Annotations与Spring和CDI集成
–使用CacheEventListener
–处理事务

EG正在积极寻找有关可用材料的反馈。 因此,如果可以尝试,请尝试一下,让EG知道您的想法!

链接和阅读

JCP页面:
JSR 107:JCACHE – Java临时缓存API

组邮件列表
http://groups.google.com/group/jsr107

在问题跟踪器中记录问题
https://github.com/jsr107/jsr107spec/issues

一个非常简单的演示
https://github.com/jsr107/demo

ehcache-jcache – 0.5规范的实现
https://github.com/jsr107/ehcache-jcache

参考: Java临时缓存API –在Java软件企业软件开发博客上,由我们的JCG合作伙伴 Markus Eisele 试运行早期草案评审RI 。

翻译自: https://www.javacodegeeks.com/2012/10/java-temporary-caching-api-test-driving-the-early-draft-review-ri.html

Java临时缓存API –测试早期草案评审RI相关推荐

  1. java临时的api,JAVA API-day03

    A 日期操作 java中的时间使用标准库的Date表示,使用距离一个固定的点毫秒数表达一个特定的时间点.固定的时间点称为纪元(1970-1-1 00:00:00): java.util.Date 类封 ...

  2. Java Caching(缓存)-策略和JCache API

    This Article Is From:https://dzone.com/refcardz/java-caching Written byAbhishek GuptaSenior Product ...

  3. rest api是什么_如何选择合适的API测试工具

    精华推荐:重磅发布 - 自动化框架基础指南pdf 苦叶子说:对于新手,从UI级开始自动化测试,是一条作死的路,可能会直接扼杀你自动化测试之路. 随着越来越多的企业走上DevOps持续集成交付和持续部署 ...

  4. Discuz! Ucenter API for JAVA jar包和测试代码

    为什么80%的码农都做不了架构师?>>> Discuz! Ucenter API for JAVA jar包和测试代码 Discuz! Ucenter API for JAVA-ja ...

  5. Java微信支付API文档测试

    Java微信支付API文档测试(注意用的微信开发文档是什么支付) 本人用的刷卡支付( 之前看错了,一直在看扫码支付,心塞 ),如图 首先,做一系列准备,获取appid等等,可以写在一个配置文件里面,如 ...

  6. java 开源缓存框架--转载

    原文地址:http://www.open-open.com/13.htm JBossCache/TreeCache  JBossCache是一个复制的事务处理缓存,它允许你缓存企业级应用数据来更好的改 ...

  7. java ee规范_测试Java EE 8规范

    java ee规范 Java EE 8平台肯定在过去的几个月中一直在发展. 规范已经发布了早期的草案评审,里程碑甚至最终版本. 实际上,随着JSF 2.3的发布,JSR-372才刚刚进入最终版本. 有 ...

  8. java 静态缓存_JAVA缓存的实现

    package lhm.hcy.guge.frameset.cache; import java.util.*; /** * Title: * * Description: 管理缓存 * Deep b ...

  9. 5个强大的Java分布式缓存框架推荐

    2019独角兽企业重金招聘Python工程师标准>>> 在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没 ...

最新文章

  1. 异步备份和还原数据库:.NET发现之旅(六)
  2. java8为什么用不了_为什么不建议使用Date,而是使用Java8新的时间和日期API?
  3. Linux环境下c语言静态链接库和动态链接库创建和使用
  4. centos7 系统备份
  5. 改善程序的55个具体做法
  6. Unity3D ShaderLab 内发光防护罩
  7. 星级评分--演进式部署
  8. 也谈PostgreSQL的Vacuum机制及其最佳实践
  9. 最强NLP模型BERT喜迎PyTorch版!谷歌官方推荐,也会支持中文
  10. T-Sql(一)简单语法
  11. Ubuntu Geany打开文件乱码的解决方法
  12. android登录ins,在android中集成instagram身份验证
  13. win10系统无打印机服务器,Print Spooler服务未在Windows 10中运行
  14. 拥抱变化的 2015
  15. android微信小程序自动填表_微信小程序自动化实战(一)
  16. Discuz!开发之替换系统IP库为纯真IP库的方法
  17. Unity - Ray射线检测
  18. 单片机延时方式及使用方法
  19. 2011年度全球50个最佳网站
  20. 一文带你了解优秀的Go 语言开源项目

热门文章

  1. 机器学习和统计里面的auc怎么理解?
  2. ibatis(2)ibatis是什么
  3. XML——流机制解析器
  4. 后台审核管理 ergo_Kogito,ergo规则:从知识到服务,轻松自如
  5. kafka 消费端 api_在消费者的眼中:您真的需要为您的API提供客户端库吗?
  6. tdd java_适用于Idea的面向现代TDD的Java 8 JUnit测试模板(带有Mockito和AssertJ)
  7. lombok_Lombok–您绝对应该尝试一下
  8. java 函数式编程_Java函数式编程:Javaslang入门
  9. REST /使用提要发布事件
  10. lucene索引_在崩溃或断电后测试Lucene的索引耐久性