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

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Kürzlich hochgeladen (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

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