SlideShare une entreprise Scribd logo
1  sur  74
@jeanneboyarsky
Java 11 – Keeping the Java Release
Train on the Right Track
speakerdeck.com/boyarsky
Jeanne Boyarsky
QCon– June 28, 2018
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-10-11
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
@jeanneboyarsky
So much
changed
since Java
9 & Jigsaw’s
release!
2
@jeanneboyarsky 3
@jeanneboyarsky
For more on Java 9, see:
https://speakerdeck.com/
boyarsky/welcome-to-
java-9?slide=1
4
@jeanneboyarsky
Topics:
• Ecosystem
changes
• Language
changes
5
@jeanneboyarsky
About Me
16 years as
Java Developer
6
@jeanneboyarsky
Memories!
7
@jeanneboyarsky
Til
Java 6
(1996-
2006)
Hi
Oracle
(2010)
Java 7
(2011)
Java 8
(2014)
Java 9
(2017)
8
@jeanneboyarsky
The Saga of Jigsaw
• 2011 – Maybe part of Java 7. Nope
Plan B
• 2012 - Part of Java 8. No wait
• 2014 - Part of Java 9
9
@jeanneboyarsky
Java 9 “Release” Dates
• Sept 2016
• May 2017
• July 2017
• Sept 2017
10
@jeanneboyarsky
Counting lessons?
• 1.0, 1.1, 1.2, 1.3, 1.4
• 5.0
• 6, 7, 8, 9, 10, 11
11
@jeanneboyarsky
Advanced counting lessons
• 10 = 2018.3
• 11 = 2018.9
• 12 = ?
12
@jeanneboyarsky
Wait, a major version every 6 months?
• + Syntax changes
• + Smaller features
• - Years of features
JDK 10 JDK 11
12 new
features
15 new
features
13
@jeanneboyarsky
Java School
Report Card
Developer
Community
 A
Features
 B
Frequency of
Release
 F
Predictability
of Release
 D
14
@jeanneboyarsky
JVM College
Report Card
Vocabulary
 B
Polyglot
programming
 A
Frequency of
Release
 F
Predictability
of Release
 D
15
@jeanneboyarsky
Re-org at
the train
station
16
@jeanneboyarsky
How many languages do you know?
 One (or zero)
 Two – Five
 Six or more
Examples
• Java
• Kotlin
• Groovy
• Scala
• SQL
• HTML
• JavaScript
• CSS
17
@jeanneboyarsky
Before Now
18
@jeanneboyarsky
Before Now
19
@jeanneboyarsky
Before Now
Releases
every
Varies 6 months
(or 3 years)
Releases are Feature
driven
Date driven
20
@jeanneboyarsky
More time to
code while I wait
for the next train!
21
@jeanneboyarsky
Arrivals Train Schedule
Java Release Date Long Term
Support
9 September 21, 2017
10 March 20, 2018
11 September 25, 2018
22
@jeanneboyarsky
Security Patches Departure Schedule
Java Public Patches Paid Patches
6 2013 Late 2018
7 2015 2022
8 January 2019 (business)
December 2020 (public)
2025
23
@jeanneboyarsky
Security Patches Departure Schedule
Java Public patches Paid patches
9 March 2018 n/a
10 September 2018 n/a
11 March 2019 2023-2028
24
@jeanneboyarsky
Wait. So what happens next?
How long will Java 12 have security patches?
Answer: 6 months
What is the next LTS version
after Java 11?
Java 11 + 3*2 = 17
25
@jeanneboyarsky
A Tale of Two JDKs
Java Oracle JDK Open JDK
New Version Every 3 years Every 6 months
Cost Paid Free
Upgrade Options • Security patch
• Next version
• OpenJDK
• Interim
security patch
• Next version
26
@jeanneboyarsky
Only bug fixes remain
Only bug fixes allowed
27
@jeanneboyarsky
Get ready to play
28
@jeanneboyarsky
Tip: Aliases
alias
javac11=/Library/Java/JavaVirtualMachines/jdk-
11.jdk/Contents/Home/bin/javac
alias
java11=/Library/Java/JavaVirtualMachines/jdk-
11.jdk/Contents/Home/bin/java
29
@jeanneboyarsky
LOCAL VARIABLE SYNTAX
(10/11)
30
@jeanneboyarsky
String name = "Jeanne”;
var name = "Jeanne";
List list = List.of(1, 2, 3);
var list = List.of(1, 2, 3);
• Syntactical sugar/less boilerplate
• Not immutable (no val)
(10)
31
@jeanneboyarsky
var name = "Jeanne";
String name2 = name;
• Compiled code same with var
(10)
32
@jeanneboyarsky
List<WebElement> headers =
thead.findElements(By.tagName("th"));
VolunteerDashboardRow headerRow = new
VolunteerDashboardRow(headers);
vs
var headers =
thead.findElements(By.tagName("th"));
var headerRow = new
VolunteerDashboardRow(headers);
(10)
33
@jeanneboyarsky
var csvPath = createAndGetFile(CSV_DATA);
try (var csvWriter =
Files.newBufferedWriter(csvPath);
var csvPrinter = new
CSVPrinter(csvWriter,
CSVFormat.DEFAULT)); {
}
(10)
34
@jeanneboyarsky
Map<Integer, String> productMap1
= new HashMap<Integer, String>();
Map<Integer, String> productMap2
= new HashMap<>();
var productMap3
= new HashMap<Integer, String>();
(10)
35
@jeanneboyarsky
Where can we use?
var name = "Jeanne";
var other = name + 2;
var list = List.of(1, 2, 3);
for (var num : list) {}
(10)
36
@jeanneboyarsky
Where can’t we use?
class Inner { var bad = "abc"; }
var noGood;
noGood = 4;
• Also instance variables, etc
(10)
37
@jeanneboyarsky
Does this work?
var var = "var";
(10)
38
@jeanneboyarsky
(10)
Pros Cons
Less typing Loss of information
Less redundancy Variable names matter
more
Can scan variable
names
Be careful!
39
http://openjdk.java.net/projects/amber/LVTIstyle.html
@jeanneboyarsky
Lambdas
Predicate<String> pred1
= p -> true;
Predicate<String> pred2
= (String p) -> true;
Predicate<String> pred3
= (var p) -> true;
(11)
40
@jeanneboyarsky
Annotations
BiPredicate<
Map<Integer, String>,
List<String>> func =
(@NotNull var map, var list) -> true;
(11)
41
@jeanneboyarsky
All or nothing
Good
(var map, var list) -> true
No good
(var map, list) -> true
(var map, List list) -> true
(11)
42
@jeanneboyarsky
GARBAGE COLLECTION
(10/11)
43
@jeanneboyarsky
Choose your own GC
• Who cares?
• Agile. With releases every 6 months, features
are smaller
(10)
44
@jeanneboyarsky
Faster Default GC
Java 8 Parallel Garbage
Collector
Java 9 G1 GC
Java 10 + 11 G1 GC with parallel
implementation
(10)
For more, see https://speakerdeck.com/cguntur/garbage-
collection-in-java-9
45
@jeanneboyarsky
Regions & space vs speed
(10)
For more, see https://speakerdeck.com/cguntur
46
@jeanneboyarsky
Epsilon GC
(11)
• Never reclaims memory
• Program proceeds until run out of heap
• GC never runs
• To use:
• -XX:+UseEpsilonGC
• (or) -XX:+UseNoGC
47
@jeanneboyarsky
Epsilon GC Good for
(11)
• Performance/memory stress test
• Very short programs
• Last ditch performance improvements
(this probably isn’t you)
48
@jeanneboyarsky
Z GC
(11)
• Experimental
• 10ms or less pause time
• Only for Linux/x64
• To use, enable both:
• -XX:+UnlockExperimentalVMOptions
• -XX:+UseZGC
49
@jeanneboyarsky
HTTP CLIENT
(11)
I’m done
incubating!
50
@jeanneboyarsky
(11)var uri = "http://www.google.com";
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create(uri))
.build();
var response = client.send(request,
BodyHandlers.ofString());
System.out.println(response.body());
51
@jeanneboyarsky
(11)var client = HttpClient.newHttpClient();
var requests = uris.stream()
.map(HttpRequest::newBuilder)
.map(reqBuilder -> reqBuilder.build())
.collect(toList());
CompletableFuture.allOf(requests.stream()
.map(r->client.sendAsync(r, ofString()))
.toArray(CompletableFuture<?>[]::new))
.join();
52
@jeanneboyarsky
Other APIs
• BodyHandlers – file, inputstream, string,
discarding
• Request Builder Options – Header, proxy,
authenticator, http protocol version
• Methods – get/post/put/delete
(11)
53
@jeanneboyarsky
TIME BASED VERSIONING
(10)
54
@jeanneboyarsky
String javaVersion =
System.getProperty("java.version");
Runtime.Version version =
Runtime.Version.parse(javaVersion);
System.out.println(javaVersion + ": "
+ version.feature() + " "
+ version.interim() + " "
+ version.update() + " "
+ version.patch());
(10)
55
@jeanneboyarsky
(10)
10.0.1 11-ea
[deprecated]
major()
10 11
[deprecated]
minor()
0 0
[deprecated]
security()
1 0
56
@jeanneboyarsky
(10)
10.0.1 11-ea
feature() 10 11
interim() 0 0
update() 1 0
patch() 0 0
57
@jeanneboyarsky
(10)
Updates Examples
feature() Every 6 months 10, 11, 12
interim() n/a for Open JDK 0
update() Within 6 months 0, 1, 2
patch() Emergencies 0, 1, 2
58
@jeanneboyarsky
System.out.println(
System.getProperty("java.version.date"));
(10)
10.0.1 11-ea
2018-04-17 2018-09-25
Yes, the future!
59
@jeanneboyarsky
System.out.println(
System.getProperty("java.version.version"));
• Null for Open JDK
• For vendor use
(10)
Yes, version is
here twice!
60
@jeanneboyarsky
ODDS AND ENDS
61
@jeanneboyarsky
New java launcher mode
Full command Shorthand
javac HelloWorld.java
java HelloWorld
java HelloWorld.java
Produces class file Fully in memory
For any program For programs with one
class
(11)
62
@jeanneboyarsky
Unmodifiable Collections
(10)
63
Copying another Terminal operations
List.copyOf Collectors.toUnmodifiableList
Set.copyOf Collectors.toUnmodifiableSet
Map.copyOf Collectors.toUnmodifiableMap
@jeanneboyarsky
Behind the Scenes
• Nest based access control
• Remove hack for private access in nested
classes
• Pay off tech debt
(11)
64
@jeanneboyarsky
JDK Java EE/Corba Modules
Java 9 Java 11
(11)
65
@jeanneboyarsky
Pack200 Tools
Java 11 Use jlink to
compress packages
(11)
66
@jeanneboyarsky
Nashorn
Java 11 • Challenging to maintain
• Unclear adoption
• May be adopted
• Made it into Java 11
two days before cutoff
(11)
67
@jeanneboyarsky
Unicode 9 and 10 Support
Languages + emoji
(10+11)
68
@jeanneboyarsky
Tying it all together
(10+11)
69
import java.nio.charset.*;
public class Unicode {
public static void main(String... args) {
System.out.print("Have a uD83CuDF7A");
System.out.println(" or a uD83EuDD64");
}
}
@jeanneboyarsky
No need to be
puzzled.
Java 11 LTS
6 months
New features
Go tell your
manager/team to
be ready for
September!
70
@jeanneboyarsky 71
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-10-11

Contenu connexe

Similaire à Java 11 - Keeping the Java Release Train on the Right Track

Similaire à Java 11 - Keeping the Java Release Train on the Right Track (20)

GraalVM and MicroProfile - A Polyglot Microservices Solution
GraalVM and MicroProfile - A Polyglot Microservices SolutionGraalVM and MicroProfile - A Polyglot Microservices Solution
GraalVM and MicroProfile - A Polyglot Microservices Solution
 
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
 
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
 
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
 
The Present and Future of the Web Platform
The Present and Future of the Web PlatformThe Present and Future of the Web Platform
The Present and Future of the Web Platform
 
Life beyond Java 8
Life beyond Java 8Life beyond Java 8
Life beyond Java 8
 
Combining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
Combining Heritrix and PhantomJS for Better Crawling of Pages with JavascriptCombining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
Combining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
 
Learning with F#
Learning with F#Learning with F#
Learning with F#
 
Continuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin StachniukContinuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin Stachniuk
 
From Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practiceFrom Java to Kotlin - The first month in practice
From Java to Kotlin - The first month in practice
 
Securing TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography APISecuring TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography API
 
BDW Chicago 2016 - Jim Scott, Director, Enterprise Strategy & Architecture - ...
BDW Chicago 2016 - Jim Scott, Director, Enterprise Strategy & Architecture - ...BDW Chicago 2016 - Jim Scott, Director, Enterprise Strategy & Architecture - ...
BDW Chicago 2016 - Jim Scott, Director, Enterprise Strategy & Architecture - ...
 
Exploring Relay land
Exploring Relay landExploring Relay land
Exploring Relay land
 
jQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzjQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda Katz
 
Test Driven Documentation with Spring Rest Docs
Test Driven Documentation with Spring Rest DocsTest Driven Documentation with Spring Rest Docs
Test Driven Documentation with Spring Rest Docs
 
The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015
 
Tracking the Performance of the Web with HTTP Archive
Tracking the Performance of the Web with HTTP ArchiveTracking the Performance of the Web with HTTP Archive
Tracking the Performance of the Web with HTTP Archive
 
Novidades do c# 7 e 8
Novidades do c# 7 e 8Novidades do c# 7 e 8
Novidades do c# 7 e 8
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 

Plus de C4Media

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Java 11 - Keeping the Java Release Train on the Right Track