Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bottlenecks are out! Java Cache Standard (JSR-...
Search
Galder Zamarreño
April 20, 2013
Technology
0
67
Bottlenecks are out! Java Cache Standard (JSR-107) is in!
Galder Zamarreño
April 20, 2013
Tweet
Share
More Decks by Galder Zamarreño
See All by Galder Zamarreño
Principles and Patterns for Streaming Data Analysis
galderz
0
110
Streaming Data Analysis with Kubernetes
galderz
0
2.5k
The Rough Guide to Java RPC Frameworks
galderz
1
7.1k
Streaming Data Analysis with Kubernetes
galderz
1
420
Streaming Data Workshop @ Codemotion Madrid
galderz
0
1.4k
Streaming Data : ni pierdas el tren, ni esperes en balde
galderz
0
3k
Data grids : descubre qué esconden los datos
galderz
0
3.1k
Streaming Data Workhop @ Devoxx
galderz
0
370
Streaming Data Analysis with Kubernetes
galderz
0
2.1k
Other Decks in Technology
See All in Technology
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
710
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
140
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
1
100
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
140
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Balancing Empowerment & Direction
lara
5
890
Code Review Best Practice
trishagee
74
20k
Skip the Path - Find Your Career Trail
mkilby
0
57
Designing for Performance
lara
610
70k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
320
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Transcript
None
Bottlenecks are out! Java Cache Standard (JSR-107) is in!
! Galder Zamarreño Senior Software Engineer Red Hat, Inc ! 20th April 2013, São Paulo
Galder Zamarreño • R&D Engineer, Red Hat Inc. • Infinispan
developer • Escalante founder and lead • Twitter: @galderz
Agenda • Why we care about bottlenecks • What is
JCache? • Infinispan JCache implementation in action
Why do we care about bottlenecks?
Bottleneck problems Bottlenecks decrease throughput, increase latency... and make users
:(((
We care because we want to make users :))
How can JCache help remove bottlenecks?
What is JCache? Temporary caching API for Java (driven by
JSR-107), originally scheduled to be in EE7... but not any more :(
Infinispan JCache impl JCache 0.6 implemented in Infinispan 5.3.0.Alpha1, but
some parts still in flux
Caching data Caching data that is expensive to retrieve (i.e.
DB) or hard to calculate can boost performance :))
Demo 1: Caching data
Why not use a ConcurrentHashMap to cache data?
Beyond CHMs... JCache allows data to expire, is pluggable with
persistent stores, is designed with distribution in mind, ...etc
Not a ConcurrentMap javax.cache.Cache does not extend j.u.c.ConcurrentMap, but borrows
some ideas...
Demo 2: Cache vs ConcurrentMap
Scale up by distributing the cache
Go multi-node! When a single machine cannot cope with load,
and not $$$ for more powerful machine...
Go multi-node! Run app in multiple nodes, and distribute cache
contents!
Get failover for free! Providing failover for data stored in
caches is one of the biggest advantages of distributed caches!
Demo 3: Cache goes distributed!
Integrate JCache with enterprise technologies
CDI and Transactions Integration with CDI or JTA Transactions is
optional in the spec, but Infinispan implements it :)
Demo 4: Transactional JCache
Summary Q - How JCache can help you remove bottlenecks?
Summary • Provides in-memory, temporary storage, that's better than a
(Concurrent) HashMap • Allows you to distribute the cache, to scale out your application! (and get failover!) • Makes it easy to integrate with enterprise technologies
Questions • http://infinispan.org • http://www.jcp.org/en/jsr/detail?id=107 • https://github.com/galderz/jcache