JEP 341

GPTKB entity

Statements (238)
Predicate Object
gptkbp:instance_of gptkb:API
gptkb:Java_Enhancement_Proposal
gptkbp:bfsLayer 4
gptkbp:bfsParent gptkb:JEP_33
gptkb:JDK_10
gptkb:Java_10
gptkbp:affects Software applications
Java developers
Java applications.
gptkbp:aims_to simplify testing
gptkbp:approves Open JDK community.
gptkbp:benefits Improved performance on mac OS.
Improves startup performance.
Enhances interface evolution
gptkbp:collaborated_with Java developers.
By multiple contributors.
Java developer collaborations.
gptkbp:contains API changes
Security updates
Performance improvements
gptkbp:contributed_to Java performance optimization.
gptkbp:contribution Enhances interface capabilities
gptkbp:created 2016-09-30
gptkbp:date 2020-09-15
gptkbp:discusses https://openjdk.java.net/jeps/341
gptkbp:enables Sharing of class metadata.
gptkbp:enhances Class Data Sharing feature.
gptkbp:example My Interface obj = new My Class(); obj.my Method();
Collection interface with default methods
public class My Class implements My Interface { }
public interface My Interface { default void my Method() { } }
gptkbp:features New features in JDK 17
gptkbp:first_published 2017-07-19
https://www.w3.org/2000/01/rdf-schema#label JEP 341
gptkbp:impact Enhances the Optional interface.
Allows adding new methods to interfaces without breaking existing implementations
gptkbp:improves testing capabilities
Application startup time.
gptkbp:includes Enhancements
Bug fixes
New features
new assertions
gptkbp:ingredients gptkb:JDK_17
gptkb:JDK_17_Early_Access
JDK 17 GA
JDK 17 LTS
JDK 17 Updates
gptkbp:introduced gptkb:Java_Development_Kit_11
gptkb:Java_8
gptkb:JDK_14
gptkbp:is_adopted_by Java developers.
Java SE 14.
Widely adopted in Java 8 and later versions
gptkbp:is_aimed_at gptkb:JDK_11
gptkbp:is_analyzed_in Java performance analysis.
Java performance analysts.
gptkbp:is_cited_in Java performance studies.
gptkbp:is_described_as Introduces a new rendering pipeline for mac OS.
JDK 15 Release Notes
New Testing Features
gptkbp:is_discussed_in Java conferences.
Open JDK mailing lists.
gptkbp:is_documented_in Java SE documentation.
Official JDK documentation
Java SE documentation team.
Java documentation teams.
gptkbp:is_evaluated_by Java performance benchmarks.
Java performance evaluations.
gptkbp:is_implemented_in gptkb:software
gptkb:JDK_14
Java developers.
Default CDS archives are created automatically.
JDK developers.
Java runtime enhancements.
Part of the Java SE 8 release
gptkbp:is_influenced_by Previous JE Ps.
gptkbp:is_part_of gptkb:Java_SE_Platform
gptkb:Java_Enhancement_Proposal
Java SE platform.
Java SE 14.
gptkbp:is_promoted_by Java community.
Java community initiatives.
gptkbp:is_referenced_in Java performance literature.
Java performance studies.
Other JE Ps.
gptkbp:is_related_to gptkb:JEP_411
gptkb:JEP_370
gptkb:JEP_378
gptkb:JEP_384
gptkb:JEP_385
gptkb:JEP_386
gptkb:JEP_387
gptkb:JEP_388
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_407
gptkb:JEP_408
gptkb:JEP_409
gptkb:JEP_410
JEP 220: Enhance Class Data Sharing.
gptkbp:is_reviewed_by JDK Committers
Java expert reviews.
Java experts.
Open JDK review process.
gptkbp:is_supported_by Java SE 14.
Java runtime.
gptkbp:is_tested_for Java testing frameworks.
Java SE testing.
Java testing teams.
Open JDK testing framework.
gptkbp:is_used_in Java applications.
gptkbp:is_utilized_in Java applications.
gptkbp:key gptkb:Default_methods
Private methods in interfaces
Support for method references
Default methods can be used to add new functionality to existing interfaces
Default methods can be used to provide default implementations for interface patterns
Default methods can be used to provide default implementations for interface methods
Default methods can call other methods in the interface
Default methods can be used to provide default implementations for interface behaviors
Default methods can be used to provide default implementations for utility methods
Default methods can be used to provide default implementations for interface capabilities
Allows for more expressive AP Is
Backward compatibility with existing code
Conflict resolution for default methods
Default methods can have a body
Default methods can improve code readability
Default methods can reduce boilerplate code
Default methods can simplify interface design
Encourages use of interfaces over abstract classes
Facilitates functional programming style in Java
Improved API design flexibility
Default methods can be used to provide default implementations for interface strategies
Promotes code reuse through default methods
Default methods can be used to implement mixin-like behavior
Default methods can be used to provide default implementations for interface attributes
Static methods in interfaces
Supports method overriding in implementing classes
Default methods can be used to provide default implementations for interface systems
Default methods can be used to provide default implementations for interface properties
Default methods can be used to provide default implementations for interface services
Default methods can be used to provide default implementations for interface solutions
Default methods can be used to provide default implementations for interface architectures
Default methods can enhance the usability of interfaces
Default methods can be used to provide default implementations for abstract methods
Default methods can be used to provide default behavior
Default methods can be used to provide default implementations for interface functionalities.
Default methods can be used to provide default implementations for interface specifications
Default methods can be used to provide default implementations for inherited methods
Default methods can be used to provide default implementations for interface methodologies
Default methods can be used to provide default implementations for interface designs
Default methods can be used to provide common functionality across multiple implementations
Default methods can be used to provide default implementations for interface guidelines
Default methods can be used to provide default implementations for interface standards
Default methods can be used to provide default implementations for interface frameworks
Default methods can be used to provide default implementations for interface structures
Default methods can be used to provide default implementations for common operations
Default methods can be overridden by implementing classes
Default methods can be used to provide default behavior for optional methods
Default methods can be used to provide default implementations for new methods
Default methods can be used to provide default implementations for interface components
Default methods can be used to provide default implementations for interface practices
Default methods can be used to provide default implementations for overridden methods
Default methods can be used to provide default implementations for helper methods
Default methods can be used to provide default implementations for interface operations
Default methods can be used to provide default implementations for interface rules
Default methods can be used to provide default implementations for interface functionalities
Multiple inheritance of behavior through default methods
Default methods can be used to provide default implementations for interface contracts
Default methods can be used to provide default implementations for interface features
Default methods can be used to provide default implementations for interface applications
Default methods can be used to provide default implementations for interface elements
Default methods can be used to provide default implementations for interface conventions
Default methods can help in creating more modular code
Default methods can help in API evolution without breaking changes
gptkbp:latest_version gptkb:Java_SE_8
gptkbp:managed_by gptkb:Open_JDK_Community
gptkbp:plot_summary This JEP proposes to add a default method to the Optional interface.
This JEP proposes to enhance the Class Data Sharing (CDS) feature.
gptkbp:proposed_by gptkb:Database_Management_System
gptkb:Brian_Goetz
gptkb:Mark_Reinhold
JDK community
gptkbp:provides enhanced test reporting
Default archive for classes.
gptkbp:published_by September 2020
March 2020
Open JDK website.
gptkbp:purpose Allow interfaces to have default methods
Introduce default methods in interfaces
gptkbp:related_jeps gptkb:JEP_411
gptkb:JEP_382
gptkb:JEP_384
gptkb:JEP_391
gptkbp:related_to gptkb:Java_8
gptkb:Java_SE_15
gptkb:Java_Enhancement_Proposal
Lambda expressions
Functional interfaces
Class Data Sharing
gptkbp:release_date 2021-09-14
gptkbp:released gptkb:Java_SE_17
gptkb:Java_SE_9
JDK 17 Release Notes
gptkbp:requires gptkb:JEP_220
gptkbp:specifies Default CDS archives.
gptkbp:status gptkb:Final
gptkbp:supports Dynamic class loading.
gptkbp:targets gptkb:JDK_17
gptkb:JDK_14
gptkb:JDK_15
gptkbp:title gptkb:New_mac_OS_Rendering_Pipeline
Default CDS Archives
Default Methods in Interfaces
Default Method for Optional in Interfaces
JDK 17 Release Schedule
Default Methods for Interfaces
gptkbp:user_reviews gptkb:Gilad_Bracha
gptkb:Joshua_Bloch
gptkb:Brian_Goetz
gptkb:Venkat_Subramaniam
gptkb:Mark_Reinhold