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 |