SlideShare a Scribd company logo
WHAT’S NEW IN
JAVA 9
BILLY KORANDO @BILLYKORANDO
SOFTWARE CONSULTANT - KEYHOLE SOFTWARE
http://bit.ly/2qw6Mjg
JAVA 9 IS IN
DEVELOPMENT
SEPTEMBER 21ST
http://bit.ly/2qw6Mjg
1. MAVEN WILL NOT WORK
2. I’LL HAVE TO MODULARIZE MY CODE
3. MY LIBRARIES WILL NOT WORK
1. MAVEN WILL NOT WORK
2. I’LL HAVE TO MODULARIZE MY CODE
3. MY LIBRARIES WILL NOT WORK
SOME LIBRARIES WILL NEED TO
UPGRADED
*
SOME LIBRARIES WILL NEED TO
UPGRADED
MISCONCEPTIONS ABOUT JAVA 9
http://bit.ly/2qw6Mjg
PROVE IT!
http://bit.ly/2qw6Mjg
AN UPGRADE WITH
BENEFITS
http://bit.ly/2qw6Mjg
BENEFITS OF RUNNING IN JAVA 9
Better Use of Memory
Better Performance
Better Use of Hardware
Better Documentation
Prettier Graphics
Faster Compilation
http://bit.ly/2qw6Mjg
JIGSAW
http://bit.ly/2qw6Mjg
JIGSAW GOALS
▸ Stronger encapsulation
▸ More reliable configuration
▸ Create customized JDK images (jlink tool)
http://bit.ly/2qw6Mjg
‣UNNAMED
‣AUTOMATIC
‣EXPLICIT/NAMED
‣UNNAMED
•Jars on classpath become unnamed modules
•Exports all packages
•Requires all modules
•Cannot be declared as a dependency

‣AUTOMATIC
•Jars placed on module path
•Name derived from jar name or optional
Automatic-Module-Name in MANIFEST.MF
•Exports all packages
•Requires all modules
•Can be declared as a dependency

‣EXPLICIT/NAMED
•Defined by module-info.java
•Can be declared as a dependency
Module Types
src/
com.foo.bar/
com.foo.bar.model/
Foo.java
com.foo.bar.service/
FooService.java
com.foo.bar.service.impl/
FooServiceImpl.java
Current file structure
http://bit.ly/2qw6Mjg
src/
com.foo.bar/
module-info.java
com.foo.bar/
com.foo.bar.model/
Foo.java
com.foo.bar.service/
FooService.java
com.foo.bar.service.impl/
FooServiceImpl.java
Modularized file structure
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Dissecting module-info
Note:
New reserved words ONLY
reserved in module-info
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Module Declaration
Defines the name of the module.
Additional modifiers:
“open”
exports all packages and
allows deep reflective access
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Export Declaration
Defines a module’s public API
Note:
Each exported package must
be defined individually
Additional modifiers:
“opens” (in lieu of exports)
allows deep reflective access to
all client modules
“to” [module name]
allows only named modules to
have deep reflective access
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Provides
Declares the service this module
supports and the
implementation it supports it
with.
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Uses
Declares a service this module
depends upon
http://bit.ly/2qw6Mjg
module com.foo.bar {
exports com.foo.bar.service;
exports com.foo.bar.model;
provides com.foo.bar.service.FooSvc
with
com.foo.bar.service.impl.FooSvcImpl;
uses org.evil.service.EvilService;
requires org.evil;
requires java.sql;
}
Requires
Modules this module depends
upon.
Additional modifiers:
“transitive” dependent modules
don’t have to additionally
require this module to make
use of it
Note:
java.base implicitly required by
all modules
http://bit.ly/2qw6Mjg
SPRING FRAMEWORK JAVA 9 SUPPORT
‣ SPRING 4.X (CURRENT)
•LIMITED AND ONLY FOR 4.3.10
‣SPRING 5.X (SEPTEMBER 2017)
•STABLE AUTOMATIC MODULE NAMES
‣SPRING 6.X (2019+)
•FULL JIGSAW SUPPORT
http://bit.ly/2qw6Mjg
SPRING LIBRARIES JAVA 9 SUPPORT
‣ SPRING BOOT 1.X (CURRENT)
•NO SUPPORT
‣SPRING BOOT 2.X (NOVEMBER 2017)
•SUPPORTS RUNNING IN JAVA 9
‣OTHER LIBRARIES WILL VARY
http://bit.ly/2qw6Mjg
JSHELL
http://bit.ly/2qw6Mjg
Read
Evaluate
Print
Loop
JSHELL
R
E
P
L
http://bit.ly/2qw6Mjg
‣Explore APIs
‣Tool to Teach Java
WHY JSHELL IS PART OF JAVA 9
http://bit.ly/2qw6Mjg
‣Explore APIs
‣Tool to Teach Java
WHY JSHELL IS PART OF JAVA 9
http://bit.ly/2qw6Mjg
public class HelloWorld{
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
http://bit.ly/2qw6Mjg
public class HelloWorld{
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
http://bit.ly/2qw6Mjg
DEMO
http://bit.ly/2qw6Mjg
COLLECTION
FACTORY METHODS
http://bit.ly/2qw6Mjg
public class TestFoo{
@Test
public void test(){
Foo newFoo = new Foo();
List<String> list = new ArrayList();
list.add(“Hello World!”);
list.add(“Goodbye World!”);
newFoo.takeListOfStrings(list);
}
}
http://bit.ly/2qw6Mjg
public class TestFoo{
@Test
public void test(){
Foo newFoo = new Foo();
List<String> list = List.of(
“Hello World!”, “Goodbye World!”);
newFoo.takeListOfStrings(list);
}
}
http://bit.ly/2qw6Mjg
public class TestFoo{
@Test
public void test(){
Foo newFoo = new Foo();
Map<Integer, String> map = Map.of(
1, “Hello World!”, 2, “Goodbye
World!”
);
newFoo.readAMap(map);
}
}
http://bit.ly/2qw6Mjg
public class TestFoo{
@Test
public void test(){
Foo newFoo = new Foo();
Map<Integer, String> map =
Map.ofEntries(
Map.entry( 1, “Hello World!”),
Map.entry( 2, “Goodbye World!”)
);
newFoo.readAMap(map);
}
}
http://bit.ly/2qw6Mjg
STREAMS
UPDATES
http://bit.ly/2qw6Mjg
public class TakeAtlantaSportsTeams{
public void takeTeams(){
Stream.of(“Braves”,“Falcons”,“Hawks”,
“United FC”,“”)
.takeWhile(s -> !String.isEmpty(s))
.forEach(String.out::print)
}
}
Output: BravesFalconsHawksUnited FC
http://bit.ly/2qw6Mjg
public class DropAtlantaSportsTeams{
public void dropTeams(){
Stream.of(“”,”Braves”,“Falcons”,“Hawk
s”,“UnitedFc”)
.dropWhile(s -> !String.isEmpty(s))
.forEach(String.out::print)
}
}
Output: BravesFalconsHawksUnited FC
http://bit.ly/2qw6Mjg
PRIVATE INTERFACE
METHODS
http://bit.ly/2qw6Mjg
public interface Foo{
default void bar(String arg){
System.out.println(“Hello World!”);
}
private default String lorem(){
...
}
}
http://bit.ly/2qw6Mjg
TRY-WITH-RESOURCES
UPDATES
http://bit.ly/2qw6Mjg
public class TryWithFoo{
public void TryWithBar(){
try(Resource bar = new Resource()){
//use bar
}
}
}
http://bit.ly/2qw6Mjg
public class TryWithFoo{
public void TryWithBar(){
Resource bar = new Resource();
try(bar){
//use bar
}
}
}
http://bit.ly/2qw6Mjg
public class TryWithFoo{
final Resource bar = new Resource();
public void TryWithBar(){
try(bar){
//use bar
}
}
}
http://bit.ly/2qw6Mjg
MULTI-RELEASE
JARS
http://bit.ly/2qw6Mjg
EXAMPLE MULTI-RELEASE FILE STRUCTURE
jar/
foo.class
bar.class
evil.class
META-INF/
MANIFEST.MF
Multi-Release: true
versions/
9/
foo.class
bar.class
10/
bar.class
Code with Java 9 artifacts
Code with Java 10 artifacts
JAVADOC &
DEPRECATION
ENHANCEMENTS
http://bit.ly/2qw6Mjg
JAVADOC & DEPRECATION ENHANCEMENTS
‣Javadoc Enhancements
•searchable
•html5 compliant
‣@Deprecation enhancements
•addition of forRemoval(boolean)
•addition of since(String)
http://bit.ly/2qw6Mjg
ADDITIONAL CHANGES
http://bit.ly/2qw6Mjg
ADDITIONAL CHANGES
▸ Reactive updates
▸ G1 now default garbage collector
▸ Compact strings
▸ New version format
▸ $MAJOR.$MINOR.$SECURITY.$PATCH
▸ HTTP/2 support (experimental)
▸ Unified GC Logging
▸ Unified JVM Logging
▸ Stackwalking API
http://bit.ly/2qw6Mjg
REMOVALS
http://bit.ly/2qw6Mjg
REMOVALS
▸ jhat
▸ applet API
▸ Internal APIs (e.g. com.sun.Unsafe)
▸ Deprecated GC combinations
▸ JVM TI hprof Agent
http://bit.ly/2qw6Mjg
DEVELOPER TOOLS
http://bit.ly/2qw6Mjg
DEVELOPER TOOL JAVA 9 COMPATIBILITY
▸ Intellij
▸ IDEA 2017.1+
▸ Eclipse
▸ Requires Oxygen, currently in (BETA)
▸ Netbeans
▸ Currently available in nightly builds
▸ Maven
▸ 3.0+
▸ Gradle
▸ 4.1 (no module support)
http://bit.ly/2qw6Mjg
WHO TO FOLLOW FOR JAVA 9 NEWS
@PBAKKER @NIPAFX@SANDER_MAK
PAUL BAKKER SANDER MAK NICOLAI PARLOG
http://bit.ly/2qw6Mjg
RESOURCES
Source code: https://github.com/wkorando/java-9-microservices-demo
Real World Java 9 by Trisha Gee: https://www.youtube.com/watch?
v=GkP83hvdeMk
AskArch DevoxxUK: https://www.youtube.com/watch?v=ac1v5kF_FGs
Java 9 Modularity in Action: https://www.youtube.com/watch?
v=oy3202OFPpM
Full Java 9 feature list: http://openjdk.java.net/projects/jdk9/
What’s in Java 9: https://dzone.com/articles/java-9-besides-modules
http://bit.ly/2qw6Mjg
GET STARTED!
HTTP://JDK.JAVA.NET/9/
HTTP://JDK.JAVA.NET/JIGSAW/

More Related Content

Similar to What's New in java 9

Security of Go Modules and Vulnerability Scanning in GoCenter and VS Code
Security of Go Modules and Vulnerability Scanning in GoCenter and VS CodeSecurity of Go Modules and Vulnerability Scanning in GoCenter and VS Code
Security of Go Modules and Vulnerability Scanning in GoCenter and VS Code
Deep Datta
 
Modular JavaScript
Modular JavaScriptModular JavaScript
Modular JavaScript
Andrew Eisenberg
 
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
Raimundas Banevičius
 
First Bucharest GTUG event 02 Mar 2010
First Bucharest GTUG event 02 Mar 2010First Bucharest GTUG event 02 Mar 2010
First Bucharest GTUG event 02 Mar 2010
Petrica Clement Chiriac
 
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docxJava Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
priestmanmable
 
AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore
Engineor
 
Security of Go Modules and Vulnerability Scanning in Go Center
Security of Go Modules and Vulnerability Scanning in Go CenterSecurity of Go Modules and Vulnerability Scanning in Go Center
Security of Go Modules and Vulnerability Scanning in Go Center
Deep Datta
 
A Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQLA Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQL
Databricks
 
5.node js
5.node js5.node js
5.node js
Geunhyung Kim
 
jRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServicejRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting Service
Gunnar Hillert
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
Joe Stein
 
Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3
day
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
Toshiaki Maki
 
Taking Apache Camel For a Ride
Taking Apache Camel For a RideTaking Apache Camel For a Ride
Taking Apache Camel For a Ride
Bruce Snyder
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
VMware Tanzu
 
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
ITCamp
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
Achyuta Kumar
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
Suhas Kamble
 
Api RESTFull
Api RESTFullApi RESTFull
Api RESTFull
Germán Küber
 
Tech 2 - Introduction to the Code
Tech 2 - Introduction to the CodeTech 2 - Introduction to the Code
Tech 2 - Introduction to the Code
AidIQ
 

Similar to What's New in java 9 (20)

Security of Go Modules and Vulnerability Scanning in GoCenter and VS Code
Security of Go Modules and Vulnerability Scanning in GoCenter and VS CodeSecurity of Go Modules and Vulnerability Scanning in GoCenter and VS Code
Security of Go Modules and Vulnerability Scanning in GoCenter and VS Code
 
Modular JavaScript
Modular JavaScriptModular JavaScript
Modular JavaScript
 
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
The Next Step in AS3 Framework Evolution - FITC Amsterdam 2013
 
First Bucharest GTUG event 02 Mar 2010
First Bucharest GTUG event 02 Mar 2010First Bucharest GTUG event 02 Mar 2010
First Bucharest GTUG event 02 Mar 2010
 
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docxJava Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
Java Advance 4deleteQuery.PNGJava Advance 4deleteQuerySucc.docx
 
AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore
 
Security of Go Modules and Vulnerability Scanning in Go Center
Security of Go Modules and Vulnerability Scanning in Go CenterSecurity of Go Modules and Vulnerability Scanning in Go Center
Security of Go Modules and Vulnerability Scanning in Go Center
 
A Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQLA Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQL
 
5.node js
5.node js5.node js
5.node js
 
jRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServicejRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting Service
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
 
Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3Scripting Yor Java Application with BSF3
Scripting Yor Java Application with BSF3
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
Taking Apache Camel For a Ride
Taking Apache Camel For a RideTaking Apache Camel For a Ride
Taking Apache Camel For a Ride
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
 
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 
Api RESTFull
Api RESTFullApi RESTFull
Api RESTFull
 
Tech 2 - Introduction to the Code
Tech 2 - Introduction to the CodeTech 2 - Introduction to the Code
Tech 2 - Introduction to the Code
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 

What's New in java 9