Java臨時緩存API –測試早期草案評審RI

它被稱為“ 永無止境的故事 ”。 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370620.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370620.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370620.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android幾秒后自動關閉dialog

代碼改變世界 Android幾秒后自動關閉dialog AlertDialog.Builder builder new AlertDialog.Builder(v.getContext());builder.setTitle("發送成功&#xff01;");builder.setMessage("2秒后自動關閉&#xff01;");builder.setCancelable(true);final Ale…

如何獲取注解中的值_如何在運行時利用注解信息

注解&#xff08; annontation &#xff09;是 Java 1.5 之后引入的一個為程序添加元數據的功能。注解本身并不是魔法&#xff0c;只是在代碼里添加了描述代碼自身的信息&#xff0c;至于如何理解和使用這些信息&#xff0c;則需要專門的解析代碼來負責。本文首先介紹注解的基本…

mysql5.7運行按鈕_MySQL 5.7.* 啟動問題

mysql-5.7.10-winx64啟動 mysqld.exe&#xff0c;報錯&#xff1a;mysqld: Could not create or access the registry key needed for the MySQL applicationto log to the Windows EventLog. Run the application with sufficientprivileges once to create the key, add the …

控制元素的div屬性

1、需求分析 改變元素的寬、高、顏色、顯示、重置等屬性。 2、技術分析 基礎的css、html、js 3、詳細分析 如圖&#xff0c;單擊按鈕&#xff0c;改變元素屬性: 3.1 HTML部分 根據視圖不難發現&#xff0c;內容分兩大不分:按鈕欄和效果圖&#xff0c;所以設置兩個div。 <…

使用JMeter和Yourkit進行REST / HTTP服務的性能分析

我的上一篇文章描述了如何使用JMeter完成異步REST / HTTP服務的壓力測試或負載測試。 但是&#xff0c;運行這樣的測試通常表明被測系統不能很好地應對不斷增加的負載。 現在的問題是如何找到瓶頸&#xff1f; 深入研究代碼以檢測可疑部分可能是另一種選擇。 但是考慮到潛在的…

EasyUI 加載時需要顯示和隱藏 panel(面板)內容破版問題

1.當頁面加載的完成時,如果面板中的內容是未加載的如果把他的狀態從隱藏變為顯示會導致破版,頁面信息顯示不全 2.這時需要刷新面板$(#id).panel(open).panel(refresh); 3.它就會重新加載轉載于:https://www.cnblogs.com/eagle-xie/p/6892706.html

java中間件_90%的Java程序員,都扛不住這波消息中間件的面試四連炮!

概述大家平時也有用到一些消息中間件(MQ)&#xff0c;但是對其理解可能僅停留在會使用API能實現生產消息、消費消息就完事了。對MQ更加深入的問題&#xff0c;可能很多人沒怎么思考過。比如&#xff0c;你跳槽面試時&#xff0c;如果面試官看到你簡歷上寫了&#xff0c;熟練掌握…

python 取array并集_Python內置數據結構原理與性能簡易分析

ins ngladc文末左下方閱讀原文指向了本人博客鏈接&#xff0c;不含廣告。參考資料中的相關鏈接&#xff0c;可以在博客文章的最下方獲取。推薦蘋果手機用戶使用淺色模式觀看。前言 對于一些算法題&#xff0c;可以使用Python自帶的內置函數解決。但很多時候用就用了&#xff0c…

ae合成復制腳本_稀缺資源—這幾個AE腳本使用頻率很高,趕緊收藏吧!

「第442期」毫無疑問&#xff0c;AE已經成為目前制作短視頻比較主流的軟件&#xff0c;效果的多樣化深受很多創作者的喜愛。隨著對軟件的熟悉&#xff0c;越發覺得AE主要是基于多圖層控制的軟件。如果制作一些簡單的效果&#xff0c;幾個圖層幾個濾鏡就可以搞定&#xff0c;但如…

android activity and fragment活動周期

1.狀態 /* 每個活動一共有四種狀態 *&#xff1a;1。運行狀態&#xff0c;就是棧頂的那個 * 2。暫停狀態&#xff1a;就是不處于棧頂&#xff0c;但是依然可見&#xff0c;比如對話框下面的界面 * 3。停止狀態&#xff1a;不處于棧頂&#xff0c;并且不可見 * 4。銷毀狀態 * */…

html css基礎知識

1 這是自己學習html時候做的一些記錄&#xff0c;供大家參考 <!--2 塊和內聯3 塊元素:獨占一行的元素4 div p h ul5 div沒有任何語義&#xff0c;就是一個純粹的快元素6 就是為了方便布局7 …

番石榴的ListenableFuture

Guava中的ListenableFuture試圖為Future對象定義一致的API&#xff0c;以注冊完成回調。 通過在Future完成時添加回調的功能&#xff0c;我們可以異步有效地響應傳入的事件。 如果您的應用程序與許多將來的對象高度并發&#xff0c;我強烈建議您盡可能使用ListenableFuture 。 …

程序員的幸福感和頸椎病

脖子一直疼&#xff01; 去醫院檢查&#xff0c;拍片子的醫生在造影室里沖我喊&#xff1a; “小伙子&#xff0c;你多大年紀啦&#xff1f;” 我說&#xff1a;“我三十來歲&#xff0c;咋啦” 醫生說&#xff1a;“怎么這么年輕就得這種病啊&#xff01;” 我當時腿就有點軟&…

python實現詞語相似度計算分析_相似度計算的方法及Python實現

現實生活中&#xff0c;我們經常提到距離這個詞&#xff0c;本文談的相似度就是基于距離定義的&#xff0c;當兩個向量之間的距離特別小時&#xff0c;就說這倆個向量相似度高&#xff0c;反之相似度不高。所以&#xff0c;衡量相似度的指標就是距離度量。經常使用的相似度計算…

poll函數_I/O復用 - 三組I/O復用函數的比較

在之前的文章中 I/O復用 - epoll 和 I/O復用 - select&poll 中我們討論了三組I/O復用的系統調用&#xff0c;這3組系統調用都能同時監聽多個文件描述符。它們將等待由timeout參數指定的超時時間&#xff0c;直到一個或多個文件描述符上有事件發生時返回&#xff0c;返回值是…

HTML適應手機瀏覽器寬度

在網頁的<head>中增加以上這句話&#xff0c;可以讓網頁的寬度自動適應手機屏幕的寬度: <meta name"viewport" content"widthdevice-width, initial-scale1.0, minimum-scale0.5, maximum-scale2.0, user-scalableyes" /> <meta name&q…

css3畫圖那些事(三角形、圓形、梯形等)

閑來無事&#xff0c;寫寫圖形。當時鞏固一下css3吧.。前端小白&#xff0c;寫的不好還請前輩多指教。 三角形 { width: 0;height: 0;border-bottom: 140px solid red ;border-right: 70px solid transparent;border-left: 70px solid transparent; } 圓形 {width: 0px;height…

MyBatis教程– CRUD操作和映射關系–第1部分

CRUD操作 MyBatis是一個SQL Mapper工具&#xff0c;與直接使用JDBC相比&#xff0c;它極大地簡化了數據庫編程。 步驟1&#xff1a;創建一個Maven項目并配置MyBatis依賴項。 <project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema…

Java開發人員的升級之路

第一部分&#xff1a;對于參加工作一年以內的同學。恭喜你&#xff0c;這個時候&#xff0c;你已經擁有了一份Java的工作。這個階段是你成長極快的階段&#xff0c;而且你可能會經常加班。但是加班不代表你就可以松懈了&#xff0c;永遠記得我說的那句話&#xff0c;從你入行那…

docker 數據庫 mysql_在Docker中體驗數據庫之MySql

在上一篇在Docker中體驗數據庫之Mongodb之后&#xff0c;這次記錄一下在docker中安裝mysql。過程要比Mongodb麻煩一點……參考網址&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/linux-installation-docker.htmlhttps://hub.docker.com/r/mysql/mysql-server/安裝過程如…