SlideShare a Scribd company logo
1 of 8
JAVA’S FUTURE-LOOKING PROJECTS: PANAMA,
LOOM, AMBER, AND VALHALLA
HTTP://WWW.ASTERIXSOLUTION.COM/JAVA-TRAINING.HTML
The press release “Oracle Code One Java Keynote Outlines the Future of Java” describes the Java Keynote
at Oracle Code “highlight[ing] future projects” Project Valhalla, Project Panama, Project Amber, and Project
Loom. This post provides brief summaries of each of these projects and some recent work associated with
each of these projects for those who may not be familiar with the mentioned projects.
• Project Panama
• Project Panama is about “Interconnecting JVM and native code.” Its introduction states, “We are
improving and enriching the connections between the Java TM virtual machine and well-defined but
‘foreign’ (non-Java) APIs, including many interfaces commonly used by C programmers.”
• Build 0 (2018/10/24) of the Project Panama Early-Access Builds was released recently. As with other
OpenJDK-related early access builds, this build is “intended for expert users” and “is provided as a
convenience so that they don’t need to build from the source code.” One of its most significant issues to
be aware of is, “Windows support not available.”
• Project Loom
• The Project Loom page describes Loom: “The goal of this Project is to explore and incubate Java VM
features and APIs built on top of them for the implementation of lightweight user-mode threads
(fibers), delimited continuations (of some form), and related features, such as explicit tail-call.”
• The Project Loom proposal (titled “Project Loom: Fibers and Continuations for the Java Virtual
Machine“) begins, “Project Loom’s mission is to make it easier to write, debug, profile and maintain
concurrent applications meeting today’s requirements.”
• The message “Kick off meeting for Project Loom” on the OpenJDK loom-dev mailing list states that
“Project Loom has been up and running here for number of months doing some early exploration and
prototyping of both delimited continuations and fibers.” That message talks about expanding that effort
with kick-off meeting and provides links to the aforementioned Project Loom Proposal and to the
YouTube-hosted presentation “Project Loom with Ron Pressler and Alan Bateman.”
• Project Amber
• The Project Amber page describes its goal “to explore and incubate smaller, productivity-oriented Java
language features that have been accepted as candidate JEPs under the OpenJDK JEP process.” There
are some exciting features being explored via this project including Pattern Matching (JEP 305), Switch
Expressions (JEP 325), Raw String Literals (JEP 326), Concise Method Bodies (draft JEP), and faster
String.format and Objects.hash methods [JDK-8205637 (“Optimized invocation of String::format and
Objects::hash”)].
• Project Valhalla
• All of these projects propose exciting additions to Java, but the one I’m most excited about is Project
Valhalla and its Value Objects/Types (JEP 169). The Project Valhalla page describes this project’s goal “to
provide a venue to explore and incubate advanced Java VM and Language feature candidates.”
Project Valhalla has seen significant developments in recent weeks, especially since and as a result of
the Valhalla Executive Group Meeting on 10 October 2018. In the OpenJDK valhalla-spec-experts mailing
list message “Entering the next phase of Project Valhalla,” Brian Goetz writes that this meeting was a
“super-productive meeting with broad attendance” that helped Valhalla developers “to thrash out where
we are, and where we’re going next.” Goetz also states that “this marks the beginning of the Phase III of
the project” and outlines what constituted Phase 1 and Phase 2. This same packed message also
summarizes the next steps for Valhalla:
Another recent interesting Goetz message on the valhalla-spec experts mailing list is “Values and erased
generics,” in which Goetz provides a “a summary of the story we came up with for erased generics over
values” that “builds on the typing story outlined in John’s ‘Q-Types in L-World‘ writeup.” The title of that
referenced John Rose writeup is currently, “Q-Types in L-World 10: Valhalla Working Group, Burlington,
September 2018.” A revision of proposed JVM specification changes for LW2 was announced earlier this
month as well.
• The amount of work being done related to Project Valhalla is made clear in the number of messages on
the mailing list about this project. These include those previously mentioned as well as others such as
“var, static factory method and value type constructor“; “Value types, encapsulation, and uninitialized
values“; and “Array covariance“.
• There is also a series of Goetz messages focusing on specific lessons learned from the first two phases:
• “[LW100] Specialized generics — translation and binary compatibility issues”“Challenges of evolving a
class to be any-generic, while interacting with existing erased code.”
• “[LW100] Specialized generics — migration”
• “Stories we cooked up for migration.”
• “[LW100] Specialized generics — user model issues”
• “User model and source compatibility of migrating existing libraries”
• The OpenJDK valhalla-dev mailing list message “Valhalla project repository status: Branched off ‘LW1’ in
preparation for ‘LW2’” announces the creation of the “lw1” branch.
• Conclusion
• It’s not surprising that these four projects were mentioned at Oracle Code One’s Java Keynote. They
cover many of the features to look forward to in Java’s future.
www.asterixsolution.com
www.facebook.com/asterixsolutionlab
www.plus.google.com/+Asterixsolutionlab

More Related Content

What's hot

What's hot (7)

Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 
Coupling Semantic MediaWiki with MASTRO
Coupling Semantic MediaWiki with MASTROCoupling Semantic MediaWiki with MASTRO
Coupling Semantic MediaWiki with MASTRO
 
Understanding Redux — Ilya Gelman
Understanding Redux — Ilya GelmanUnderstanding Redux — Ilya Gelman
Understanding Redux — Ilya Gelman
 
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
 
Ruby Meets Cocoa
Ruby Meets CocoaRuby Meets Cocoa
Ruby Meets Cocoa
 
[Java Colombo Meetup] The better java for Java microservices developers
[Java Colombo Meetup] The better java for Java microservices developers[Java Colombo Meetup] The better java for Java microservices developers
[Java Colombo Meetup] The better java for Java microservices developers
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 

Similar to Advanced java course

Similar to Advanced java course (20)

Projects Valhalla, Loom and GraalVM at virtual JavaFest 2020 in Kiev, Ukraine...
Projects Valhalla, Loom and GraalVM at virtual JavaFest 2020 in Kiev, Ukraine...Projects Valhalla, Loom and GraalVM at virtual JavaFest 2020 in Kiev, Ukraine...
Projects Valhalla, Loom and GraalVM at virtual JavaFest 2020 in Kiev, Ukraine...
 
JavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVM
JavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVMJavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVM
JavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVM
 
Highlights from Java 10-13 and Future of Java at JCON 2019 by Alukhanov and K...
Highlights from Java 10-13 and Future of Java at JCON 2019 by Alukhanov and K...Highlights from Java 10-13 and Future of Java at JCON 2019 by Alukhanov and K...
Highlights from Java 10-13 and Future of Java at JCON 2019 by Alukhanov and K...
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Projects Valhalla and Loom at IT Tage 2021
Projects Valhalla and Loom at IT Tage 2021Projects Valhalla and Loom at IT Tage 2021
Projects Valhalla and Loom at IT Tage 2021
 
java new technology
java new technologyjava new technology
java new technology
 
Projects Valhalla, Loom and GraalVM at JUG Mainz
Projects Valhalla, Loom and GraalVM at JUG MainzProjects Valhalla, Loom and GraalVM at JUG Mainz
Projects Valhalla, Loom and GraalVM at JUG Mainz
 
JavaScript development methodology
JavaScript development methodologyJavaScript development methodology
JavaScript development methodology
 
Hacking Java - Enhancing Java Code at Build or Runtime
Hacking Java - Enhancing Java Code at Build or RuntimeHacking Java - Enhancing Java Code at Build or Runtime
Hacking Java - Enhancing Java Code at Build or Runtime
 
Classes and Objects
Classes and ObjectsClasses and Objects
Classes and Objects
 
GWT – The Java Advantage
GWT – The Java AdvantageGWT – The Java Advantage
GWT – The Java Advantage
 
Java 9 sneak peek
Java 9 sneak peekJava 9 sneak peek
Java 9 sneak peek
 
Lagergren jvmls-2014-final
Lagergren jvmls-2014-finalLagergren jvmls-2014-final
Lagergren jvmls-2014-final
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
The Why and How of Scala at Twitter
The Why and How of Scala at TwitterThe Why and How of Scala at Twitter
The Why and How of Scala at Twitter
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Comp102 lec 3
Comp102   lec 3Comp102   lec 3
Comp102 lec 3
 
Projects Valhalla, Loom and GraalVM at JCon 2020
Projects Valhalla, Loom and GraalVM at JCon 2020Projects Valhalla, Loom and GraalVM at JCon 2020
Projects Valhalla, Loom and GraalVM at JCon 2020
 
Hacking Java @JavaLand2016
Hacking Java @JavaLand2016Hacking Java @JavaLand2016
Hacking Java @JavaLand2016
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
 

More from faizrashid1995

More from faizrashid1995 (12)

Hadoop Training
Hadoop TrainingHadoop Training
Hadoop Training
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Big data and apache hadoop adoption
Big data and apache hadoop adoptionBig data and apache hadoop adoption
Big data and apache hadoop adoption
 
What is hadoop
What is hadoopWhat is hadoop
What is hadoop
 
What is python
What is pythonWhat is python
What is python
 
The mean stack
The mean stackThe mean stack
The mean stack
 
Big Data Courses In Mumbai
Big Data Courses In MumbaiBig Data Courses In Mumbai
Big Data Courses In Mumbai
 
Python Classes In Thane
Python Classes In ThanePython Classes In Thane
Python Classes In Thane
 
python classes in thane
python classes in thanepython classes in thane
python classes in thane
 
Hadoop training in mumbai
Hadoop training in mumbaiHadoop training in mumbai
Hadoop training in mumbai
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 

Recently uploaded

The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
17thcssbs2
 

Recently uploaded (20)

Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 Inventory
 
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdfPost Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
 
factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptx
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 

Advanced java course

  • 1. JAVA’S FUTURE-LOOKING PROJECTS: PANAMA, LOOM, AMBER, AND VALHALLA HTTP://WWW.ASTERIXSOLUTION.COM/JAVA-TRAINING.HTML
  • 2. The press release “Oracle Code One Java Keynote Outlines the Future of Java” describes the Java Keynote at Oracle Code “highlight[ing] future projects” Project Valhalla, Project Panama, Project Amber, and Project Loom. This post provides brief summaries of each of these projects and some recent work associated with each of these projects for those who may not be familiar with the mentioned projects. • Project Panama • Project Panama is about “Interconnecting JVM and native code.” Its introduction states, “We are improving and enriching the connections between the Java TM virtual machine and well-defined but ‘foreign’ (non-Java) APIs, including many interfaces commonly used by C programmers.”
  • 3. • Build 0 (2018/10/24) of the Project Panama Early-Access Builds was released recently. As with other OpenJDK-related early access builds, this build is “intended for expert users” and “is provided as a convenience so that they don’t need to build from the source code.” One of its most significant issues to be aware of is, “Windows support not available.” • Project Loom • The Project Loom page describes Loom: “The goal of this Project is to explore and incubate Java VM features and APIs built on top of them for the implementation of lightweight user-mode threads (fibers), delimited continuations (of some form), and related features, such as explicit tail-call.”
  • 4. • The Project Loom proposal (titled “Project Loom: Fibers and Continuations for the Java Virtual Machine“) begins, “Project Loom’s mission is to make it easier to write, debug, profile and maintain concurrent applications meeting today’s requirements.” • The message “Kick off meeting for Project Loom” on the OpenJDK loom-dev mailing list states that “Project Loom has been up and running here for number of months doing some early exploration and prototyping of both delimited continuations and fibers.” That message talks about expanding that effort with kick-off meeting and provides links to the aforementioned Project Loom Proposal and to the YouTube-hosted presentation “Project Loom with Ron Pressler and Alan Bateman.” • Project Amber • The Project Amber page describes its goal “to explore and incubate smaller, productivity-oriented Java language features that have been accepted as candidate JEPs under the OpenJDK JEP process.” There are some exciting features being explored via this project including Pattern Matching (JEP 305), Switch Expressions (JEP 325), Raw String Literals (JEP 326), Concise Method Bodies (draft JEP), and faster String.format and Objects.hash methods [JDK-8205637 (“Optimized invocation of String::format and Objects::hash”)].
  • 5. • Project Valhalla • All of these projects propose exciting additions to Java, but the one I’m most excited about is Project Valhalla and its Value Objects/Types (JEP 169). The Project Valhalla page describes this project’s goal “to provide a venue to explore and incubate advanced Java VM and Language feature candidates.” Project Valhalla has seen significant developments in recent weeks, especially since and as a result of the Valhalla Executive Group Meeting on 10 October 2018. In the OpenJDK valhalla-spec-experts mailing list message “Entering the next phase of Project Valhalla,” Brian Goetz writes that this meeting was a “super-productive meeting with broad attendance” that helped Valhalla developers “to thrash out where we are, and where we’re going next.” Goetz also states that “this marks the beginning of the Phase III of the project” and outlines what constituted Phase 1 and Phase 2. This same packed message also summarizes the next steps for Valhalla: Another recent interesting Goetz message on the valhalla-spec experts mailing list is “Values and erased generics,” in which Goetz provides a “a summary of the story we came up with for erased generics over values” that “builds on the typing story outlined in John’s ‘Q-Types in L-World‘ writeup.” The title of that referenced John Rose writeup is currently, “Q-Types in L-World 10: Valhalla Working Group, Burlington, September 2018.” A revision of proposed JVM specification changes for LW2 was announced earlier this month as well.
  • 6. • The amount of work being done related to Project Valhalla is made clear in the number of messages on the mailing list about this project. These include those previously mentioned as well as others such as “var, static factory method and value type constructor“; “Value types, encapsulation, and uninitialized values“; and “Array covariance“. • There is also a series of Goetz messages focusing on specific lessons learned from the first two phases: • “[LW100] Specialized generics — translation and binary compatibility issues”“Challenges of evolving a class to be any-generic, while interacting with existing erased code.” • “[LW100] Specialized generics — migration” • “Stories we cooked up for migration.” • “[LW100] Specialized generics — user model issues” • “User model and source compatibility of migrating existing libraries”
  • 7. • The OpenJDK valhalla-dev mailing list message “Valhalla project repository status: Branched off ‘LW1’ in preparation for ‘LW2’” announces the creation of the “lw1” branch. • Conclusion • It’s not surprising that these four projects were mentioned at Oracle Code One’s Java Keynote. They cover many of the features to look forward to in Java’s future.