JEP 407

GPTKB entity

Statements (534)
Predicate Object
gptkbp:instance_of gptkb:Java_2_Platform
gptkb:JEP
gptkbp:addresses gptkb:switch_expressions
API usability
Backward compatibility
compiler optimizations
gptkbp:advances Java language features
gptkbp:affects Java developers
gptkbp:aims_to enhance performance
Improve code quality
simplify coding patterns
Improve API usability
gptkbp:aims_to_improve Graphics performance
developer productivity
developer experience
gptkbp:application Open JDK development process.
gptkbp:approves gptkb:Java_Community_Process
2021-07-15
JDK Release Team
JDK Release Committee
gptkbp:author gptkb:Alan_Bateman
gptkb:Brian_Goetz
gptkb:John_Doe
JDK Release Team
gptkbp:availability Source code available in Open JDK repository.
gptkbp:benefits Improved performance
Improves type safety.
Considered a success.
Better integration with mac OS features
Enhanced type safety and expressiveness.
Increased complexity in interface design.
Successful implementation in JDK 17.
Enhanced predictability in floating-point operations.
gptkbp:cause To avoid surprises in floating-point calculations.
gptkbp:challenges Overcame technical challenges.
Balancing performance and strictness.
gptkbp:collaborated_with Academic institutions
Open source contributors
gptkbp:collaboration Java developers
gptkbp:community_feedback Generally positive.
Generally favorable.
gptkbp:community_involvement Active community discussions.
Encouraged throughout the process.
gptkbp:community_outreach Outreach to developers.
Workshops and seminars planned.
gptkbp:community_support Strong support from the Java community.
Supported by the Java community.
gptkbp:compatibility Backward compatibility maintained.
Backward compatible with existing interfaces.
Backward compatibility issues may arise.
gptkbp:concluded_on gptkb:2020
September 2021
previous JEPs
gptkbp:conference Java One.
gptkbp:conformance Conforms to Java SE standards.
Conforms to strict floating-point semantics.
gptkbp:contains API changes
performance benchmarks
Deprecation warnings
Release notes for JDK 15
Documentation changes
gptkbp:contributes_to Java platform security
gptkbp:contribution Community contributions accepted.
Contributes to the evolution of the Java language.
Guidelines available for contributors.
gptkbp:created 2021-09-15
gptkbp:describes JDK 15 Release Notes
JDK 17 API Documentation
Reimplement the Security Manager
JDK 18 Deprecated Features
JDK 17 API Changes
JDK 17 Release Candidate 4
gptkbp:description Introduces a new rendering pipeline for mac OS.
Introduces sealed interfaces to the Java programming language.
Describes the release process for JDK 18.
Enhancements to the Java platform.
gptkbp:design Simplicity and predictability.
gptkbp:development Completed in 2021.
Team of Java language experts.
gptkbp:discusses Open JDK mailing list.
Open JDK mailing lists
The proposal was discussed in the Open JDK mailing lists.
https://openjdk.java.net/jeps/407
gptkbp:discussion_outcome Approved for inclusion in JDK 17.
gptkbp:education High user adoption rate.
gptkbp:educational_resources Tutorials available online.
Documentation available on Open JDK.
gptkbp:encourages Migration to newer features
gptkbp:end_of_life End of life policy applies.
gptkbp:enhances gptkb:Java_programming_language
developer productivity
gptkbp:example Sealed interfaces can be used in pattern matching.
gptkbp:feature gptkb:Java_17
gptkbp:features Pattern Matching.
gptkbp:feedback Community feedback encouraged.
Positive from the Java community.
Feedback from the community was considered.
gptkbp:feedback_mechanism Open for community feedback.
gptkbp:focuses_on language features
Deprecation of features
compiler improvements
gptkbp:funding Funded by Oracle.
gptkbp:future_plans Further enhancements to sealed types.
gptkbp:future_prospects Potential enhancements to sealed types.
Future work may include further refinements.
gptkbp:goals Enhance floating-point reliability.
gptkbp:has_documentation Included in JDK 17 documentation.
Documentation updates required.
Available on the Open JDK website.
gptkbp:historical_achievement Achieved key milestones.
Defined milestones for JDK 18.
Java's history
https://www.w3.org/2000/01/rdf-schema#label JEP 407
gptkbp:impact gptkb:developers
Security features
Java developers
Significant impact on Java development.
Enhances the expressiveness of the type system.
Managed during development.
May affect existing code that relies on non-strict semantics.
gptkbp:implementation_methodology Agile development.
gptkbp:improves type safety
gptkbp:includes Bug fixes
New features
Performance improvements
new language features
new APIs
pattern matching for instanceof
New APIs
API updates
new API features
API removals
records as a preview feature
text blocks as a standard feature
Deprecated APIs
gptkbp:influences Future JDK versions
gptkbp:introduced gptkb:Pattern_Matching_for_switch_(preview)
gptkbp:introduced_in gptkb:JDK_17
gptkb:JDK_14
gptkb:JDK_15
gptkbp:involved_technology Java programming language.
gptkbp:is_a gptkb:Java_SE
gptkb:Documentation
technical specification
community-driven initiative
feature enhancement
Java language enhancement
JDK improvement proposal
JDK feature
JDK enhancement proposal
software development proposal
software enhancement proposal
gptkbp:is_a_major_change_in Java language
gptkbp:is_adopted_by gptkb:developers
gptkb:Java_community
Tech companies
open-source projects
software companies
Java development tools
Widely adopted in JDK 17.
High among developers.
Open JDK projects
Adoption is expected to be gradual.
Expected to increase over time.
gptkbp:is_aimed_at gptkb:developers
modernizing Java
reducing errors in code
gptkbp:is_aligned_with Java SE roadmap
Java SE development practices
gptkbp:is_analyzed_in Software engineers
Technical papers
Technical reviews
gptkbp:is_associated_with Java language evolution
Java language features
Java performance tuning
Java performance improvements
gptkbp:is_cited_in Research papers
academic papers
Technical standards
Java documentation
technical blogs
Java SE 18 documentation
Java SE 18 release notes
other JEPs
gptkbp:is_described_as gptkb:Tutorials
Technical blogs
gptkbp:is_designed_to reduce boilerplate code
gptkbp:is_discussed_in gptkb:Java_conferences
gptkb:Java_Community_Process
Webinars
Online forums
Java user groups
Java community forums
Java forums
Java mailing lists
Open JDK mailing lists
Java developer blogs
Java developer communities
gptkbp:is_documented_in gptkb:Open_JDK
API specifications
Java specifications
Java tutorials
JDK 17 Release Notes
Java SE 18 release notes
Java enhancement proposals
Official JDK documentation
Open JDK documentation
Release documentation
official JDK documentation
JEP 407 specification
gptkbp:is_evaluated_by gptkb:Java_SE_community
Technical committees
Quality control teams
Industry analysts
Java SE team
Java SE experts
JDK reviewers
gptkbp:is_expected_to enhance performance
improve code readability
gptkbp:is_implemented_in gptkb:JDK_17
gptkb:Java_programming_language
gptkb:JDK_14
gptkb:JDK_18
gptkb:Java_Development_Kit_(JDK)
gptkb:Open_JDK
Java developers
Implemented in the Java compiler.
Completed.
Implemented in JDK 17.
JDK 18 implementation.
The implementation is part of the JDK.
Ensuring compatibility with existing code.
Java 14 features
Addressed during development.
Open JDK 17
Part of the JDK 17 release.
Java 11.0.7
Changes to the Java compiler.
gptkbp:is_influenced_by User feedback
industry trends
user feedback
Industry trends
previous JEPs
gptkbp:is_linked_to gptkb:JEP_408
gptkb:JEP_410
gptkbp:is_managed_by gptkb:Open_JDK_Community
gptkbp:is_motivated_by To allow more control over which classes can implement an interface.
To improve the predictability of floating-point computations.
gptkbp:is_part_of gptkb:JDK_17
gptkb:Java_Platform_Module_System
gptkb:Java_SE_17
gptkb:Java_SE_Platform
gptkb:Java_2_Platform
gptkb:Java_SE_platform
gptkb:Java_SE_14
gptkb:Java_ecosystem
gptkb:Java_SE_15
gptkb:Java_Development_Kit_(JDK)
Java development process
Java language evolution
Java language features
Java platform evolution
Java language specification
JDK 15 release notes
Java 17 release
Java's evolution
Java's evolution strategy
Java's feature set
Java's future direction
Java's modernization efforts
Java's ongoing development
Java SE 18 features
Java SE 18 updates
Java SE 18 enhancements
Java's feature roadmap
Java SE 17 Features
Java's community-driven development.
Java programming enhancements
Java's enhancement process
gptkbp:is_practiced_in Follow strict floating-point guidelines.
gptkbp:is_promoted_by Java user groups
Software development communities
Java advocates
gptkbp:is_referenced_in Online courses
Educational materials
Java SE 17 Specification
Available in JDK 17.
Java SE 19 proposals
Subsequent JEPs
gptkbp:is_related_to gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_386
gptkb:JEP_387
gptkb:JEP_389
gptkb:JEP_390
gptkb:JEP_391
gptkb:JEP_392
gptkb:JEP_393
gptkb:JEP_394
gptkb:JEP_395
gptkb:JEP_396
gptkb:JEP_397
gptkb:JEP_398
gptkb:JEP_399
gptkb:JEP_400
gptkb:JEP_401
gptkb:JEP_402
gptkb:JEP_403
gptkb:JEP_404
gptkb:JEP_405
gptkb:JEP_406
gptkb:JEP_408
gptkb:JEP_410
JEP 411: Deprecate the Security Manager for Removal
gptkbp:is_reviewed_by gptkb:Java_Community_Process
Peer reviewers
Technical committees
community contributors
Technical experts
Java community members
Java experts
Approved.
Java professionals
gptkbp:is_supported_by gptkb:Java_frameworks
gptkb:Java_Development_Kit_(JDK)
gptkb:Java_community
gptkb:Java_libraries
gptkb:Open_JDK
Community forums
Java IDEs
Documentation teams
Java SE 18 features
Java SE 18 runtime
Java SE 18 runtime environment
Java 14 runtime
gptkbp:is_targeted_at Enterprise applications
Java developers
Java application developers
gptkbp:is_tested_for Java applications
Beta testers
Quality assurance teams
Java testing frameworks
Extensive testing required.
Java environments
Extensive test cases provided.
Test cases were created to validate the implementation.
JUnit.
gptkbp:is_used_by Frameworks
gptkbp:is_used_in Java applications
gptkbp:is_utilized_by Software applications
gptkbp:is_visible_from High visibility in the Java ecosystem.
gptkbp:issues JDK-8241234
gptkbp:issues_reports_on https://bugs.openjdk.java.net/browse/ JDK-8261234
gptkbp:jdk18_apis New APIs added in JDK 18.
gptkbp:jdk18_apis_list List of APIs in JDK 18.
gptkbp:jdk18_backward_compatibility Backward compatibility for JDK 18.
gptkbp:jdk18_backward_compatibility_policy Backward compatibility policy for JDK 18.
gptkbp:jdk18_bug_fix_policy Bug fix policy for JDK 18.
gptkbp:jdk18_bug_fixes Bug fixes in JDK 18.
gptkbp:jdk18_community Community involvement in JDK 18.
gptkbp:jdk18_community_involvement Community involvement in JDK 18.
gptkbp:jdk18_documentation Documentation updates for JDK 18.
gptkbp:jdk18_documentation_updates Documentation updates for JDK 18.
gptkbp:jdk18_end_of_life End of life for JDK 18.
gptkbp:jdk18_end_of_life_policy End of life policy for JDK 18.
gptkbp:jdk18_enhancements Enhancements made in JDK 18.
gptkbp:jdk18_enhancements_list List of enhancements in JDK 18.
gptkbp:jdk18_feature_freeze Feature freeze for JDK 18.
gptkbp:jdk18_feature_freeze_policy Feature freeze policy for JDK 18.
gptkbp:jdk18_features New features introduced in JDK 18.
gptkbp:jdk18_feedback Feedback mechanisms for JDK 18.
gptkbp:jdk18_feedback_mechanisms Feedback mechanisms for JDK 18.
gptkbp:jdk18_final_build Final build of JDK 18.
gptkbp:jdk18_final_build_policy Final build policy for JDK 18.
gptkbp:jdk18_final_release Final release of JDK 18.
gptkbp:jdk18_final_release_details Details of final release of JDK 18.
gptkbp:jdk18_java_fx Java FX updates in JDK 18.
gptkbp:jdk18_java_fxupdates Java FX updates in JDK 18.
gptkbp:jdk18_jvm JVM improvements in JDK 18.
gptkbp:jdk18_jvmimprovements JVM improvements in JDK 18.
gptkbp:jdk18_libraries Library updates in JDK 18.
gptkbp:jdk18_libraries_list List of libraries in JDK 18.
gptkbp:jdk18_modules Module system updates in JDK 18.
gptkbp:jdk18_modules_list List of modules in JDK 18.
gptkbp:jdk18_new_features New features in JDK 18.
gptkbp:jdk18_performance Performance improvements in JDK 18.
gptkbp:jdk18_performance_improvements Performance improvements in JDK 18.
gptkbp:jdk18_release_candidate Release candidate for JDK 18.
gptkbp:jdk18_release_candidate_build_policy Release candidate build policy for JDK 18.
gptkbp:jdk18_release_candidate_builds Release candidate builds for JDK 18.
gptkbp:jdk18_release_candidate_details Details of release candidate for JDK 18.
gptkbp:jdk18_release_notes Release notes for JDK 18.
gptkbp:jdk18_release_notes_list Release notes for JDK 18.
gptkbp:jdk18_security Security enhancements in JDK 18.
gptkbp:jdk18_security_enhancements Security enhancements in JDK 18.
gptkbp:jdk18_security_update_policy Security update policy for JDK 18.
gptkbp:jdk18_security_updates Security updates for JDK 18.
gptkbp:jdk18_support Support policies for JDK 18.
gptkbp:jdk18_support_policies Support policies for JDK 18.
gptkbp:jdk18_testing Testing strategies for JDK 18.
gptkbp:jdk18_testing_strategies Testing strategies for JDK 18.
gptkbp:jdk18_tools New tools introduced in JDK 18.
gptkbp:jdk18_tools_list List of tools in JDK 18.
gptkbp:key Floating-point operations will be more predictable.
gptkbp:key_drawbacks Increased complexity.
gptkbp:key_feature gptkb:JDK_17
gptkbp:language Floating-point arithmetic.
gptkbp:latest_version gptkb:18
gptkb:Java_17
15.0.0
1.0.
JDK 17.
Version controlled in Open JDK.
Final release build available.
gptkbp:legacy Legacy of improved type safety.
gptkbp:library May require updates to libraries.
gptkbp:notable_contributor gptkb:Markus_Karg
Java developers community
gptkbp:notable_production No breaking changes.
gptkbp:originated_in more expressive code
gptkbp:part_of gptkb:Java_SE_18
gptkbp:performance Minimal performance impact.
May improve performance in some cases.
Performance may vary depending on the application.
gptkbp:plot_summary Sealed interfaces provide a way to restrict which classes can implement an interface.
This JEP proposes to change the semantics of floating-point operations to be always strict.
gptkbp:project Open JDK.
Enhance Java language features.
Completed in the JDK 17 timeline.
Delivered as part of JDK 17.
Managed by the Open JDK project.
Improve floating-point reliability.
gptkbp:proposed_by gptkb:Brian_Goetz
gptkb:Oracle
gptkb:Oracle_Corporation
Java language evolution
Java Community.
aims to streamline Java development
aims to enhance language expressiveness
aims to improve code maintainability
Language changes in JDK 17
aims to enhance Java's capabilities
aims to enhance language usability
aims to improve developer experience
aims to modernize Java syntax
improving switch statements
JDK 14 Language Enhancements
JDK 15 Compiler Changes
gptkbp:provides enhanced documentation
new syntax for switch statements
Guidelines for deprecation
enhanced diagnostics
gptkbp:published_by gptkb:Java_Magazine
JDK team
JDK 17 Documentation
gptkbp:published_in September 2020
July 2021
September 2021
Open JDK website
gptkbp:purpose Improve startup time and reduce memory footprint
gptkbp:related_concept gptkb:IEEE_754
Aligns with modern programming paradigms.
gptkbp:related_jeps gptkb:JEP_411
gptkb:JEP_406
gptkb:JEP_409
gptkb:JEP_418
gptkbp:related_to gptkb:JEP_411
gptkb:Java_SE_17
gptkb:Java_SE_Platform
gptkb:Java_FX
gptkb:Java_Development_Kit_(JDK)
JEP 411: Deprecate the Security Manager
gptkbp:release_date September 2020
March 2022
September 2021
2022-03-22
gptkbp:release_frequency 6 months
gptkbp:release_notes Included in JDK 17 release notes.
Release notes to be published.
gptkbp:release_type Feature Release
gptkbp:released gptkb:JDK_17
gptkb:Java_SE_17
Part of the regular JDK release cycle.
Bug fixes included.
Release candidate builds available.
gptkbp:requires JDK 17 or later
JDK 11 or later
gptkbp:reviews gptkb:Alex_Buckley
gptkb:Mark_Reinhold
JDK Release Team
Various members of the Open JDK community.
Conducted before approval.
The JEP underwent a review process.
gptkbp:scope JDK 18 features and enhancements.
gptkbp:security No significant security impact.
gptkbp:serving_temperature Feature freeze date established.
gptkbp:specification gptkb:Java_Language_Specification
Class Data Sharing (CDS)
The specification is included in the JDK documentation.
gptkbp:stakeholders Engaged with Java community.
Java community.
Java developers.
Java developers and architects.
gptkbp:status gptkb:Final
gptkbp:success Successful adoption by the community.
gptkbp:success_rate Measured by adoption and usage.
Measured by community adoption.
gptkbp:support Long-term support not guaranteed.
gptkbp:supports enhanced pattern matching
gptkbp:target_jdk gptkb:JDK_17
gptkb:JDK_11
gptkb:JDK_15
gptkb:JDK_18
gptkbp:targets gptkb:mac_OS
gptkbp:title gptkb:New_mac_OS_Rendering_Pipeline
Sealed Interfaces
New mac OS rendering pipeline
Class Data Sharing
JDK 18 Release Process
Always-Strict Floating-Point Semantics
gptkbp:updates Security updates provided.
Possible updates based on user experience.
gptkbp:usage Used to define a restricted class hierarchy.
gptkbp:use_case Scientific computing.
gptkbp:user_feedback Collected during the proposal phase.
gptkbp:user_manual User guide available for developers.
gptkbp:vision Evolving the Java language.
Establishing a standard for floating-point operations.
gptkbp:was_a_result_of community collaboration
gptkbp:bfsParent gptkb:JEP_33
gptkb:JDK_15
gptkb:JDK_18
gptkb:JEP_488
gptkbp:bfsLayer 5