Soumettre la recherche
Mettre en ligne
Igor Dmitriev: "Java behind the scenes"
•
1 j'aime
•
288 vues
L
LogeekNightUkraine
Suivre
Logeek Night Kyiv (07 Dec)
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 34
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Scala Days NYC 2016
Scala Days NYC 2016
Martin Odersky
Statistical Learning and Text Classification with NLTK and scikit-learn
Statistical Learning and Text Classification with NLTK and scikit-learn
Olivier Grisel
Big Data Science with H2O in R
Big Data Science with H2O in R
Anqi Fu
Slick 3.0 functional programming and db side effects
Slick 3.0 functional programming and db side effects
Joost de Vries
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
Dean Wampler
Deploying Machine Learning Models to Production
Deploying Machine Learning Models to Production
Anass Bensrhir - Senior Data Scientist
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
Josh Patterson
Sergii Tsypanov: "Tricky enterprise"
Sergii Tsypanov: "Tricky enterprise"
LogeekNightUkraine
Recommandé
Scala Days NYC 2016
Scala Days NYC 2016
Martin Odersky
Statistical Learning and Text Classification with NLTK and scikit-learn
Statistical Learning and Text Classification with NLTK and scikit-learn
Olivier Grisel
Big Data Science with H2O in R
Big Data Science with H2O in R
Anqi Fu
Slick 3.0 functional programming and db side effects
Slick 3.0 functional programming and db side effects
Joost de Vries
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
Dean Wampler
Deploying Machine Learning Models to Production
Deploying Machine Learning Models to Production
Anass Bensrhir - Senior Data Scientist
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
Josh Patterson
Sergii Tsypanov: "Tricky enterprise"
Sergii Tsypanov: "Tricky enterprise"
LogeekNightUkraine
Vadym Ruchka «GraphQL from UI perspective»
Vadym Ruchka «GraphQL from UI perspective»
LogeekNightUkraine
Andrii Datsenko «Practical RxJS»
Andrii Datsenko «Practical RxJS»
LogeekNightUkraine
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
LogeekNightUkraine
Sergii Puzankov «UI Regression Testing with "Gemini"»
Sergii Puzankov «UI Regression Testing with "Gemini"»
LogeekNightUkraine
Corporate Profile
Corporate Profile
Everd Mostert
¿Que es una agencia de viajes?
¿Que es una agencia de viajes?
Agencia Viajes
La edad moderna y sus avances
La edad moderna y sus avances
Andreszumel
Resume - R1.Docx
Resume - R1.Docx
Shreyas Bidawe
Game show case studies
Game show case studies
rubysmail00
13 a bricedevey
13 a bricedevey
bdevey
Martin Odersky: What's next for Scala
Martin Odersky: What's next for Scala
Marakana Inc.
Scala and jvm_languages_praveen_technologist
Scala and jvm_languages_praveen_technologist
pmanvi
Java 8 Lambda
Java 8 Lambda
François Sarradin
Metaprogramming JavaScript
Metaprogramming JavaScript
danwrong
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
Olivier DASINI
Oracle adapters for Ruby ORMs
Oracle adapters for Ruby ORMs
Raimonds Simanovskis
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?
OWASP
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
Nick Sieger
Data science and OSS
Data science and OSS
Kevin Crocker
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Nick Sieger
Scala js (kyiv js 30-01)
Scala js (kyiv js 30-01)
Eugene Safronov
Contenu connexe
En vedette
Vadym Ruchka «GraphQL from UI perspective»
Vadym Ruchka «GraphQL from UI perspective»
LogeekNightUkraine
Andrii Datsenko «Practical RxJS»
Andrii Datsenko «Practical RxJS»
LogeekNightUkraine
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
LogeekNightUkraine
Sergii Puzankov «UI Regression Testing with "Gemini"»
Sergii Puzankov «UI Regression Testing with "Gemini"»
LogeekNightUkraine
Corporate Profile
Corporate Profile
Everd Mostert
¿Que es una agencia de viajes?
¿Que es una agencia de viajes?
Agencia Viajes
La edad moderna y sus avances
La edad moderna y sus avances
Andreszumel
Resume - R1.Docx
Resume - R1.Docx
Shreyas Bidawe
Game show case studies
Game show case studies
rubysmail00
13 a bricedevey
13 a bricedevey
bdevey
En vedette
(10)
Vadym Ruchka «GraphQL from UI perspective»
Vadym Ruchka «GraphQL from UI perspective»
Andrii Datsenko «Practical RxJS»
Andrii Datsenko «Practical RxJS»
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Sergii Puzankov «UI Regression Testing with "Gemini"»
Sergii Puzankov «UI Regression Testing with "Gemini"»
Corporate Profile
Corporate Profile
¿Que es una agencia de viajes?
¿Que es una agencia de viajes?
La edad moderna y sus avances
La edad moderna y sus avances
Resume - R1.Docx
Resume - R1.Docx
Game show case studies
Game show case studies
13 a bricedevey
13 a bricedevey
Similaire à Igor Dmitriev: "Java behind the scenes"
Martin Odersky: What's next for Scala
Martin Odersky: What's next for Scala
Marakana Inc.
Scala and jvm_languages_praveen_technologist
Scala and jvm_languages_praveen_technologist
pmanvi
Java 8 Lambda
Java 8 Lambda
François Sarradin
Metaprogramming JavaScript
Metaprogramming JavaScript
danwrong
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
Olivier DASINI
Oracle adapters for Ruby ORMs
Oracle adapters for Ruby ORMs
Raimonds Simanovskis
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?
OWASP
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
Nick Sieger
Data science and OSS
Data science and OSS
Kevin Crocker
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Nick Sieger
Scala js (kyiv js 30-01)
Scala js (kyiv js 30-01)
Eugene Safronov
Bhavesh ro r
Bhavesh ro r
bhavesh-gloscon
Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011
Agora Group
Ruby on rails
Ruby on rails
chamomilla
Ruby on Rails For .Net Programmers
Ruby on Rails For .Net Programmers
daveverwer
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
e-Legion
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Oracle Developers
Scala Italy 2015 - Hands On ScalaJS
Scala Italy 2015 - Hands On ScalaJS
Alberto Paro
Alberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.js
Scala Italy
Similaire à Igor Dmitriev: "Java behind the scenes"
(20)
Martin Odersky: What's next for Scala
Martin Odersky: What's next for Scala
Scala and jvm_languages_praveen_technologist
Scala and jvm_languages_praveen_technologist
Java 8 Lambda
Java 8 Lambda
Metaprogramming JavaScript
Metaprogramming JavaScript
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
Oracle adapters for Ruby ORMs
Oracle adapters for Ruby ORMs
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
Data science and OSS
Data science and OSS
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Scala js (kyiv js 30-01)
Scala js (kyiv js 30-01)
Bhavesh ro r
Bhavesh ro r
Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011
Ruby on rails
Ruby on rails
Ruby on Rails For .Net Programmers
Ruby on Rails For .Net Programmers
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Scala Italy 2015 - Hands On ScalaJS
Scala Italy 2015 - Hands On ScalaJS
Alberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.js
Plus de LogeekNightUkraine
Face recognition with c++
Face recognition with c++
LogeekNightUkraine
C++20 features
C++20 features
LogeekNightUkraine
Autonomous driving on your developer pc. technologies, approaches, future
Autonomous driving on your developer pc. technologies, approaches, future
LogeekNightUkraine
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design"
LogeekNightUkraine
Vitalii Korzh "Managed Workflows or How to Master Data"
Vitalii Korzh "Managed Workflows or How to Master Data"
LogeekNightUkraine
Yevhen Tatarynov "From POC to High-Performance .NET applications"
Yevhen Tatarynov "From POC to High-Performance .NET applications"
LogeekNightUkraine
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
LogeekNightUkraine
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
LogeekNightUkraine
Pavlo Zhdanov "Mastering solid and base principles for software design"
Pavlo Zhdanov "Mastering solid and base principles for software design"
LogeekNightUkraine
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
LogeekNightUkraine
Iurii Antykhovych "Java and performance tools and toys"
Iurii Antykhovych "Java and performance tools and toys"
LogeekNightUkraine
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
LogeekNightUkraine
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
LogeekNightUkraine
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
LogeekNightUkraine
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
LogeekNightUkraine
Michal Kordas "Docker: Good, Bad or Both"
Michal Kordas "Docker: Good, Bad or Both"
LogeekNightUkraine
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
LogeekNightUkraine
Shestakov Illia "The Sandbox Theory"
Shestakov Illia "The Sandbox Theory"
LogeekNightUkraine
Dmytro Kochergin “Autotest with CYPRESS”
Dmytro Kochergin “Autotest with CYPRESS”
LogeekNightUkraine
Ivan Dryzhyruk “Ducks Don’t Like Bugs”
Ivan Dryzhyruk “Ducks Don’t Like Bugs”
LogeekNightUkraine
Plus de LogeekNightUkraine
(20)
Face recognition with c++
Face recognition with c++
C++20 features
C++20 features
Autonomous driving on your developer pc. technologies, approaches, future
Autonomous driving on your developer pc. technologies, approaches, future
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design"
Vitalii Korzh "Managed Workflows or How to Master Data"
Vitalii Korzh "Managed Workflows or How to Master Data"
Yevhen Tatarynov "From POC to High-Performance .NET applications"
Yevhen Tatarynov "From POC to High-Performance .NET applications"
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Pavlo Zhdanov "Mastering solid and base principles for software design"
Pavlo Zhdanov "Mastering solid and base principles for software design"
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
Iurii Antykhovych "Java and performance tools and toys"
Iurii Antykhovych "Java and performance tools and toys"
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
Michal Kordas "Docker: Good, Bad or Both"
Michal Kordas "Docker: Good, Bad or Both"
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
Shestakov Illia "The Sandbox Theory"
Shestakov Illia "The Sandbox Theory"
Dmytro Kochergin “Autotest with CYPRESS”
Dmytro Kochergin “Autotest with CYPRESS”
Ivan Dryzhyruk “Ducks Don’t Like Bugs”
Ivan Dryzhyruk “Ducks Don’t Like Bugs”
Dernier
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Dernier
(20)
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Igor Dmitriev: "Java behind the scenes"
1.
Java Behind The Scenes Igor Dmitriev #LTS Logeek Night, Kyiv
2016
2.
Igor Dmitriev ihor.dmitriiev@gmail.com ihor_dmitriiev ihor_dmitriiev igor-dmitriev-3a29b15a
3.
4.
5.
6.
7.
Empty ArrayList is iniIalized with Object array of size 10: Object[] elementData = new Object[10];
8.
9.
10.
Delombok
11.
Nathan Reynolds Is an Architect at and works in PSR(Performance, Scalability and Reliability), team dedicated towards opImizing Oracle Middleware soVware. He is the Exalogic Performance Architect. In this role,
he oversees the technical aspects of analyzing profiles, figuring out opImizaIons, opImizing code and measuring performance impact.
12.
Analysed 670 Java heap dumps from different Java programs to find out memory hogs. Most popular objects: String, char[], Object[], ArrayList, HashMap Heap usage per collecIon: 20.1% - Unused collecIons - Small collecIons, 4 or fewer elements (most significant problem) -
Sparse collecIons, capacity is 2 Imes or more than what you need
13.
jdk 1.7.0_40 ArrayList
14.
15.
jdk 1.7.0_40 HashMap
16.
jdk 1.8.0_25 HashMap
17.
jdk 1.8.0_b132 HashMap
hash collision
18.
19.
- Node<K,V>[] table[10] - table.length = 64 - O(n) -
Client(number)
20.
21.
- Node<K,V>[] table[10] - table.length = 64 -
O(logn) - Client(number)
22.
23.
Non-comparable Client
24.
HashMap When?
25.
How? Comparable Comparable is used
26.
Non-comparable If key classes are equal – idenItyHashCode, otherwise - className.compareTo
27.
Why do we get a tree when we add 11 element?
28.
ConcurrentHashMap jdk 1.7.0_40 - concurrencyLevel (default 16) - Segment -
Retrieval operaIons are non-blocking - Fail-safe iterator - sun.misc.Unsafe is used for concurrency operaIons
29.
30.
jdk 1.8.0_25 Changes - No longer has segments - linked array - Balanced tree instead of linked list for huge collisions
31.
32.
33.
Useful references Java Memory Hogs hjps://www.youtube.com/watch?v=gz4LFnOstes Java Language and Plamorm Futures: A Sneak Peek by Brian Goetz hjps://www.youtube.com/watch?v=oGll155-vuQ Алексей Шипилёв — О чём молчат Heap Dump-ы hjps://www.youtube.com/watch?v=r_bnfv-nlcs Алексей Шипилёв — Катехизис java.lang.String hjps://www.youtube.com/watch?v=SZFe3m1DV1A JDK Release Notes hjp://www.oracle.com/technetwork/java/javase/jdk-relnotes- index-2162236.html
Télécharger maintenant