SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
IAll rights reserved. 2015 © ZeroTurnaround Inc.
TOP 10 REASONS WHY JAVA ROCKS
JAVA & JVM CONQUER
THE WORLD
True story!
PREVIEW
1All rights reserved. 2014 © ZeroTurnaround Inc.
INTRODUCTION TO
ESTABLISHING JVM SUPERIORITY
OVER OTHER VIRTUAL MACHINES
Most people talk about Java the Language, and this
may sound odd coming from me, but I could hardly
care less. At the core of the Java ecosystem is the JVM.
JAMES GOSLING
Creator of the Java Programming Language
(2011, TheServerSide)
2All rights reserved. 2015 © ZeroTurnaround Inc.
Twenty years of Java
For many programmers, Java holds a special place in their heart. It may
not be the most hip language today, but it has stood the test of time as the
enterprise programming platform of choice for two decades. There are
many things that Java developers take for granted. This special report is
dedicated to paying tribute to the top 10 reasons why Java is still considered
the best programming language after 20 years.
TIOBE Programming
Community Index
3All rights reserved. 2015 © ZeroTurnaround Inc.
This report will explore the Top 10 reasons why we
at RebelLabs believe that Java has become and will
continue to be the leading platform for software
projects. The Top 10 biggest things that we appreciate
in Java and which we will cover in this report include:
High Performance JVM
Core API
Compiler
Bytecode
Memory Model
Open Source
Intelligent IDEs
Profiling Tools
Backward Compatibility
Maturity with Innovation
While you may or may not agree on our choice of the
Top 10 items, we hope that this report increases your
appreciation for Java. We would like to look beyond the
surface and the buzzwords and analyze what actually
makes Java the platform of choice for so many. We will
also investigate which design trade-offs resulted in this
popularity and what features could we appreciate more
instead of taking them for granted.
Reload code changes
instantly
THIS REPORT IS SPONSORED BY:
4All rights reserved. 2015 © ZeroTurnaround Inc.
Interestingly, the most awesome aspect of the Core API is that it has always
been there, that it still is there and that it’s still backward compatible. It’s
complete enough to allow you to write most applications without requiring
anything else, should you wish to do so. However, the most common
complaint you hear about Java’s Core API is that it can be verbose. This is
precisely why people use additional libraries or JVM languages that provide
concise language-level access to many of the Core API features.
CORE API
5All rights reserved. 2015 © ZeroTurnaround Inc.
You know that bytecode allows the Java compiler to express instructions in
a format that is directly understood by the Java Virtual Machine.
Some users compare bytecode to assembly, but we have found that it’s
nowhere near as complicated. Thankfully you get all the good bits of the
JVM and its verifier, drastically reducing the potentially harmful instructions
that you can write.
Even if you don’t use third party bytecode manipulation tools, for example
ASM, the Java platform has actually everything included — allowing you to
inspect the bytecode of any class. Let’s take a quick look, for instance at this
very complex piece of Java code:
BYTECODE
public class HelloWorld {
public HelloWorld() {
}
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
6All rights reserved. 2015 © ZeroTurnaround Inc.
7All rights reserved. 2015 © ZeroTurnaround Inc.
Measure before you jump
The worst thing you can do when trying to fix a performance problem is to
make assumptions. You’re guaranteed to either make things worse or to
waste precious time while your application is sliding into the pits of doom.
The question is: how do you measure? Well, with the Java platform this is
easy! You already have capable profiling tools in the JDK itself. If you haven’t
tried it yet, make sure to give VisualVM a go. If you need to go further than
that, there’s a plethora of free and affordable tools available that take the
measurement and analysis to the next level.
PROFILING
TOOLS
8All rights reserved. 2015 © ZeroTurnaround Inc.
What to look for in the sea of profilers?
JProfiler is the leading JVM profiler out there. Its intuitive UI and maturity
make it a solid profiler tool, which can definitely be your first choice of the
profiler if you need one.
XRebel is a lightweight Java application profiler. It shows you production
grade performance issues during application development. Created by
ZeroTurnaround, i.e. us.
JMC or Java Mission Control is an advanced set of tools that enables efficient
and detailed analysis of extensive data collected during runtime profiling.
Honest profiler is a Java profiler that tries to avoid common profiling
issues, like stopping threads at safe point or influencing the gathered data
by its own performance.
Plumbr is a Java performance monitoring solution that can also point out
root causes of issues.
9All rights reserved. 2015 © ZeroTurnaround Inc.
Maturity never sounds glamorous or exciting. Why would it, when it instinctively
makes you think of outdated, slow and wrinkled? However, in our book it
means that we can rely on it without surprises. It means that we know exactly
what we can expect, and most importantly, it means that we can use it to build
a product as a team without the risk of stepping on each others’ feet.
The availability of intelligent IDEs, a backward compatible platform,
a massive core API, a vibrant open source community, and a language
that was designed for readability and encapsulation makes Java perfect
for teamwork.
MATURITY
INNOVATION
WITH
10All rights reserved. 2015 © ZeroTurnaround Inc.
Written by:
Geert Bevin (@gbevin), Simon Maple (@sjmaple),
Oleg Shelajev (@shelajev), Mart Redi (@martredi)
Designed by: Ladislava Bohacova​ (@ladislava)
Contact us
Estonia
Ülikooli 2, 4th floor
Tartu, Estonia, 51003
Phone: +372 653 6099
Twitter: @RebelLabs
Web: http://zeroturnaround.com/rebellabs
Email: labs@zeroturnaround.com
USA
399 Boylston Street,
Suite 300, Boston,
MA, USA, 02116
Phone: 1 (857) 277-1199
Czech Republic
Jankovcova 1037/49
Building C, 5th floor,
170 00 Prague 7, Czech Republic
Phone: +420 227 020 130

Weitere ähnliche Inhalte

Was ist angesagt?

Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionLemi Orhan Ergin
 
JBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityJBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityVineet Reynolds
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeLemi Orhan Ergin
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Bosnia Agile
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperLemi Orhan Ergin
 
My Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsMy Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsVMware Tanzu
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsIan Jennings
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Lemi Orhan Ergin
 
Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleLemi Orhan Ergin
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.wahabwelcome
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
 
Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Jomar Silva
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...Christian Heilmann
 
A beginner's guide for Java.pptx
A beginner's guide for Java.pptxA beginner's guide for Java.pptx
A beginner's guide for Java.pptxGautamKumar163048
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Agile ME
 
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)Alex Henthorn-Iwane
 
Eclipse and Academia
Eclipse and AcademiaEclipse and Academia
Eclipse and Academiadeepakazad
 

Was ist angesagt? (20)

Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
JBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityJBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivity
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
Phonegap presentation
Phonegap presentationPhonegap presentation
Phonegap presentation
 
My Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsMy Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOps
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX Professionals
 
Idea7 Jug
Idea7 JugIdea7 Jug
Idea7 Jug
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017
 
Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design Simple
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Apps multiplataforma com HTML5
Apps multiplataforma com HTML5
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
A beginner's guide for Java.pptx
A beginner's guide for Java.pptxA beginner's guide for Java.pptx
A beginner's guide for Java.pptx
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
 
Eclipse and Academia
Eclipse and AcademiaEclipse and Academia
Eclipse and Academia
 

Andere mochten auch

Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
20141206 4 q14_dataconference_i_am_your_db
20141206 4 q14_dataconference_i_am_your_db20141206 4 q14_dataconference_i_am_your_db
20141206 4 q14_dataconference_i_am_your_dbhyeongchae lee
 
김용하 - 아프니까 지름이다
김용하 - 아프니까 지름이다김용하 - 아프니까 지름이다
김용하 - 아프니까 지름이다SKOOPMEDIA
 
정동현 - 고기를 잘 굽는 법
정동현 - 고기를 잘 굽는 법정동현 - 고기를 잘 굽는 법
정동현 - 고기를 잘 굽는 법SKOOPMEDIA
 
Types of Production and Manufacturing
Types of Production and ManufacturingTypes of Production and Manufacturing
Types of Production and ManufacturingCasey Robertson
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술JungHyuk Kwon
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Sungchul Park
 
Writing Code That Lasts - Joomla!Dagen 2015
Writing Code That Lasts - Joomla!Dagen 2015Writing Code That Lasts - Joomla!Dagen 2015
Writing Code That Lasts - Joomla!Dagen 2015Rafael Dohms
 
Appraiser : How Airbnb Generates Complex Models in Spark for Demand Prediction
Appraiser : How Airbnb Generates Complex Models in Spark for Demand PredictionAppraiser : How Airbnb Generates Complex Models in Spark for Demand Prediction
Appraiser : How Airbnb Generates Complex Models in Spark for Demand PredictionYang Li Hector Yee
 
Whitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-ServicesWhitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-ServicesJaewoo Ahn
 
3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpioYoung Jin Suh
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0종빈 오
 
I want to be an efficient developper. Mix-IT version
I want to be an efficient developper. Mix-IT versionI want to be an efficient developper. Mix-IT version
I want to be an efficient developper. Mix-IT versionQuentin Adam
 
Spring test mvc 발표자료
Spring test mvc 발표자료Spring test mvc 발표자료
Spring test mvc 발표자료수홍 이
 
How to build a Java Web App in the Cloud
How to build a Java Web App in the CloudHow to build a Java Web App in the Cloud
How to build a Java Web App in the CloudWSO2
 

Andere mochten auch (18)

Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
20141206 4 q14_dataconference_i_am_your_db
20141206 4 q14_dataconference_i_am_your_db20141206 4 q14_dataconference_i_am_your_db
20141206 4 q14_dataconference_i_am_your_db
 
김용하 - 아프니까 지름이다
김용하 - 아프니까 지름이다김용하 - 아프니까 지름이다
김용하 - 아프니까 지름이다
 
Unsafe Java
Unsafe JavaUnsafe Java
Unsafe Java
 
정동현 - 고기를 잘 굽는 법
정동현 - 고기를 잘 굽는 법정동현 - 고기를 잘 굽는 법
정동현 - 고기를 잘 굽는 법
 
Care for the sea
Care for the seaCare for the sea
Care for the sea
 
Types of Production and Manufacturing
Types of Production and ManufacturingTypes of Production and Manufacturing
Types of Production and Manufacturing
 
Avr lecture8
Avr lecture8Avr lecture8
Avr lecture8
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
 
Writing Code That Lasts - Joomla!Dagen 2015
Writing Code That Lasts - Joomla!Dagen 2015Writing Code That Lasts - Joomla!Dagen 2015
Writing Code That Lasts - Joomla!Dagen 2015
 
Appraiser : How Airbnb Generates Complex Models in Spark for Demand Prediction
Appraiser : How Airbnb Generates Complex Models in Spark for Demand PredictionAppraiser : How Airbnb Generates Complex Models in Spark for Demand Prediction
Appraiser : How Airbnb Generates Complex Models in Spark for Demand Prediction
 
Whitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-ServicesWhitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-Services
 
3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0
 
I want to be an efficient developper. Mix-IT version
I want to be an efficient developper. Mix-IT versionI want to be an efficient developper. Mix-IT version
I want to be an efficient developper. Mix-IT version
 
Spring test mvc 발표자료
Spring test mvc 발표자료Spring test mvc 발표자료
Spring test mvc 발표자료
 
How to build a Java Web App in the Cloud
How to build a Java Web App in the CloudHow to build a Java Web App in the Cloud
How to build a Java Web App in the Cloud
 

Ähnlich wie Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks

10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about javakanchanmahajan23
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)mafffffe19
 
Overview of Java
Overview of JavaOverview of Java
Overview of Javajosemachoco
 
Understanding the Pros and Cons of Java Software Development
Understanding the Pros and Cons of Java Software DevelopmentUnderstanding the Pros and Cons of Java Software Development
Understanding the Pros and Cons of Java Software DevelopmentBoTree Technologies
 
8 Reasons Why Java Is Top Choice For Enterprise Software.pdf
8 Reasons Why Java Is Top Choice For Enterprise Software.pdf8 Reasons Why Java Is Top Choice For Enterprise Software.pdf
8 Reasons Why Java Is Top Choice For Enterprise Software.pdfInexture Solutions
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
Java's Journey: Understanding Features and Envisioning Its Future Scope
Java's Journey: Understanding Features and Envisioning Its Future ScopeJava's Journey: Understanding Features and Envisioning Its Future Scope
Java's Journey: Understanding Features and Envisioning Its Future Scopepriyanka rajput
 
15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend DevelopmentYour Team in India
 
Javamagazine Mayo Junio 2013
Javamagazine Mayo Junio 2013Javamagazine Mayo Junio 2013
Javamagazine Mayo Junio 2013Erik Gur
 
What is Java Coding?
What is Java Coding?What is Java Coding?
What is Java Coding?JAMESJOHN130
 
List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019  List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019 kritikumar16
 
List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019  List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019 kritikumar16
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in javaJanBask Training
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year projectsuneel singh
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming languageMarco Cedaro
 
Unlocking the Secrets of Java.pdf
Unlocking the Secrets of Java.pdfUnlocking the Secrets of Java.pdf
Unlocking the Secrets of Java.pdfUncodemy
 
What is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of JavaWhat is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of Javadevbhargav1
 
Follow these reasons to know java’s importance
Follow these reasons to know java’s importanceFollow these reasons to know java’s importance
Follow these reasons to know java’s importancenishajj
 

Ähnlich wie Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks (20)

10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)
 
Overview of Java
Overview of JavaOverview of Java
Overview of Java
 
Understanding the Pros and Cons of Java Software Development
Understanding the Pros and Cons of Java Software DevelopmentUnderstanding the Pros and Cons of Java Software Development
Understanding the Pros and Cons of Java Software Development
 
130700548484460000
130700548484460000130700548484460000
130700548484460000
 
8 Reasons Why Java Is Top Choice For Enterprise Software.pdf
8 Reasons Why Java Is Top Choice For Enterprise Software.pdf8 Reasons Why Java Is Top Choice For Enterprise Software.pdf
8 Reasons Why Java Is Top Choice For Enterprise Software.pdf
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
Java's Journey: Understanding Features and Envisioning Its Future Scope
Java's Journey: Understanding Features and Envisioning Its Future ScopeJava's Journey: Understanding Features and Envisioning Its Future Scope
Java's Journey: Understanding Features and Envisioning Its Future Scope
 
15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development
 
Javamagazine Mayo Junio 2013
Javamagazine Mayo Junio 2013Javamagazine Mayo Junio 2013
Javamagazine Mayo Junio 2013
 
What is Java Coding?
What is Java Coding?What is Java Coding?
What is Java Coding?
 
List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019  List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019
 
List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019  List of 7 popular java frameworks for 2019
List of 7 popular java frameworks for 2019
 
Java in today's world
Java in today's worldJava in today's world
Java in today's world
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in java
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Unlocking the Secrets of Java.pdf
Unlocking the Secrets of Java.pdfUnlocking the Secrets of Java.pdf
Unlocking the Secrets of Java.pdf
 
What is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of JavaWhat is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of Java
 
Follow these reasons to know java’s importance
Follow these reasons to know java’s importanceFollow these reasons to know java’s importance
Follow these reasons to know java’s importance
 

Mehr von ZeroTurnaround

Java Tools and Technologies Landscape for 2014 (image gallery)
Java Tools and Technologies Landscape for 2014 (image gallery)Java Tools and Technologies Landscape for 2014 (image gallery)
Java Tools and Technologies Landscape for 2014 (image gallery)ZeroTurnaround
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...ZeroTurnaround
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)ZeroTurnaround
 
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013ZeroTurnaround
 
The State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila SzegediThe State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila SzegediZeroTurnaround
 
Language Design Tradeoffs - Kotlin and Beyond, by Andrey Breslav
Language Design Tradeoffs - Kotlin and Beyond, by Andrey BreslavLanguage Design Tradeoffs - Kotlin and Beyond, by Andrey Breslav
Language Design Tradeoffs - Kotlin and Beyond, by Andrey BreslavZeroTurnaround
 
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan Sciampacone
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan SciampaconeRuntime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan Sciampacone
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan SciampaconeZeroTurnaround
 
Easy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip OzturkEasy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip OzturkZeroTurnaround
 
Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleZeroTurnaround
 
JVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir IvanovJVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir IvanovZeroTurnaround
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent Beer
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent BeerLevel Up Your Git and GitHub Experience by Jordan McCullough and Brent Beer
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent BeerZeroTurnaround
 
AST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres AlmirayAST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres AlmirayZeroTurnaround
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiZeroTurnaround
 
Language Design Tradeoffs (Kotlin and Beyond) by Andrey Breslav
Language Design Tradeoffs (Kotlin and Beyond) by Andrey BreslavLanguage Design Tradeoffs (Kotlin and Beyond) by Andrey Breslav
Language Design Tradeoffs (Kotlin and Beyond) by Andrey BreslavZeroTurnaround
 
Spring 4 on Java 8 by Juergen Hoeller
Spring 4 on Java 8 by Juergen HoellerSpring 4 on Java 8 by Juergen Hoeller
Spring 4 on Java 8 by Juergen HoellerZeroTurnaround
 
On Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila SzegediOn Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila SzegediZeroTurnaround
 
Programmers Are Way Cooler Than Musicians, by Geert Bevin
Programmers Are Way Cooler Than Musicians, by Geert BevinProgrammers Are Way Cooler Than Musicians, by Geert Bevin
Programmers Are Way Cooler Than Musicians, by Geert BevinZeroTurnaround
 
DevOps Productivity Report 2013 ignite talk
DevOps Productivity Report 2013 ignite talkDevOps Productivity Report 2013 ignite talk
DevOps Productivity Report 2013 ignite talkZeroTurnaround
 

Mehr von ZeroTurnaround (20)

Redeploy chart
Redeploy chartRedeploy chart
Redeploy chart
 
Java Tools and Technologies Landscape for 2014 (image gallery)
Java Tools and Technologies Landscape for 2014 (image gallery)Java Tools and Technologies Landscape for 2014 (image gallery)
Java Tools and Technologies Landscape for 2014 (image gallery)
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
 
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013
Lazy Coder's Visual Guide to RebelLabs' Developer Productivity Report 2013
 
The State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila SzegediThe State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila Szegedi
 
Language Design Tradeoffs - Kotlin and Beyond, by Andrey Breslav
Language Design Tradeoffs - Kotlin and Beyond, by Andrey BreslavLanguage Design Tradeoffs - Kotlin and Beyond, by Andrey Breslav
Language Design Tradeoffs - Kotlin and Beyond, by Andrey Breslav
 
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan Sciampacone
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan SciampaconeRuntime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan Sciampacone
Runtime Innovation - Nextgen Ninja Hacking of the JVM, by Ryan Sciampacone
 
Easy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip OzturkEasy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip Ozturk
 
Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane Landelle
 
JVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir IvanovJVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir Ivanov
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent Beer
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent BeerLevel Up Your Git and GitHub Experience by Jordan McCullough and Brent Beer
Level Up Your Git and GitHub Experience by Jordan McCullough and Brent Beer
 
AST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres AlmirayAST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres Almiray
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
 
Language Design Tradeoffs (Kotlin and Beyond) by Andrey Breslav
Language Design Tradeoffs (Kotlin and Beyond) by Andrey BreslavLanguage Design Tradeoffs (Kotlin and Beyond) by Andrey Breslav
Language Design Tradeoffs (Kotlin and Beyond) by Andrey Breslav
 
Spring 4 on Java 8 by Juergen Hoeller
Spring 4 on Java 8 by Juergen HoellerSpring 4 on Java 8 by Juergen Hoeller
Spring 4 on Java 8 by Juergen Hoeller
 
On Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila SzegediOn Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila Szegedi
 
Programmers Are Way Cooler Than Musicians, by Geert Bevin
Programmers Are Way Cooler Than Musicians, by Geert BevinProgrammers Are Way Cooler Than Musicians, by Geert Bevin
Programmers Are Way Cooler Than Musicians, by Geert Bevin
 
DevOps Productivity Report 2013 ignite talk
DevOps Productivity Report 2013 ignite talkDevOps Productivity Report 2013 ignite talk
DevOps Productivity Report 2013 ignite talk
 

Kürzlich hochgeladen

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 

Kürzlich hochgeladen (20)

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 

Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks

  • 1. IAll rights reserved. 2015 © ZeroTurnaround Inc. TOP 10 REASONS WHY JAVA ROCKS JAVA & JVM CONQUER THE WORLD True story! PREVIEW
  • 2. 1All rights reserved. 2014 © ZeroTurnaround Inc. INTRODUCTION TO ESTABLISHING JVM SUPERIORITY OVER OTHER VIRTUAL MACHINES Most people talk about Java the Language, and this may sound odd coming from me, but I could hardly care less. At the core of the Java ecosystem is the JVM. JAMES GOSLING Creator of the Java Programming Language (2011, TheServerSide)
  • 3. 2All rights reserved. 2015 © ZeroTurnaround Inc. Twenty years of Java For many programmers, Java holds a special place in their heart. It may not be the most hip language today, but it has stood the test of time as the enterprise programming platform of choice for two decades. There are many things that Java developers take for granted. This special report is dedicated to paying tribute to the top 10 reasons why Java is still considered the best programming language after 20 years. TIOBE Programming Community Index
  • 4. 3All rights reserved. 2015 © ZeroTurnaround Inc. This report will explore the Top 10 reasons why we at RebelLabs believe that Java has become and will continue to be the leading platform for software projects. The Top 10 biggest things that we appreciate in Java and which we will cover in this report include: High Performance JVM Core API Compiler Bytecode Memory Model Open Source Intelligent IDEs Profiling Tools Backward Compatibility Maturity with Innovation While you may or may not agree on our choice of the Top 10 items, we hope that this report increases your appreciation for Java. We would like to look beyond the surface and the buzzwords and analyze what actually makes Java the platform of choice for so many. We will also investigate which design trade-offs resulted in this popularity and what features could we appreciate more instead of taking them for granted. Reload code changes instantly THIS REPORT IS SPONSORED BY:
  • 5. 4All rights reserved. 2015 © ZeroTurnaround Inc. Interestingly, the most awesome aspect of the Core API is that it has always been there, that it still is there and that it’s still backward compatible. It’s complete enough to allow you to write most applications without requiring anything else, should you wish to do so. However, the most common complaint you hear about Java’s Core API is that it can be verbose. This is precisely why people use additional libraries or JVM languages that provide concise language-level access to many of the Core API features. CORE API
  • 6. 5All rights reserved. 2015 © ZeroTurnaround Inc. You know that bytecode allows the Java compiler to express instructions in a format that is directly understood by the Java Virtual Machine. Some users compare bytecode to assembly, but we have found that it’s nowhere near as complicated. Thankfully you get all the good bits of the JVM and its verifier, drastically reducing the potentially harmful instructions that you can write. Even if you don’t use third party bytecode manipulation tools, for example ASM, the Java platform has actually everything included — allowing you to inspect the bytecode of any class. Let’s take a quick look, for instance at this very complex piece of Java code: BYTECODE public class HelloWorld { public HelloWorld() { } public static void main(String[] args) { System.out.println("Hello World!"); } }
  • 7. 6All rights reserved. 2015 © ZeroTurnaround Inc.
  • 8. 7All rights reserved. 2015 © ZeroTurnaround Inc. Measure before you jump The worst thing you can do when trying to fix a performance problem is to make assumptions. You’re guaranteed to either make things worse or to waste precious time while your application is sliding into the pits of doom. The question is: how do you measure? Well, with the Java platform this is easy! You already have capable profiling tools in the JDK itself. If you haven’t tried it yet, make sure to give VisualVM a go. If you need to go further than that, there’s a plethora of free and affordable tools available that take the measurement and analysis to the next level. PROFILING TOOLS
  • 9. 8All rights reserved. 2015 © ZeroTurnaround Inc. What to look for in the sea of profilers? JProfiler is the leading JVM profiler out there. Its intuitive UI and maturity make it a solid profiler tool, which can definitely be your first choice of the profiler if you need one. XRebel is a lightweight Java application profiler. It shows you production grade performance issues during application development. Created by ZeroTurnaround, i.e. us. JMC or Java Mission Control is an advanced set of tools that enables efficient and detailed analysis of extensive data collected during runtime profiling. Honest profiler is a Java profiler that tries to avoid common profiling issues, like stopping threads at safe point or influencing the gathered data by its own performance. Plumbr is a Java performance monitoring solution that can also point out root causes of issues.
  • 10. 9All rights reserved. 2015 © ZeroTurnaround Inc. Maturity never sounds glamorous or exciting. Why would it, when it instinctively makes you think of outdated, slow and wrinkled? However, in our book it means that we can rely on it without surprises. It means that we know exactly what we can expect, and most importantly, it means that we can use it to build a product as a team without the risk of stepping on each others’ feet. The availability of intelligent IDEs, a backward compatible platform, a massive core API, a vibrant open source community, and a language that was designed for readability and encapsulation makes Java perfect for teamwork. MATURITY INNOVATION WITH
  • 11. 10All rights reserved. 2015 © ZeroTurnaround Inc. Written by: Geert Bevin (@gbevin), Simon Maple (@sjmaple), Oleg Shelajev (@shelajev), Mart Redi (@martredi) Designed by: Ladislava Bohacova​ (@ladislava) Contact us Estonia Ülikooli 2, 4th floor Tartu, Estonia, 51003 Phone: +372 653 6099 Twitter: @RebelLabs Web: http://zeroturnaround.com/rebellabs Email: labs@zeroturnaround.com USA 399 Boylston Street, Suite 300, Boston, MA, USA, 02116 Phone: 1 (857) 277-1199 Czech Republic Jankovcova 1037/49 Building C, 5th floor, 170 00 Prague 7, Czech Republic Phone: +420 227 020 130