Statements (777)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:Java_2_Platform
gptkb:JEP |
gptkbp:adapted_into |
Aligned with Java's performance goals.
|
gptkbp:addresses |
memory management issues
testing challenges Type casting issues |
gptkbp:adds |
new testing features
|
gptkbp:advances |
Java testing methodologies
|
gptkbp:affects |
Java developers
|
gptkbp:aims_to |
enhance performance monitoring
simplify testing process Improve the expressiveness of the Java programming language |
gptkbp:aims_to_improve |
test reliability
application throughput |
gptkbp:analysis |
Supports data visualization.
|
gptkbp:approves |
March 2020
March 2021 |
gptkbp:author |
gptkb:Alan_Bateman
gptkb:Brian_Goetz gptkb:Javac_Team gptkb:Mark_Reinhold JDK Team JEP Committee JDK Release Team Mark Reinhold. |
gptkbp:benefits |
Improves code readability.
Successful implementation in JDK 17. Improves maintainability and readability of code. Improved application responsiveness. Facilitates better API design. Allows for more controlled inheritance. Enables exhaustive pattern matching. Reduces the risk of unwanted subclassing. Simplifies complex conditional logic. Improved observability of Java applications. Reduced latency during garbage collection. Better control over class hierarchies. Enhanced type safety. Achieved key performance improvements. Allows for more controlled type hierarchies. |
gptkbp:category |
Core.
|
gptkbp:cause |
To reduce complexity in the JDK.
|
gptkbp:challenges |
Complexity in implementation.
Complexity of concurrent processing. Requires careful design of class hierarchies. |
gptkbp:client |
JFR clients
|
gptkbp:collaborated_with |
Java community projects
Java performance teams Java performance initiatives |
gptkbp:collaboration |
Involves multiple contributors.
|
gptkbp:collaborative_projects |
Involves multiple stakeholders.
|
gptkbp:collection |
Efficient data collection.
|
gptkbp:commit_date |
2021-07-01
|
gptkbp:community |
Active user community.
Java Community Process. |
gptkbp:community_engagement |
Ongoing.
Encourages community engagement. Engaged with the developer community. Engaged with the Java community. Active discussions on enhancements. |
gptkbp:community_feedback |
Positive.
Supportive. Incorporated community feedback. Positive feedback from the Java community. Gathered from Java community. Incorporated into the proposal. Addressed concerns about complexity. Encouraged by industry adoption. Received positive responses for type safety. Positive feedback from Java community. |
gptkbp:community_impact |
Encourages migration to newer technologies.
Significant contributions to Java ecosystem. |
gptkbp:community_involvement |
High.
Involvement from various stakeholders. Involvement from various Java user groups. |
gptkbp:community_support |
Strong community support.
Strong. Active community support. Strong support from the Java community. Strong support from Java developers. Strong backing from Java community. |
gptkbp:compatibility |
Backward compatible with existing Java code.
Backward compatible with existing switch. Backward compatible. Maintains backward compatibility. Backward compatible with existing interfaces. Backward compatibility will be affected for JMX users. |
gptkbp:concluded_on |
September 2021
Encourages better software design. Enhances the Java programming experience. Sealed classes provide a powerful tool for developers. Sealed interfaces provide a powerful tool for type safety. |
gptkbp:configuration |
JFR configuration options
|
gptkbp:conformance |
Follows Java SE specifications.
Conforms to Java language standards. Must declare permitted subclasses. Can be used with enums. Can be used with interfaces. Can be used with records. Must conform to the rules of sealed classes. Cannot be subclassed outside of permitted subclasses. Aligns with modern development practices. Conforms to JDK standards. |
gptkbp:consequences |
Encourages use of Jakarta EE
Encourages use of alternative libraries Code using these modules will need to be updated. |
gptkbp:contains |
Multiple examples provided in the proposal.
|
gptkbp:contributes_to |
Java performance tuning
Performance improvements in Java applications. |
gptkbp:contribution |
Improves maintainability.
Contributed by the Open JDK community. Significant contribution to Java language. Contribution guidelines available. Contributed to Java's evolution. Streamlines the JDK. Contributes to the Java language's evolution. |
gptkbp:created |
2021-09-15
2020-06-08 2020-03-17 |
gptkbp:data_type |
JFR binary format
|
gptkbp:dependency |
None.
Depends on JFR. |
gptkbp:describes |
gptkb:Pattern_Matching_for_instanceof
gptkb:Sealed_Classes gptkb:JFR:_Event_Streaming New Testing Enhancements in JDK 11 JDK 14 Support performance changes in JDK 14 |
gptkbp:description |
Introduces sealed classes and interfaces to restrict which classes can extend or implement them.
Enhances the switch statement to allow pattern matching. Introduces sealed interfaces to the Java programming language. Introduces sealed classes and interfaces. Introduces sealed interfaces to restrict which classes can implement them. This JEP proposes the addition of sealed interfaces to the Java programming language. Enhances ZGC to process thread stacks concurrently. This JEP proposes the removal of the Java Management Extensions (JMX) modules from the JDK. This JEP proposes to deprecate the Java EE and CORBA modules for removal. Provides a standard mechanism for streaming JFR events. |
gptkbp:development |
Java language team.
|
gptkbp:discusses |
https://openjdk.java.net/jeps/397
Active discussions in Java forums. Open JDK mailing list Open JDK mailing lists. Discussed in Open JDK mailing lists. Security policies in Java. JEP 397 was discussed in the Open JDK mailing lists. |
gptkbp:ecological_role |
Enhances Java's garbage collection capabilities.
|
gptkbp:education |
Rapid user adoption.
Growing among Java developers. |
gptkbp:educational_resources |
Tutorials available online.
|
gptkbp:educational_value |
Used in educational materials.
Aids in learning Java. |
gptkbp:effective_date |
2021-09-14
2021-07-01. |
gptkbp:enables |
Type-safe casting
|
gptkbp:encourages |
best practices in testing
|
gptkbp:end_date |
2022-03-22
2021-07-01. |
gptkbp:enhances |
gptkb:Java_programming_language
Type inference test performance Planned future enhancements. Potential for more pattern types. JIT compiler performance Enhances existing switch functionality. Potential for further stack processing optimizations. |
gptkbp:enhances_compatibility_with |
existing testing frameworks
|
gptkbp:evaluates |
Measured in latency reduction.
|
gptkbp:event_aggregation |
Event aggregation features.
|
gptkbp:event_challenges |
Challenges in event streaming.
|
gptkbp:event_filtering |
Event filtering capabilities.
|
gptkbp:event_storage |
Event storage options.
|
gptkbp:event_streaming_benefits |
Benefits of event streaming.
|
gptkbp:event_streaming_solutions |
Solutions for event streaming challenges.
|
gptkbp:event_streaming_use_cases |
Various use cases for event streaming.
|
gptkbp:event_type |
Multiple event types supported.
Various JFR event types |
gptkbp:example |
switch (obj) { case String s -> ...; }
Combining with records. Defining a sealed class hierarchy. Pattern matching with sealed types. Using permits to specify subclasses. Example of sealed interface usage in Java. sealed class Shape permits Circle, Square. Defining a sealed class with permitted subclasses. non-sealed class Admin. non-sealed class Alert. non-sealed class Circle. non-sealed class Dog. non-sealed class RGB. non-sealed class Report. non-sealed class Savings Account. non-sealed class Sphere. permits class Brightness Filter. permits class CMYK. permits class Car. permits class Cat. permits class Checking Account. permits class Click Event. permits class Contrast Filter. permits class Credit Card. permits class Cube. permits class Email Task. permits class Guest. permits class Hover Event. permits class Invoice. permits class Pay Pal. permits class Rectangle. permits class Reminder. permits class Sms Task. permits class Square. permits class Start Command. permits class Stop Command. permits class Triangle. permits class Truck. sealed class Account. sealed class Animal. sealed class Color. sealed class Document. sealed class Notification. sealed class Shape. sealed class Shape3 D. sealed class User. sealed interface Command. sealed interface Event. sealed interface Filter. sealed interface Payment. sealed interface Shape. sealed interface Task. sealed interface Vehicle. Defining a sealed interface with permitted implementations. Used in defining a restricted set of implementations. Real-time application monitoring. sealed interface Drawable permits Circle, Square. class A permits B, C; class B extends A; class C extends A. interface I permits X, Y; class X implements I; class Y implements I. Used in defining a hierarchy of types. final class App Notification. final class Force Restart Command. final class International Transfer. final class Mountain Bike. final class Premium Account. final class Scheduled Task. final class Temporary User. final class Triangle. non-sealed class Admin User. non-sealed class Car. non-sealed class Credit Card Payment. non-sealed class Email Notification. non-sealed class Email Task. non-sealed class Start Command. permits class Pay Pal Payment. permits class Regular User. sealed class Bank Transfer. sealed class Bicycle. sealed class Credit Account. sealed class Guest User. sealed class Polygon. sealed class Push Notification. sealed class Push Task. sealed class Restart Command. sealed interface Account. sealed interface Notification. sealed interface User. permits class SMSAlert Task. permits class SMSNotification. |
gptkbp:exemplifies |
Code readability
|
gptkbp:exported_to |
Data export capabilities.
|
gptkbp:facilitates |
automated testing
|
gptkbp:features |
Sealed classes.
Pattern Matching, Records. |
gptkbp:feedback |
Community feedback encouraged.
Community feedback was positive. |
gptkbp:feedback_mechanism |
Community forums.
Open JDK mailing lists. Open for community feedback. Continuous improvement based on user feedback. |
gptkbp:final_implementation_date |
2021-07-01.
|
gptkbp:final_review_outcome |
Positive.
|
gptkbp:first_published |
2021-07-01.
|
gptkbp:focuses_on |
performance improvements
|
gptkbp:formulation |
switch (var) { case Type t -> ...; }
sealed interface Interface Name permits Implementation1, Implementation2. sealed class Class Name permits Sub Class1, Sub Class2. |
gptkbp:future_plans |
Exploration of new patterns.
Monitor and evaluate. Monitor usage and consider further removals. Prepare for removal in future JDK versions. Further refinements in future JDKs. |
gptkbp:future_prospects |
Further enhancements to pattern matching.
Further optimizations planned. Monitor usage of Java EE and CORBA. Consider enhancements based on usage. Evaluate feedback from preview. Finalize the feature for a future release. Enhancements to event types. Potential enhancements to sealed types. Assess integration with other language features. Consider enhancements based on user feedback. Evaluate the impact on existing codebases. Explore additional features for sealed types. Investigate performance implications. Explore further enhancements to sealed types. Exploration of future possibilities. Research on advanced pattern matching. |
gptkbp:goal |
Enable real-time monitoring of Java applications.
Make switch statements more expressive. |
gptkbp:has_community |
Java Enhancement Proposals mailing list.
|
gptkbp:has_documentation |
Available for developers.
Comprehensive user documentation. Available on Open JDK website. Comprehensive and accessible. Available in the JDK documentation. Detailed in JDK 17 documentation. |
gptkbp:has_goal |
Minimize GC pause times.
|
gptkbp:has_version |
Updated in JDK 17.
|
gptkbp:historical_achievement |
Achieved in 2021.
Java development history |
gptkbp:historical_period |
Future JDK versions.
Future JDK releases. |
https://www.w3.org/2000/01/rdf-schema#label |
JEP 397
|
gptkbp:impact |
Performance monitoring
Enhances the expressiveness of the Java language. Improves code readability and maintainability. Improves type safety. Minimal impact expected. Minimal. Low risk. Significant on Java performance. Simplifies the JDK Improved application performance. Improves maintainability and readability of code. Allows for more controlled hierarchies in type systems. Applications relying on the Security Manager. Improves pause times for garbage collection. Simplifies type checks and casts Enhances type safety and maintainability. Language and libraries. Changes how inheritance is handled. Minimal disruption. Removes legacy modules from the JDK. Users must migrate away from deprecated modules. Applications that rely on JMX will need to find alternatives. Allows for more controlled hierarchies. |
gptkbp:impact_on_code |
Reduces boilerplate code.
|
gptkbp:impact_on_codebases |
Affects existing codebases.
|
gptkbp:impact_on_java |
Strengthens Java's performance capabilities.
|
gptkbp:impact_on_standards |
Influences Java standards.
|
gptkbp:impact_on_syntax |
Changes syntax for better clarity.
|
gptkbp:implementation_link |
https://openjdk.java.net/jeps/397# Implementation
|
gptkbp:implementation_overview |
Concurrent processing of thread stacks.
|
gptkbp:implementation_review |
Completed.
|
gptkbp:implementation_review_date |
2021-06-30.
|
gptkbp:improves |
Type checking
Code conciseness JUnit 5 support |
gptkbp:includes |
new assertions
Garbage Collector enhancements Specification of sealed classes |
gptkbp:includes_improvements_for |
performance testing
|
gptkbp:influenced_by |
gptkb:JEP_326
|
gptkbp:initial_proposal |
Proposed in 2020.
|
gptkbp:integrates_with |
CI/ CD pipelines
|
gptkbp:integration |
Integrates with existing tools.
|
gptkbp:introduced_in |
gptkb:Java_SE_17
gptkb:Java_SE_14 gptkb:JDK_11 gptkb:JDK_15 gptkb:Java_17 |
gptkbp:involved_technology |
gptkb:Java_Virtual_Machine_(JVM)
Jakarta EE. Java SE. |
gptkbp:involves |
new optimizations
|
gptkbp:is_a_framework_for |
unit testing
behavior-driven development Influences Java frameworks. |
gptkbp:is_a_guide_for |
writing tests in Java
|
gptkbp:is_a_reference_for |
test case design
|
gptkbp:is_a_resource_for |
test automation
Resources available for the community. Tutorials and guides available. |
gptkbp:is_a_tool_for |
integration testing
mocking and stubbing |
gptkbp:is_adopted_by |
gptkb:Open_JDK
enterprise applications open-source projects Enterprise applications Widely adopted in modern Java applications. Low. Widely adopted in the industry. High adoption rate. Adopted in JDK 17. High among Java developers. Java developers community Some resistance from legacy codebases. Adopted by Java developers. Increasing among enterprise applications. Migration from older GC implementations. Used in large-scale enterprise applications. |
gptkbp:is_aimed_at |
enterprise applications
|
gptkbp:is_aligned_with |
modern software development practices
|
gptkbp:is_analyzed_in |
performance analysts
Technical papers system architects performance engineers performance consultants |
gptkbp:is_available_in |
JDK 11 and later versions
|
gptkbp:is_cited_in |
Java documentation
Java performance literature |
gptkbp:is_compatible_with |
Java 8 and later
Previous Java versions |
gptkbp:is_described_as |
Java Tutorials
Java experts Java tutorials developer blogs Java performance guides |
gptkbp:is_discussed_in |
gptkb:Java_Community_Process
Java meetups Java user groups Java community forums Java forums Java webinars |
gptkbp:is_documented_in |
release notes
technical specifications JDK documentation JDK 15 Release Notes Java documentation team JDK Enhancement-Proposal documentation JEP 397 specification |
gptkbp:is_essential_for |
quality assurance
|
gptkbp:is_evaluated_by |
performance assessments
performance reviews software engineers performance testing environments |
gptkbp:is_explored_in |
gptkb:Java_conferences
|
gptkbp:is_implemented_in |
gptkb:JDK_17
gptkb:JDK_15_Compiler gptkb:Java_Development_Kit_(JDK) gptkb:Open_JDK Concurrent processing of thread stacks. JDK Enhancement-Proposal Final. Java. Completed. Ensuring thread safety. Implemented in JDK 17. Java 17 and later versions Part of the Java language. JDK 21. Concurrent stack processing. Details available in the JEP document. JDK 15 Source Code Addressed various implementation challenges. Deprecation in JDK 21. The implementation involves removing the JMX modules from the JDK. Detailed implementation notes provided. Utilizes a concurrent approach for stack processing. |
gptkbp:is_influenced_by |
User feedback
industry trends user feedback community feedback Other programming languages previous JEPs |
gptkbp:is_integrated_with |
Java development tools
|
gptkbp:is_monitored_by |
Compatible with monitoring tools.
Enhanced monitoring capabilities. |
gptkbp:is_motivated_by |
Reduce the size of the JDK
To simplify the JDK and remove outdated technologies. Control the inheritance of classes. Improve the modeling of hierarchies. Enhance the expressiveness of the type system. Security Manager is rarely used. To provide a more declarative way to restrict the classes that can implement an interface. Improve the modeling of class hierarchies. JMX is rarely used in modern applications. |
gptkbp:is_part_of |
gptkb:Java_SE_11
gptkb:Java_2_Platform gptkb:Java_SE_platform gptkb:JDK_11 gptkb:Java_SE_15 Java language evolution Java 17 features Java performance improvements Java SE 14 release Java performance strategy |
gptkbp:is_promoted_by |
gptkb:Java_conferences
gptkb:Oracle Java advocates Java influencers |
gptkbp:is_promoted_through |
Java blogs
|
gptkbp:is_recognized_by |
gptkb:Java_community
|
gptkbp:is_recognized_for |
enhancing developer productivity
|
gptkbp:is_referenced_in |
gptkb:Documentation
academic papers Java documentation software development literature |
gptkbp:is_related_to |
gptkb:JEP_330
gptkb:JEP_386 gptkb:JEP_305 performance benchmarks JEP 409: Sealed Interfaces JEP 360: Sealed Types |
gptkbp:is_reviewed_by |
gptkb:Java_Community_Process
gptkb:Java_Language_Committee Software engineers Java experts Java language experts |
gptkbp:is_scalable |
Supports large-scale applications.
|
gptkbp:is_standardized_by |
Java testing practices
|
gptkbp:is_supported_by |
gptkb:Java_community
gptkb:Java_libraries Java IDEs major IDEs Java performance tools Java performance frameworks |
gptkbp:is_tested_for |
gptkb:JDK_15_Test_Suite
development environments production environments Extensively tested. Java testing frameworks Extensive testing conducted. QA environments Extensively tested in JDK 17. JDK 14 builds |
gptkbp:is_used_in |
Modern Java applications
|
gptkbp:is_utilized_by |
Software developers
Java developers software engineers |
gptkbp:issues |
JDK-8261234
JDK-8265780 |
gptkbp:key |
Legacy modules are deprecated.
Concurrent processing reduces GC pause. |
gptkbp:key_feature |
gptkb:Sealed_classes
gptkb:JDK_11 Pattern Matching Sealed interfaces Allows for more predictable and maintainable code. Sealed classes restrict which classes can extend them. Supports pattern matching. Concurrent stack processing. Non-sealed classes Enhances pattern matching. Permits clause Permits control over class inheritance. Sealed interfaces can only be implemented by specified classes. |
gptkbp:language |
Pattern Matching.
|
gptkbp:latest_version |
1.0
1.0. JDK 17. |
gptkbp:legacy |
No longer provided.
|
gptkbp:library |
Affects Java libraries.
|
gptkbp:modern_relevance |
Highly relevant for modern Java development.
|
gptkbp:module |
Java EE.
CORBA. |
gptkbp:next_review_date |
N/ A.
|
gptkbp:notable_contributor |
gptkb:Alex_Buckley
gptkb:Java_ecosystem |
gptkbp:notable_production |
Affects software development practices.
Facilitates easier coding patterns. Facilitates smoother development cycles. |
gptkbp:notable_release |
2021-09-15
|
gptkbp:originated_in |
Java language
|
gptkbp:outcome |
Enhanced garbage collection efficiency.
|
gptkbp:part_of |
modernize Java
|
gptkbp:performance |
Low overhead.
Optimized for performance. Minimal impact on performance. Performance metrics published. Significant in multi-threaded applications. Positive impact on application performance. Measured in terms of pause time. |
gptkbp:plot_summary |
Deprecation of outdated Java EE and CORBA modules.
Pattern matching for switch enhances the switch statement. |
gptkbp:project |
Completed in 2021.
Project Loom. Continued enhancements planned. Reduce GC pause times. To enhance Java's garbage collection capabilities. To enhance Java's garbage collection. |
gptkbp:projected_outcome |
Successful deprecation.
|
gptkbp:proposed_by |
gptkb:Brian_Goetz
gptkb:Oracle gptkb:Oracle_Corporation gptkb:James_Gosling gptkb:Java_Community_Process gptkb:Javac_Team gptkb:Mark_Reinhold Remove the CORBA modules Remove the Java EE modules Remove the Security Manager. |
gptkbp:protocol |
JFR streaming protocol
|
gptkbp:provides |
better error messages
New language feature Improved instanceof operator |
gptkbp:published_by |
gptkb:Open_JDK
|
gptkbp:real_time_analysis |
Supports real-time analysis.
|
gptkbp:real_time_monitoring |
Real-time monitoring capabilities.
|
gptkbp:reduces |
Boilerplate code
|
gptkbp:related_concept |
gptkb:Inheritance
Interfaces Polymorphism Type safety Abstract classes Type safety. API stability None. Polymorphism. Code maintainability. ISO/ IEC 23270. Pattern matching. Sealed classes. Abstract classes. Inheritance. Interfaces. Java language features. Software design principles. Type hierarchy. Records. Type hierarchies. |
gptkbp:related_jeps |
gptkb:JEP_333
gptkb:JEP_394 gptkb:JEP_290 gptkb:JEP_305 gptkb:JEP_320 gptkb:JEP_406 gptkb:JEP_409 JEP 394. JEP 386, JEP 392. |
gptkbp:related_to |
gptkb:JEP_411
gptkb:JEP_394 gptkb:Java_Flight_Recorder gptkb:Java_SE_14 gptkb:Garbage_Collection gptkb:JEP_406 gptkb:JEP_409 gptkb:JEP_418 JFR (Java Flight Recorder) |
gptkbp:release_date |
March 2020
2021-09-30 September 2021 September 2021. |
gptkbp:release_notes |
Included in JDK 17 release.
Included in Java 17 release notes. |
gptkbp:released |
gptkb:Java_SE_17
gptkb:JDK_11 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_18 gptkb:Java_17 gptkb:JDK_21 |
gptkbp:removal_timeline |
JDK 22.
|
gptkbp:replaced_by |
Java EE and CORBA are no longer widely used.
|
gptkbp:replaces |
JMX has been superseded by other monitoring solutions.
Legacy APIs |
gptkbp:repository |
Open JDK Git Hub repository.
|
gptkbp:requires |
gptkb:Z_Garbage_Collector_(ZGC)
gptkb:JDK_15_runtime JFR API |
gptkbp:result |
Approved.
|
gptkbp:reviews |
gptkb:Gilad_Bracha
gptkb:Brian_Goetz gptkb:Venkat_Subramaniam gptkb:Georges_Saab gptkb:Mark_Reinhold gptkb:Jesse_Glick 2021-06-15 2021-06-30. Alex Buckley. Sharat Chander Various members of the Open JDK community. The JEP was reviewed by the JDK Release Team. https://openjdk.java.net/jeps/397# Review Reviewed by JDK Review Board. |
gptkbp:scope |
Focus on ZGC enhancements.
JDK. |
gptkbp:security |
Access control for event streaming.
|
gptkbp:specification |
gptkb:Java_Language_Specification
Java Language Specification. Defines the syntax and semantics of sealed interfaces. Enhances the instanceof operator Pattern Matching for instanceof Specification JFR Event Streaming Specification Defines the rules for sealed interfaces. |
gptkbp:specifies |
Virtual Machine Specification
|
gptkbp:stakeholders |
Encouraging.
Java developers, Oracle. Java developers. Positive from industry leaders. |
gptkbp:status |
gptkb:Final
gptkb:Preview Standard Feature 2021-07-01. Approved. https://openjdk.java.net/jeps/397# Status Standard Feature Preview Status changed to Final. |
gptkbp:strategy |
enhance Java's competitiveness.
|
gptkbp:streaming_mechanism |
JFR events
|
gptkbp:streaming_platforms |
Supports event streaming.
|
gptkbp:student_enrollment |
Configurable data retention.
|
gptkbp:success |
Achieving lower latency.
|
gptkbp:supports |
test-driven development
Null checks |
gptkbp:sustainability_efforts |
Ongoing support and updates.
|
gptkbp:target_jdk |
gptkb:JDK_17
gptkb:JDK_14 gptkb:JDK_21 |
gptkbp:targets |
Java developers
|
gptkbp:title |
gptkb:Pattern_Matching_for_switch_(Preview)
gptkb:Sealed_Classes Deprecate the Security Manager Sealed Interfaces ZGC: Concurrent Thread-Stack Processing Sealed Classes (preview) Sealed Classes (Standard Feature) Deprecate the Java EE and CORBA Modules for Removal Remove the Java Management Extensions (JMX) Modules JFR Event Streaming (Standard Feature) |
gptkbp:trends |
Trends towards more expressive syntax.
|
gptkbp:type |
JEP.
|
gptkbp:updates |
2021-09-14
2020-03-17 |
gptkbp:usage |
Used in Java programming.
Used in defining restricted class hierarchies. Used in switch expressions. |
gptkbp:use_case |
Type checking in switch statements.
Reducing boilerplate code. Creating extensible frameworks. Defining a closed set of subclasses. Enabling better testing strategies. Encouraging best practices. Encouraging code reuse. Encouraging modular design. Enforcing design constraints. Enhancing API design. Enhancing IDE support. Enhancing security through controlled inheritance. Facilitating better debugging. Facilitating code refactoring. Facilitating code reviews. Facilitating pattern matching. Improving code maintainability. Improving collaboration among developers. Improving overall code quality. Improving performance. Improving type inference. Modeling restricted class hierarchies. Production diagnostics Providing clearer API contracts. Providing clearer error messages. Simplifying complex hierarchies. Supporting better code organization. Supporting better documentation. Supporting domain-driven design. Supporting modular programming. |
gptkbp:user_base |
Java application developers.
|
gptkbp:user_experience |
Improves user experience.
Improved user experience. Improved for end-users. |
gptkbp:user_feedback |
Generally positive.
Positive user feedback. Positive from early adopters. User feedback collected post-release. |
gptkbp:user_manual |
User guide available.
|
gptkbp:vision |
Modernize the Java platform.
|
gptkbp:was_a_response_to |
developer needs
|
gptkbp:was_a_result_of |
collaborative development efforts
|
gptkbp:bfsParent |
gptkb:JEP_33
gptkb:Java_SE_16 gptkb:JDK_10 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_18 gptkb:JEP_488 gptkb:Java_SE_15 gptkb:Java_10 |
gptkbp:bfsLayer |
5
|