SlideShare a Scribd company logo
1 of 57
Download to read offline
WHAT’S NEW IN
JAVA 9
BILLY KORANDO @BILLYKORANDO
SOFTWARE CONSULTANT - KEYHOLE SOFTWARE
http://bit.ly/2woEb1S
TITANIUM SPONSORS
Platinum Sponsors
Gold Sponsors
JAVA 9 IS IN
DEVELOPMENT
SEPTEMBER 21ST
http://bit.ly/2woEb1S
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/2woEb1S
PROVE IT!
http://bit.ly/2woEb1S
AN UPGRADE WITH
BENEFITS
http://bit.ly/2woEb1S
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/2woEb1S
JIGSAW
http://bit.ly/2woEb1S
JIGSAW GOALS
▸ Stronger encapsulation
▸ More reliable configuration
▸ Create customized JDK images (jlink tool)
http://bit.ly/2woEb1S
‣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/2woEb1S
src/
com.foo.bar/
module-info.java
com.foo.bar/
com.foo.bar.model/
Foo.java
com.foo.bar.service/
FooSvc.java
com.foo.bar.service.impl/
FooSvcImpl.java
Modularized file structure
http://bit.ly/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
JSHELL
http://bit.ly/2woEb1S
Read
Evaluate
Print
Loop
JSHELL
R
E
P
L
http://bit.ly/2woEb1S
‣Explore APIs
‣Tool to Teach Java
WHY JSHELL IS PART OF JAVA 9
http://bit.ly/2woEb1S
‣Explore APIs
‣Tool to Teach Java
WHY JSHELL IS PART OF JAVA 9
http://bit.ly/2woEb1S
public class HelloWorld{
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
http://bit.ly/2woEb1S
public class HelloWorld{
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
http://bit.ly/2woEb1S
DEMO
http://bit.ly/2woEb1S
COLLECTION
FACTORY METHODS
http://bit.ly/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
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/2woEb1S
STREAMS
UPDATES
http://bit.ly/2woEb1S
public class TakeKansasCitySportsTeams{
public void takeTeams(){
Stream.of(“Chiefs”,“Royals”,
“Sporting”,“Mavericks”,“”,“Monarchs”)
.takeWhile(s -> !String.isEmpty(s))
.forEach(String.out::print)
}
}
Output: ChiefsRoyalsSportingMavericks
http://bit.ly/2woEb1S
public class DropKansasCitySportsTeams{
public void dropTeams(){
Stream.of(“”,“Chiefs”,“Royals”,
“Sporting”,“Mavericks”)
.dropWhile(s -> !String.isEmpty(s))
.forEach(String.out::print)
}
}
Output: ChiefsRoyalsSportingMavericks
http://bit.ly/2woEb1S
PRIVATE INTERFACE
METHODS
http://bit.ly/2woEb1S
public interface Foo{
default void bar(String arg){
System.out.println(“Hello World!”);
}
private default String lorem(){
...
}
}
http://bit.ly/2woEb1S
TRY-WITH-RESOURCES
UPDATES
http://bit.ly/2woEb1S
public class TryWithFoo{
public void TryWithBar(){
try(Resource bar = new Resource()){
//use bar
}
}
}
http://bit.ly/2woEb1S
public class TryWithFoo{
public void TryWithBar(){
Resource bar = new Resource();
try(bar){
//use bar
}
}
}
http://bit.ly/2woEb1S
public class TryWithFoo{
final Resource bar = new Resource();
public void TryWithBar(){
try(bar){
//use bar
}
}
}
http://bit.ly/2woEb1S
MULTI-RELEASE
JARS
http://bit.ly/2woEb1S
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/2woEb1S
JAVADOC & DEPRECATION ENHANCEMENTS
‣Javadoc Enhancements
•searchable
•html5 compliant
‣@Deprecation enhancements
•addition of forRemoval(boolean)
•addition of since(String)
http://bit.ly/2woEb1S
ADDITIONAL CHANGES
http://bit.ly/2woEb1S
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/2woEb1S
REMOVALS
http://bit.ly/2woEb1S
REMOVALS
▸ jhat
▸ applet API
▸ Internal APIs (e.g. com.sun.Unsafe)
▸ Deprecated GC combinations
▸ JVM TI hprof Agent
http://bit.ly/2woEb1S
DEVELOPER TOOLS
http://bit.ly/2woEb1S
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 (limited Java 9 compatibility)
▸ Full modules support coming in 4.2
http://bit.ly/2woEb1S
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/2woEb1S
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/2woEb1S
WHO TO FOLLOW FOR JAVA 9 NEWS
@PBAKKER @NIPAFX@SANDER_MAK
PAUL BAKKER SANDER MAK NICOLAI PARLOG
http://bit.ly/2woEb1S
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/2woEb1S
OPPORTUNITIES TO CONNECT AND TALK JAVA & SPRING
3RD WEDNESDAY OF THE MONTH
HTTPS://WWW.MEETUP.COM/
KANSASCITYJUG
1ST WEDNESDAY OF THE MONTH
HTTPS://WWW.MEETUP.COM/
KC-SPRING
http://bit.ly/2woEb1S
GET STARTED!
HTTP://JDK.JAVA.NET/9/
HTTP://JDK.JAVA.NET/JIGSAW/

More Related Content

What's hot

ICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax FrameworkICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEsoftTech
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEE
Jacek Laskowski
 
Indexed primefaces users_guide_3_5
Indexed primefaces users_guide_3_5Indexed primefaces users_guide_3_5
Indexed primefaces users_guide_3_5
Daniel Ibrahim
 

What's hot (20)

SME online market with joomla site
SME online market with joomla siteSME online market with joomla site
SME online market with joomla site
 
ICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax FrameworkICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax Framework
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEE
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with Composer
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2
 
Indexed primefaces users_guide_3_5
Indexed primefaces users_guide_3_5Indexed primefaces users_guide_3_5
Indexed primefaces users_guide_3_5
 
Dvwkbm lab2 cli1
Dvwkbm lab2 cli1Dvwkbm lab2 cli1
Dvwkbm lab2 cli1
 
Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New Features
 
Dependency Management with Composer
Dependency Management with ComposerDependency Management with Composer
Dependency Management with Composer
 
Behaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & DrupalBehaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & Drupal
 
Integrating Tomcat And Apache On Windows
Integrating Tomcat And Apache On WindowsIntegrating Tomcat And Apache On Windows
Integrating Tomcat And Apache On Windows
 
Symfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API MimarisiSymfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API Mimarisi
 
Creating custom themes in AtoM
Creating custom themes in AtoMCreating custom themes in AtoM
Creating custom themes in AtoM
 
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data TransferLeveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
 
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
 
Web Application Development using MVC Framework Kohana
Web Application Development using MVC Framework KohanaWeb Application Development using MVC Framework Kohana
Web Application Development using MVC Framework Kohana
 
Flask
FlaskFlask
Flask
 
OSX Complex Application Challenge Architecture
OSX Complex Application Challenge ArchitectureOSX Complex Application Challenge Architecture
OSX Complex Application Challenge Architecture
 
How to install laravel framework in windows
How to install laravel framework in windowsHow to install laravel framework in windows
How to install laravel framework in windows
 
Mage Titans USA 2016 M2 deployment
Mage Titans USA 2016  M2 deploymentMage Titans USA 2016  M2 deployment
Mage Titans USA 2016 M2 deployment
 

Similar to What's New in Java 9 KCDC

New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
Monaca
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiang
mfrancis
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11g
uzzal basak
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
vikram singh
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
vikram singh
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
vikram singh
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
vikram singh
 
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
Svetlin Nakov
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
njbartlett
 

Similar to What's New in Java 9 KCDC (20)

Browser Exploitation Framework Tutorial
Browser Exploitation Framework TutorialBrowser Exploitation Framework Tutorial
Browser Exploitation Framework Tutorial
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 
J2 Ee Overview
J2 Ee OverviewJ2 Ee Overview
J2 Ee Overview
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiang
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and Coroutines
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11g
 
Don't screw it up! How to build durable API
Don't screw it up! How to build durable API Don't screw it up! How to build durable API
Don't screw it up! How to build durable API
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 Development
 
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
 
Getting started with libfabric
Getting started with libfabricGetting started with libfabric
Getting started with libfabric
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
 
jsf2 Notes
jsf2 Notesjsf2 Notes
jsf2 Notes
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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 ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
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...
 
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 ...
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
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...
 

What's New in Java 9 KCDC