Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Heap, off you go
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nikita Salnikov-Tarnovski
May 23, 2015
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Heap, off you go
Nikita Salnikov-Tarnovski
May 23, 2015
More Decks by Nikita Salnikov-Tarnovski
See All by Nikita Salnikov-Tarnovski
Project clarity - random rant from an old engineer
nikem
0
100
How Plumbr uses Kafka
nikem
0
120
Introduction to Druid
nikem
0
900
Deceived by monitoring
nikem
0
83
10% Happier
nikem
0
81
Where is my memory
nikem
0
510
First steps in GC tuning
nikem
0
1.7k
I bet you have a memory leak
nikem
1
170
Plumbing Memory Leaks
nikem
1
150
Other Decks in Programming
See All in Programming
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
600
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
160
typoなんかねぇよ
raspython3
0
690
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
430
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
Security issues being discussed on Web Platforms
petamoriken
0
690
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
380
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
160
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
680
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
The Pragmatic Product Professional
lauravandoore
37
7.4k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Optimizing for Happiness
mojombo
378
71k
From π to Pie charts
rasagy
0
360
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
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.