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
Heap, off you go
Search
Nikita Salnikov-Tarnovski
May 23, 2015
Programming
0
1.2k
Heap, off you go
Nikita Salnikov-Tarnovski
May 23, 2015
Tweet
Share
More Decks by Nikita Salnikov-Tarnovski
See All by Nikita Salnikov-Tarnovski
Project clarity - random rant from an old engineer
nikem
0
93
How Plumbr uses Kafka
nikem
0
100
Introduction to Druid
nikem
0
860
Deceived by monitoring
nikem
0
69
10% Happier
nikem
0
72
Where is my memory
nikem
0
460
First steps in GC tuning
nikem
0
1.6k
I bet you have a memory leak
nikem
1
170
Plumbing Memory Leaks
nikem
1
150
Other Decks in Programming
See All in Programming
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.8k
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
120
しっかり学ぶ java.lang.*
nagise
1
450
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
170
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
610
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 1
philipschwarz
PRO
0
110
WebRTC と Rust と8K 60fps
tnoho
0
210
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
190
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
200
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
15k
開発15年のAIネイティブでない 巨大サービスのAI最適化
rapicro
0
100
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.2k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
940
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
For a Future-Friendly Web
brad_frost
180
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
KATA
mclloyd
PRO
32
15k
Transcript
Heap, off you go
Who am I • Nikita Salnikov-Tarnovski • Founder and Master
Developer from • We solve performance problems • @iNikem, http://github.com/iNikem/offheap
JVM and memory • One of the reasons Java became
so popular back in 90s is automatic memory management • No malloc and free • You just create objects and let JVM handle all the rest
Garbage goes to Heap
Garbage Collector
Garbage Collector • A subsystem of JVM • He handles
garbage • In a “transparent” way • Or so they thought
When much is too much • If you produce too
much garbage, cleaning it is expensive • More objects - more time to clean
Solution? • Litter where no one sees :) • Off
the heap • Which means in native memory
Why is this good? • You can throw things around
all the way you want • And no once will say a word
But… • You still have to clean things yourself eventually
• You have to break your objects into tiny flat pieces
Flat object public class Trade { public int ticket; public
int amount; public int price; public boolean buy; }
Stop talking! Show me the code! • Demo time
Solving performance problems is hard. We don’t think it needs
to be.