JEP 431

GPTKB entity

Statements (822)
Predicate Object
gptkbp:instance_of gptkb:Java_2_Platform
gptkb:JEP
gptkbp:adapted_into Adaptable.
Java SE roadmap.
gptkbp:addresses Common programming patterns
previous rendering issues
gptkbp:affects gptkb:Java_FX
gptkbp:aims_to Enhance developer productivity
Provide a mechanism to interact with native code
Simplify switch statements
Provide a mechanism to manage native memory
leverage modern hardware
gptkbp:aims_to_improve developer productivity
Release Process
gptkbp:allows Pattern matching in switch expressions
gptkbp:approves 2021-11-16
2022-09-15
2020-03-17
JDK Release Team
gptkbp:author gptkb:Brian_Goetz
gptkb:Oracle_Corporation
Brian Goetz.
gptkbp:benefits Continuous.
Improves code readability and maintainability.
Enhances performance.
Improved performance on mac OS.
Simplifies code maintenance.
Improves readability.
Enhanced switch statement capabilities.
Enhanced developer experience.
Java applications on mac OS
Measured by adoption.
Reduces memory leaks.
Enhanced pattern matching.
gptkbp:challenges Complexity in implementation.
Potential for misuse.
Learning curve for developers.
Adoption hurdles.
Needs community adoption.
Requires changes to existing APIs.
gptkbp:code Provided in the proposal.
gptkbp:collaborated_with by multiple contributors
gptkbp:collaborative_projects Open JDK community.
With existing features.
gptkbp:community_engagement Encouraged through discussions.
gptkbp:community_feedback Positive.
Continuous feedback encouraged.
Positive response from early users.
gptkbp:community_impact Affects Java programming practices.
gptkbp:community_involvement Encouraged.
Open for contributions.
Encouraged for feedback and contributions.
gptkbp:community_outreach Community-focused.
gptkbp:community_support Strong.
Open JDK mailing lists.
Active support from the Java community.
gptkbp:compatibility Backward compatible.
Backward compatible with existing switch statements.
gptkbp:conference_presentations Presented at Java conferences.
gptkbp:conformance Conforms to Java language specifications.
gptkbp:contains API changes
Enhancements
Security updates
Deprecations
gptkbp:contributes_to gptkb:Java_FX
gptkbp:contribution Follow Open JDK guidelines.
gptkbp:created 2020-03-10
2022-09-15
gptkbp:created_by gptkb:Oracle_Corporation
gptkbp:date September 2021
gptkbp:date_finalized 2023-09-19
gptkbp:dependency gptkb:Project_Panama
gptkb:Project_Loom
JEP 405.
gptkbp:describes JDK 18 Release Notes
JDK 18 Release Candidate 5
JDK 18 Release Process
JDK 21 Release Features
JDK 11.0.7
deprecated features in JDK 18
JDK 17 Java FX Changes
gptkbp:description Introduces a new rendering pipeline for mac OS.
Enhances the switch statement to allow pattern matching.
Introduces a new sequence of characters API.
Introduces a new mechanism for defining scoped values.
Introduces type patterns for instanceof.
Introduces sequence patterns for pattern matching.
Introduces scoped values to the Java programming language.
Describes the release process for JDK 15.
gptkbp:developed_by gptkb:Open_JDK_project
gptkbp:development gptkb:Yes
Java language team.
gptkbp:discusses Performance improvements
Open JDK mailing list
https://openjdk.java.net/jeps/431
gptkbp:education Expected to grow.
Gradually increasing.
gptkbp:educational_resources Available online tutorials.
gptkbp:encourages Code reuse
gptkbp:enhances gptkb:Java_programming_language
Standard library
visual quality
Type safety
Performance of Java applications
Planned for subsequent JEPs.
gptkbp:evaluates Evaluated by the Java community.
Usability and performance.
gptkbp:example switch (obj) { case String s -> ...; }
Creating scoped values for user sessions.
Passing scoped values in callbacks.
Managing configuration settings with scoped values.
Scoped values in dependency injection.
Using scoped values in asynchronous tasks.
Used in switch expressions.
gptkbp:exemplifies Java syntax
gptkbp:facilitates Concurrent programming
gptkbp:feature Improved handling of character sequences.
gptkbp:feature_flag Enabled via command line.
gptkbp:features Sealed classes.
Sequence patterns.
gptkbp:feedback Gathered from early adopters.
gptkbp:feedback_mechanism Open JDK mailing lists.
Open JDK feedback channels.
gptkbp:first_published 2023-01-10
March 2022
gptkbp:focus API improvements
gptkbp:focuses_on language features
gptkbp:formulation Introduces new syntax for switch cases.
gptkbp:funding Supported by Oracle.
gptkbp:future_goals Continued enhancement of Java features.
gptkbp:future_plans Finalize implementation.
Expand pattern matching capabilities.
gptkbp:future_prospects Further enhancements to pattern matching.
Exploration of further pattern matching.
Enhance documentation.
Evaluate performance metrics.
Explore additional features.
Gather feedback from the community.
Monitor usage patterns.
gptkbp:goal Simplify the syntax of switch statements.
gptkbp:goals Improve code readability.
gptkbp:has Memory access patterns
Foreign function calls
gptkbp:has_community Java forums.
gptkbp:has_documentation Available for reference.
Detailed in the Open JDK documentation.
Provided for developers.
To be provided.
gptkbp:historical_achievement Key development phases.
JDK 21 release.
https://www.w3.org/2000/01/rdf-schema#label JEP 431
gptkbp:impact High.
Positive.
Significant.
User satisfaction.
Implementation complexity.
Simplifies type checking.
Affects Java developers using switch statements.
Evaluated by the community.
Enhances string manipulation.
Graphics rendering in Java applications.
Improves code clarity and reduces bugs.
Enhances the expressiveness of pattern matching.
Provides a new way to manage values that are scoped to a specific context.
gptkbp:impact_on_codebase Potentially simplifies complex switch cases.
gptkbp:implementation_challenges_addressed Identified and discussed.
gptkbp:implementation_feedback Gathered from early users.
gptkbp:implementation_guide Available for developers.
gptkbp:implementation_strategy Iterative development.
gptkbp:implementation_success_factors Community involvement and feedback.
gptkbp:implementation_success_factors_evaluated Community involvement.
gptkbp:implementation_success_factors_identified Community involvement.
gptkbp:implementation_success_indicators Positive community feedback.
gptkbp:implementation_success_metrics Community feedback and adoption rates.
gptkbp:implementation_updates Regular updates provided.
gptkbp:improves Code readability
graphics performance
Interoperability with other languages
gptkbp:improves_compatibility_with Apple's ecosystem
gptkbp:includes gptkb:Record_Patterns
gptkb:New_mac_OS_Rendering_Pipeline
gptkb:Virtual_Threads
gptkb:switch_expressions
gptkb:Foreign_Function_&_Memory_API
Enhanced Pseudo-Random Number Generators
Bug Fixes
Performance Improvements
Release Notes
Bug fixes
records
performance benchmarks
New features
Performance improvements
Security Enhancements
Deprecate the Applet API
New Date and Time API Features
Pattern Matching for switch
Scoped Values
Sealed Interfaces
pattern matching for instanceof
New Language Features
New APIs
Enhanced Debugging Tools
Enhanced Type Inference
Improved Documentation
Improved IDE Support
JVM Improvements
New Annotations
New Language Syntax
New Stream API Features
New methods in existing classes
New Garbage Collection Options
New JDBC Features
New Testing Frameworks
Improvements to the Java Language
Improved Performance Monitoring
String Templates
Library Updates
Enhanced Blockchain Support
Enhanced Build Tools
Enhanced Cloud Support
Enhanced Concurrency Utilities
Enhanced Data Processing Features
Improved Container Support
Improved Edge Computing Support
Improved Internationalization Support
Improved Java FX Features
Improved Java SE Features
Improved Machine Learning Support
Improved Reflection API
Improved Serialization
New Collection Features
New Deployment Options
New Features for AI Development
New Features for Big Data
New Features for Io T Development
New Features for Microservices
New Features for Mobile Development
New Features for Quantum Computing
New Features for Serverless Computing
New Java EE Features
New Language Features for Scripting
New Profiling Tools
New Tools and Utilities
New XML Processing Features
Support for New Hardware Architectures
Updates to the Java API
New collection methods
New APIs for File I/ O
Enhanced Security APIs
Improved Networking APIs
gptkbp:increased frame rates
gptkbp:influences Future JDK Release Processes
gptkbp:innovation Encouraged.
gptkbp:introduced_in gptkb:Java_SE_17
gptkb:Java_11
gptkb:JDK_14
gptkb:JDK_18
gptkb:Java_17
gptkb:Java_21
gptkbp:involved_technology Java SE.
gptkbp:is_a_resource_for Available for developers.
gptkbp:is_adopted_by gptkb:developers
gptkb:Java_community
Startups
enterprise applications
academic institutions
open-source projects
Java Developers
Enterprise applications
Java developers
Expected to be widely adopted.
Increasing among Java developers.
Encouraged for use in modern Java applications.
gptkbp:is_adopted_by_community Java Community
gptkbp:is_aligned_with Apple's development guidelines
gptkbp:is_analyzed_in Research papers
Software analysts
gptkbp:is_approved gptkb:true
gptkbp:is_available_in Open JDK 18
gptkbp:is_celebrated_in Java community events
Java enthusiasts
gptkbp:is_cited_in gptkb:JEP_432
Java documentation
Java tutorials
Java books
Java SE 18 Release Notes
Java documentation updates
subsequent JEPs
gptkbp:is_compared_to Previous JEPs
gptkbp:is_compatible_with gptkb:Java_SE_18
existing Java applications
gptkbp:is_considered A significant update
gptkbp:is_described_as gptkb:Tutorials
gptkbp:is_designed_for modern mac OS applications
gptkbp:is_discussed_in gptkb:Java_conferences
gptkb:Java_One_conference
Podcasts
Online forums
Java Community
Java blogs
Java forums
Java mailing lists
Java community process
gptkbp:is_documented_in gptkb:JEP
Java SE Documentation
Java SE documentation
Java documentation
Java enhancement proposals
Official JDK documentation
Open JDK documentation
Open JDK website
JEP 431 Documentation
Open JDK Wiki
JEP 431 document
gptkbp:is_documented_in_release_notes JDK 18 Release Notes
gptkbp:is_evaluated_by Code reviews
Java user groups
gptkbp:is_expected_to Enhance performance
improve user experience
reduce latency
Improve developer productivity
enhance developer productivity
Reduce boilerplate code
Facilitate migration from JNI
Increase adoption of Java 21
Be widely adopted in the Java ecosystem
Encourage adoption of native features
Enhance security in native calls
Provide better error handling
Simplify native interactions
Support asynchronous programming models
Support structured concurrency
Be finalized in future releases
Facilitate new language features
gptkbp:is_experimental gptkb:Yes
gptkbp:is_featured_in gptkb:Java_conferences
gptkbp:is_focused_on graphics rendering
gptkbp:is_implemented_in gptkb:Java_Development_Kit_(JDK)_21
gptkb:Java_programming_language
gptkb:Java_Development_Kit_(JDK)
gptkb:Open_JDK
In development.
In progress.
Java.
Detailed in the proposal.
Java Development Team
Addressing edge cases.
Discussed in the proposal.
Requires changes to the Java compiler.
JDK 18 Release Candidate 5
Implemented in the Java standard library.
Handling edge cases.
JDK 14 release
Proposed implementation in JDK.
gptkbp:is_influenced_by gptkb:JEP_429
User feedback
functional programming concepts
user feedback
Functional programming concepts
software engineering practices
modern programming languages
previous JEPs
gptkbp:is_integrated_with gptkb:Java_frameworks
Java build tools
gptkbp:is_linked_to gptkb:JEP_432
gptkbp:is_managed_by gptkb:Open_JDK_community
gptkb:Open_JDK_Community
gptkbp:is_motivated_by To simplify the management of values that are only relevant in a specific context.
Simplify complex data structure handling.
gptkbp:is_optimized_for gptkb:Apple
gptkbp:is_part_of gptkb:Project_Panama
gptkb:Java_SE_21
gptkb:Java_SE_Platform
gptkb:Java_2_Platform
gptkb:Java_SE_platform
gptkb:Java_SE_14
gptkb:Java_ecosystem
gptkb:Project_Loom
gptkb:Project_Valhalla
Java development process
Java language evolution
Java language features
Java language enhancements
Java graphics stack
Java 21 features
Java graphics improvements.
gptkbp:is_part_of_jdk gptkb:Java_Development_Kit_18
gptkbp:is_promoted_by gptkb:Oracle_Corporation
Java advocates
Java influencers
gptkbp:is_promoted_through Webinars
gptkbp:is_recognized_by Industry leaders
Industry awards
Software development organizations
gptkbp:is_referenced_in Technical documentation
Technical blogs
gptkbp:is_related_to gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_386
gptkb:JEP_387
gptkb:JEP_388
gptkb:JEP_394
gptkb:JEP_395
gptkb:Pattern_Matching_for_instanceof
gptkb:Native_Image
gptkb:JEP_405
gptkb:JEP_406
gptkb:JEP_412
gptkb:JEP_413
gptkb:JEP_414
gptkb:JEP_415
gptkb:JEP_416
gptkb:JEP_417
gptkb:JEP_418
gptkb:JEP_419
gptkb:JEP_420
gptkb:JEP_421
gptkb:JEP_422
gptkb:JEP_423
gptkb:JEP_424
gptkb:JEP_425
gptkb:JEP_426
gptkb:JEP_427
gptkb:JEP_428
gptkb:JEP_429
gptkb:JEP_430
gptkb:JEP_432
gptkb:Java_Native_Access_(JNA)
gptkb:Open_VMS
gptkbp:is_reviewed_by gptkb:Java_Community_Process
gptkb:Java_SE_Review_Board
gptkb:Java_community
Technical committees
Java community leaders
Java community members
Java experts
Under review.
JDK contributors
Java Experts
Open JDK mailing lists
Java authors
JDK Enhancement-Proposal meetings
gptkbp:is_supported_by gptkb:Java_frameworks
gptkb:Java_Development_Kit_(JDK)
gptkb:Java_community
gptkb:Open_JDK
Multiple platforms
IDE tools
Java IDEs
Java user groups
mac OS developers
Java certification programs
Java user communities
Open JDK 21
Java community proposals
gptkbp:is_supported_by_jdk gptkb:JDK_18
gptkbp:is_targeted_at Java Developers
Java developers
Performance-critical applications
Applications using native libraries
Developers needing native access
gptkbp:is_tested_for Quality assurance teams
various hardware configurations
Java FX applications
mac OS versions
Extensively tested in preview builds.
JDK 18 Release Candidate 5
Java QA Team
Unit tests planned.
JDK testing framework
Java 21 builds
gptkbp:is_tested_in_environment JDK 18 Release Candidate 5 Testing
gptkbp:is_utilized_by gptkb:game_developers
Large enterprises
Open-source projects
gptkbp:is_utilized_in gptkb:educational_institutions
graphics-intensive applications
gptkbp:is_visible_from Increased.
gptkbp:issues JDK-8261234
JDK-8261235
JDK-8261236
JDK-8261237
JDK-8261238
JDK-8261239
JDK-8261240
JDK-8261241
JDK-8261242
JDK-8261243
JDK-8261244
JDK-8261245
JDK-8261246
JDK-8261247
JDK-8261248
JDK-8261249
JDK-8261250
JDK-8261251
JDK-8261252
JDK-8261253
JDK-8261254
JDK-8261255
JDK-8261256
JDK-8261257
JDK-8261258
JDK-8261259
JDK-8261260
JDK-8261261
JDK-8261262
JDK-8261263
JDK-8261264
JDK-8261265
JDK-8261266
JDK-8261267
JDK-8261268
JDK-8261269
JDK-8261270
JDK-8261271
JDK-8261272
JDK-8261273
JDK-8261274
JDK-8261275
JDK-8261276
JDK-8261277
JDK-8261278
JDK-8261279
JDK-8261280
JDK-8261281
JDK-8261282
JDK-8261283
JDK-8261284
JDK-8261285
JDK-8261286
JDK-8261287
JDK-8261288
JDK-8261289
JDK-8261290
JDK-8261291
JDK-8261292
JDK-8261293
JDK-8261294
JDK-8261295
JDK-8261296
JDK-8261297
JDK-8261298
JDK-8261299
JDK-8261300
gptkbp:key_feature Scoped values are immutable.
Scoped values can be used in conjunction with existing Java features.
Scoped values can be passed around without concern for their lifecycle.
gptkbp:language Pattern Matching.
gptkbp:latest_version gptkb:18
gptkb:JEP_431
gptkb:Java_17
gptkb:Java_21
1.0
1.0.
JEP 431 Versioning
gptkbp:legacy Modern Java.
gptkbp:mission Active.
Improve pattern matching.
gptkbp:next_edition May be included in future Java versions.
gptkbp:notable_contributor gptkb:Alex_Buckley
gptkb:Johan_Vos
gptkb:Mark_Reinhold
gptkb:Mikael_Vidstedt
gptkb:Jesse_Glick
Sharat Chander
Java language designers.
Thomas Stüfe
gptkbp:notable_release January 2022
2022-09-15
gptkbp:outcome Improved syntax.
gptkbp:performance Minimal impact expected.
Minimal.
gptkbp:plot_summary A proposal to enhance switch statements with pattern matching.
Introduce scoped values to provide a way to manage values that are scoped to a specific context.
Deprecation of certain features in JDK 18.
Preview feature for sequence patterns.
gptkbp:production_status Active.
Ongoing development.
gptkbp:project Promising.
Regular.
Widespread.
Regularly communicated.
2022-2023.
Documentation.
Brian Goetz.
Open JDK projects.
Project Loom.
Enhance Java language features.
Modernize Java language features.
Ongoing development phases.
JDK 21.
Enhance Java language.
Modernize Java.
gptkbp:project_effectiveness High.
gptkbp:project_efficiency Improved.
gptkbp:project_goals_alignment Aligns with Java's evolution.
gptkbp:project_impact_evaluation Regularly conducted.
gptkbp:project_impact_factors Community feedback.
gptkbp:project_impact_factors_evaluated Community feedback.
gptkbp:project_impact_metrics Community feedback and adoption.
gptkbp:project_outcomes_evaluation Regularly assessed.
gptkbp:project_quality Enhanced.
gptkbp:project_relevance Current.
gptkbp:project_sustainability_factors Community support and involvement.
gptkbp:project_sustainability_factors_evaluated Community support.
gptkbp:project_sustainability_indicators Community engagement and support.
gptkbp:project_sustainability_metrics Community support.
gptkbp:project_value High.
gptkbp:proposed_by gptkb:Brian_Goetz
gptkb:Oracle
gptkb:Oracle_Corporation
gptkb:Java_20
gptkb:Java_18
gptkb:Java_19
gptkb:Mark_Reinhold
gptkb:Java_21
JDK Enhancement-Proposal Committee
Pattern Matching for Switch
New features for JDK 18
New API Enhancements for Java 21
New feature in Java
JDK 14 Language Enhancements
gptkbp:provides Memory allocation and deallocation
Transparency in Release Process
better integration with mac OS features
Access to native libraries
New utility classes
New syntax for switch cases
gptkbp:published_by gptkb:Java_Magazine
JDK team
Open JDK mailing lists
gptkbp:published_in March 2022
February 2022
gptkbp:reduces CPU overhead
gptkbp:related_concept Java SE standards.
gptkbp:related_jdk JDK 18.
gptkbp:related_jeps gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_394
gptkb:JEP_395
gptkb:JEP_406
gptkb:JEP_410
gptkb:JEP_412
gptkb:JEP_413
gptkb:JEP_414
gptkb:JEP_415
gptkb:JEP_416
gptkb:JEP_417
gptkb:JEP_418
gptkb:JEP_419
gptkb:JEP_420
gptkb:JEP_421
gptkb:JEP_422
gptkb:JEP_423
gptkb:JEP_424
gptkb:JEP_425
gptkb:JEP_426
gptkb:JEP_427
gptkb:JEP_428
gptkb:JEP_429
gptkb:JEP_430
gptkb:JEP_432
gptkb:JEP_433
gptkb:JEP_434
gptkb:JEP_435
gptkb:JEP_436
gptkb:JEP_437
gptkb:JEP_438
gptkb:JEP_439
gptkb:JEP_440
gptkb:JEP_441
gptkb:JEP_442
gptkb:JEP_443
gptkb:JEP_444
gptkb:JEP_445
gptkb:JEP_446
gptkb:JEP_447
gptkb:JEP_448
gptkb:JEP_449
gptkb:JEP_450
gptkb:JEP_451
gptkb:JEP_452
gptkb:JEP_453
gptkb:JEP_454
gptkb:JEP_455
gptkb:JEP_456
gptkb:JEP_457
gptkb:JEP_458
gptkb:JEP_459
gptkb:JEP_460
gptkb:JEP_461
gptkb:JEP_462
gptkb:JEP_463
gptkb:JEP_464
gptkb:JEP_465
gptkb:JEP_466
gptkb:JEP_467
gptkb:JEP_468
gptkb:JEP_469
gptkb:JEP_470
gptkb:JEP_471
gptkb:JEP_472
gptkb:JEP_473
gptkb:JEP_474
gptkb:JEP_475
gptkb:JEP_476
gptkb:JEP_477
gptkb:JEP_478
gptkb:JEP_479
gptkb:JEP_480
gptkb:JEP_481
gptkb:JEP_482
gptkb:JEP_483
gptkb:JEP_484
gptkb:JEP_485
gptkb:JEP_486
gptkb:JEP_487
gptkb:JEP_488
gptkb:JEP_489
gptkb:JEP_490
gptkb:JEP_491
gptkb:JEP_492
gptkb:JEP_493
gptkb:JEP_494
gptkb:JEP_495
gptkb:JEP_496
gptkb:JEP_497
gptkb:JEP_498
gptkb:JEP_499
gptkbp:related_to gptkb:Java_Platform_Module_System
gptkb:JEP_394
gptkb:Pattern_Matching_for_instanceof
gptkb:Java_SE_18
gptkb:Java_FX
gptkb:JEP_430
gptkb:Java_Development_Kit_(JDK)
gptkb:JNI_(Java_Native_Interface)
Memory Management
Pattern Matching
gptkbp:release_date gptkb:2023
September 2020
September 2021
2023-09-20.
gptkbp:release_notes Included in JDK 21.
gptkbp:released gptkb:JDK_11
gptkb:JDK_18
gptkb:Java_21
gptkbp:released_in gptkb:Oracle
gptkbp:replaces gptkb:JEP_411
existing pipeline
gptkbp:requires JDK 17 or later
mac OS 10.14 or later
Java SE 21 or later
gptkbp:reviews gptkb:Brian_Goetz
gptkb:Java_Community_Process
gptkb:Venkat_Subramaniam
gptkb:Mark_Reinhold
gptkb:Jesse_Glick
gptkbp:scope Pattern matching enhancements.
gptkbp:security None.
gptkbp:specification gptkb:Java_SE_17
gptkb:Java_SE_Specification
Java Language Specification.
Allows switch expressions to match against types.
gptkbp:specifies API for foreign functions
API for foreign memory
gptkbp:stakeholders Java community.
Java developers.
Java SE team.
gptkbp:status gptkb:Flamethrower
gptkb:Final
gptkb:Preview
gptkbp:success Positive developer feedback.
gptkbp:supports gptkb:Sealed_classes
high-resolution displays
Functional programming paradigms
gptkbp:sustainability_efforts Long-term.
Supported by community engagement.
gptkbp:target_audience Java developers.
gptkbp:target_jdk gptkb:JDK_17
gptkb:17
gptkb:JDK_15
gptkb:JDK_18
gptkb:JDK_21
JEP 394.
gptkbp:targets gptkb:mac_OS
gptkbp:title gptkb:Foreign_Function_&_Memory_API_(Incubator)
gptkb:Pattern_Matching_for_switch_(Preview)
gptkb:New_mac_OS_Rendering_Pipeline
Scoped Values
New mac OS rendering pipeline
Sequence of Characters (Preview)
Sequence Patterns (Preview)
JDK 15 Release Process
Type Patterns (Preview)
gptkbp:updates 2020-09-15
gptkbp:usage Used in web applications.
Used in API design.
Used in concurrent programming.
Used in functional programming.
Used in microservices.
gptkbp:use_case Data processing.
Type-safe handling of different object types.
gptkbp:use_in_production Recommended for experimental use.
gptkbp:user_base Java developers worldwide.
gptkbp:user_engagement Encouraged through forums.
Open for contributions.
Feedback and contributions.
gptkbp:user_experience Improved.
gptkbp:user_feedback Incorporated.
Collected from early adopters.
Ongoing process.
gptkbp:user_resources Tutorials and guides available.
gptkbp:uses Metal API
gptkbp:bfsParent gptkb:JEP_17
gptkb:JEP_33
gptkb:Java_SE_18
gptkb:JDK_15
gptkb:JEP_488
gptkbp:bfsLayer 5