current innovations in the most
critical programming language: java
Hossein mahdavipour
Scientific seminars
Dr. Jahangir
Spring 2021
Today java
●
Most used programming language based on
tiobe index(march 4)1
●
Basis of Hadoop, Flink, Cassandra, Lucene,
Elasticsearch, Scala, closure, Netty
●
Twitter, Airbnb, Uber, LinkedIn, eBay2
●
Pinterest, Groupon, Spotify, Pandora, Square
on Java mostly2
past java
●
1995
●
Rivals: C, C++, VC++, Visual Basic, Python
●
Applets, JSP, Servlet, J2ME
Foundation Blocks of Java4
●
Build a simple, object-oriented language that would be
easy for C++ programmers.
●
Make it platform-neutral and architecture-neutral.
●
High performance with many in-memory features and
performance tuning with command line arguments.
●
Make it multi-threaded, dynamic, and interpreted.
●
Include security and robust features.
Java future road
●
Implementation vs specification
●
JCP: Java Community Process5
●
JEP: java enhancement process6
Java ecosystem
Image reference: reference 7
Java ecosystem: jdk vendors
●
AdoptOpenJDK
●
Alibaba (Dragonwell)
●
Amazon (Corretto)
●
Azul (Zulu, Zing)
●
BellSoft (Liberica)
●
Red Hat (Red Hat Builds of OpenJDK)
●
Oracle (Oracle JDK, Oracle OpenJDK)
●
SAP (SapMachine)
Future java: WIP
●
GraalVM
●
Loom
●
Valhala
●
GC
●
Cloud native: Quarkus
GraalVM
●
JIT in java
●
native images
●
Polyglot programing: Truffle
– Java, R, python, ruby, LLVM, webassembly,
javascript & nodejs
●
Running in Oracle Database
GraalVM
Image reference: reference 9
GraalVM
Image reference: reference 10
GraalVM
AOT + JIT
Image reference: reference 10
GraalVM
Image reference: reference 10
Loom
●
Motto: All Your Blocking Are Belong to Us
●
Event lope vs structured concurrency11
●
Valhalla
●
New primitive types
●
New generics system
GCs
●
Shenandoah
●
Epsilon
●
Zgc: O(1) and 1 ms gc pause time.
Future java: cloud native
Image reference: reference 8
Future java: cloud native
●
Quarkus framework
– Build time vs runtime initializing
– Native image
– live reload
Future java: cloud native
References
)
۱ https://www.tiobe.com/tiobe-index/
)
۲ https://www.freelancinggig.com/blog/2018/0
8/29/what-big-companies-still-code-in-java-d
o-major-corporations-still-use-java/#:~:text=M
ore%20than%2064%2C000%20companies%2
0are,are%20based%20on%20Java%20mostly
)
۳ https://dzone.com/articles/why-java-is-so-
young-after-25-years-an-architects
)
۴ https://dzone.com/articles/why-java-is-so-yo
ung-after-25-years-an-architects
)
۵ https://www.jcp.org/en/home/index
)
۶ https://openjdk.java.net/jeps/0
)
۷ https://blogs.oracle.com/java-platform-group
/the-arrival-of-java-16
)
۸ https://dzone.com/refcardz/introduction-to-
cloud-native-java?chapter=3
)
۹ https://www.graalvm.org/docs/introduction/
)
۱ ۰ https://medium.com/graalvm/java-on-truffl
e-going-fully-metacircular-215531e3f840
)
۱ ۱ https://cr.openjdk.java.net/~rpressler/
loom/loom/sol1_part2.html#structured-
concurrency

current innovations in the most critical programming language: java