jcache_窥探JCache API(JSR 107)

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高级组件

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_lib

  • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis 启动加载mysql_Redis分析系列:启动加载过程

从本篇文章开始(命名为Redis分析系列),将会通过分析Redis的源代码(以Redis 2.2.0 RC1为准),来对它的内部实现做一些探讨。本文主要介绍Redis启动加载过程,总体上可以分为如下几步:1. 初始化全局服务器配置2. 加载配置文件(如果指定…

c 文件怎么进行读取和写入操作?

C >>和<<读写文本文件&#xff1a;fstream 或者 ifstream 类负责实现对文件的读取&#xff0c;它们内部都对 >> 输出流运算符做了重载&#xff1b;同样&#xff0c;fstream 和 ofstream 类负责实现对文件的写入&#xff0c;它们的内部也都对 << 输出流…

mysql+误操作怎么恢复_Mysql误操作恢复流程

一、开启binlog。show variables like log_bin;#vim /etc/my.cnf在[mysqld]中加入log-bin mysql-binlog-bin /usr/local/mysql/log/mysql-bin.log重启mysql服务#service mysqld stop#service mysqld start二、数据写入建库create database …

drools6.5_Drools 6.2.0.Final发布

drools6.5我们很高兴地宣布最新&#xff0c;最出色的Drools 6.2.0.Final版本。 特别是此发行版更加注重改进的可用性和功能&#xff0c;这些功能使项目更易于使用&#xff08;和采用&#xff09;。 新功能包括对工作台UI的大量改进&#xff0c;对社交活动和插件管理的支持以及…

c程序编写x的y次方的方法

c程序怎么编写x的y次方?C语言pow()函数&#xff1a;求x的y次方&#xff08;次幂&#xff09;头文件&#xff1a;#include pow() 函数用来求 x 的 y 次幂&#xff08;次方&#xff09;&#xff0c;其原型为&#xff1a;double pow(double x, double y);pow()用来计算以x 为底的…

8条嵌入式C语言编程小知识总结

1. 流水线被指令填满时才能发挥最大效能&#xff0c;即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转&#xff0c;流水线会被清空&#xff0c;这将需要几个时钟才能使流水线再次填满。因此&#xff0c;尽量少的使用跳转指令可以提高程序执行效率&#xff0c…

c语言函数的三种调用方式是什么?

函数的三种调用方式&#xff1a;1、函数作为表达式中的一项出现在表达式中&#xff0c;例“zmax(x,y)”&#xff1b;2、函数作为一个单独的语句&#xff0c;例“printf("%d",a)”&#xff1b;3、函数作为调用另一个函数时的实参&#xff0c;例“printf("%d"…

弱口令扫描工具mysql ftp_基于端口的弱口令检测工具--iscan

iscan: 基于端口的弱口令检测工具亲手打造了一款基于端口的弱口令检测工具&#xff0c;使用python进行编写&#xff0c;主要可以用于渗透测试中常见服务端口弱口令的检测。目前支持以下服务&#xff1a;系统弱口令&#xff1a;ftp、ssh、telnet、ipc$数据库弱口令&#xff1a;m…

javafx 剪切板_JavaFX技巧18:路径剪切

javafx 剪切板我最近注意到&#xff0c;我致力于ControlsFX项目的PopOver控件无法正确剪切其内容。 当我为FlexCalendarFX框架开发手风琴弹出窗口时&#xff0c;这一点变得显而易见。 每当最后一个标题窗格扩展时&#xff0c;其底角不再是圆角而是正方形。 在标题窗格中放置一个…

嵌入式开发中C语言编程要点简述!

在嵌入式Linux的C语言开发中&#xff0c;C语言的基本编程依然是最重要的内容。除此之外&#xff0c;与一般的C语言编程相比&#xff0c;嵌入式Linux的C语言编程有以下一些要点&#xff1a;1、库函数与系统调用在进行C语言编程的时候&#xff0c;使用库函数是不可避免的。关于使…

C语言中,break和continue都是跳出循环,有啥区别?

首先说明&#xff1a;continue 只能用于循环语句中&#xff0c;而break可用于循环和 switch 语句&#xff0c;两者都是辅助循环&#xff1b;尽管如此&#xff0c;如果 switch 语句在一个循环中&#xff0c;continue便可作为 switch 语句的一部分&#xff1b;这种情况下&#xf…

C 的 3种内存顺序,你都知道吗?

1、std::memory_order_relaxed “自由”内存顺序在原子类型上的操作以自由序列执行&#xff0c;没有任何同步关系&#xff0c;仅对此操作要求原子性。例如&#xff0c;在某一线程中&#xff0c;先写入A&#xff0c;再写入B。但是在多核处理器中观测到的顺序可能是先写入B&#…

C 常见的面试知识点(上)

const 作用1&#xff0c;修饰变量&#xff0c;说明该变量不可以被改变2&#xff0c;修饰指针&#xff0c;分为指向常量的指针&#xff08;pointer to const&#xff09;和自身是常量的指针&#xff08;常量指针&#xff0c;const pointer&#xff09;3&#xff0c;修饰引用&…

C 常见的面试知识点(下)

inline 内联函数的特征相当于把内联函数里面的内容写在调用内联函数处&#xff1b;相当于不用执行进入函数的步骤&#xff0c;直接执行函数体&#xff1b;相当于宏&#xff0c;却比宏多了类型检查&#xff0c;真正具有函数特性&#xff1b;编译器一般不内联包含循环、递归、swi…

php cdi_集成CDI和WebSockets

php cdi考虑尝试一个简单的Java EE 7原型应用程序&#xff0c;该应用程序涉及JAX-RS&#xff08;REST&#xff09;&#xff0c;WebSockets和CDI。 注意 &#xff1a;不想让它成为破坏者-但本文主要讨论我在尝试使用Web套接字和使用CDI作为“胶水”&#xff08;在Java EE应用程…

c语言排序方法有哪几种?

c语言排序方法有&#xff1a;1、简单选择排序&#xff0c;基于O&#xff08;n2&#xff09;时间复杂度的排序算法&#xff1b;2、冒泡排序&#xff1b;3、简单插入排序&#xff1b;4、希尔排序&#xff1b;5、归并排序&#xff0c;基于归并操作的一种排序算法&#xff1b;6、快…

java 类型不可视_jvm高级特性(5)(1)(原子性,可见性,有序性,volatile,概述)

简介&#xff1a;阿姆达尔定律(Amdahl)&#xff1a;该定律通过系统中并行化与串行化的比重来描述多处理器系统能获得的运算加速能力。摩尔定律(Moore)&#xff1a;该定律用于描述处理器晶体管数量与运行效率间的发展关系。当价格不变时&#xff0c;集成电路上可容纳的元器件的数…

c语言怎么输入3个数输出最大值

方法&#xff1a;首先使用scanf()接收从键盘输入的三个数&#xff1b;然后使用“if else”语句比较三个数的大小&#xff0c;获得最大值&#xff1b;最后使用print()函数将最大值输出即可。c语言输入3个数输出最大值#include int main() { // 输入abc输出最大值 int a; …

java调用ecdh_椭圆曲线ECC ECDH原理 javacard实现

椭圆曲线原理&#xff1a;椭圆曲线的图像并不是椭圆形&#xff0c;椭圆曲线源自于求椭圆弧长的椭圆积分的反函数。定义&#xff1a;椭圆曲线可用下列方程来表示&#xff0c;其中a,b,c,d为系数。E&#xff1a; y2 ax3 bx2 cx d椭圆曲线运算&#xff1a;(相当于交换群)AB&#x…

C 常用新特性(上)

下面是正文&#xff1a;auto类型推导auto可以让编译器在编译器就推导出变量的类型&#xff0c;看代码&#xff1a;利用auto可以通过右边的类型推导出变量的类型。什么时候使用auto呢&#xff1f;简单类型其实没必要使用auto&#xff0c;然而某些复杂类型就有必要使用auto&#…