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
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Zilliz
Dernier
(20)
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
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