jcache
这篇文章从较高的层次介绍了JCache API,并提供了一个预告片–仅够您(希望)开始对此发痒了;-)
在这篇文章中……。
- JCache概述
- JCache API,实现
- JCache API支持的(Java)平台
- 快速了解Oracle Coherence
- 有趣的东西– Project Headlands(Adam Bien开发的RESTified JCache),Java One 2014上与JCache相关的演讲,链接至资源,以了解有关JCache的更多信息
什么是JCache?
JCache(JSR 107)是Java的标准缓存API。 它为应用程序提供了一个API,使其能够创建和使用对象的内存缓存。 好处是显而易见的–无需将精力集中在实现缓存的细节上,而将时间花费在应用程序的核心业务逻辑上就更好了。
JCache组件
规范本身非常紧凑,并且令人惊讶地直观。 API定义了高级组件(接口),下面列出了其中的一些
- 缓存提供程序 –用于控制缓存管理器,可以处理其中的几个,
- 缓存管理器 –处理缓存上的创建,读取,销毁操作
- 缓存 –存储条目(实际数据)并公开CRUD接口以处理条目
- Entry –类似java.util.Map的键/值对之上的抽象
JCache API组件的层次结构
JCache实现
JCache定义了当然由不同的供应商(也称为提供者)实现的接口。
- Oracle一致性
- 淡褐色
- Infinispan
- ehcache
- 参考实施 –这更多是出于参考目的,而不是生产质量实施。 不过,这是按照规范的,您可以放心,事实上它也确实通过了TCK
从应用程序的角度来看,所需要做的就是在类路径中提供实现。 API还提供了一种通过标准机制进一步微调特定于您的提供程序的属性的方法。
您应该能够从JCP网站链接中跟踪JCache参考实现的列表。
JCache提供程序检测
- 当类路径上只有一个JCache提供程序时,将自动进行JCache提供程序检测
- 您也可以从以下选项中选择
Java平台支持
- 符合Java SE 6及更高版本
- 没有根据Java EE集成定义任何详细信息。 这并不意味着它不能在Java EE环境中使用–只是尚未标准化。
- 无法作为经过测试的标准插入Java EE 7
- Java EE 8候选人
- 除了亚当·比恩本人外, 别无他物 !
- 运行中的Java EE 7,Java SE 8和JCache
- 通过JAX-RS(REST)公开JCache API
- 使用Hazelcast作为JCache提供程序
- 强烈推荐 !
Oracle一致性
这篇文章通常涉及JCache的高级内容。 但是,关于Oracle Coherence的几行内容通常会帮助您了解事物
- Oracle Coherence是Oracle Cloud Application Foundation堆栈的一部分
- 它主要是内存中的数据网格解决方案
- 总体上致力于使应用程序更具可扩展性
- 重要的是要知道,从版本12.1.3起,Oracle Coherence包含JCache的参考实现(在下一节中有更多介绍)
Oracle Coherence中的JCache支持
- 对JCache的支持意味着应用程序现在可以使用标准API来访问Oracle Coherence的功能。
- 只需通过在其现有接口(NamedCache等)上提供抽象,Coherence便可以做到这一点。 应用程序处理标准接口(JCache API),并且对该API的调用委托给现有的Coherence核心库实现
- 对JCache API的支持还意味着,无需在应用程序中使用Coherence特定的API,从而导致供应商中立的代码等同于可移植性
具有讽刺意味的是-支持标准API并始终让您的竞争对手参与其中;-)但是,嘿! 这就是健康的竞争和高质量的软件的全部意义所在! - 谈论健康竞争–除了标准的JCache相关功能之外,Oracle Coherence确实支持许多其他功能。
- Oracle Coherence发行版包含用于JCache实现的所有库
- coherence-jcache.jar中的服务定义文件将其限定为有效的JCache提供程序实现
对Oracle Coherence感到好奇吗?
- 快速入门页面
- 文献资料
- 安装
- 有关Coherence和JCache组合的进一步阅读-Oracle Coherence文档
2014年Java One上的JCache
在Java One 2014上围绕JCache进行的几场精彩演讲
- 来吧,代码,缓存,计算! 史蒂夫·米利奇(Steve Millidge)
- 使用 Brian Oliver和Greg Luck 的New JCache
希望这很有趣:-)
干杯!
翻译自: https://www.javacodegeeks.com/2015/02/sneak-peek-jcache-api-jsr-107.html
jcache