Statements (616)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:Java_2_Platform
gptkb:JEP |
gptkbp:addresses |
Thread stack management in ZGC
|
gptkbp:adoption_in_industry |
Adopted by major companies.
|
gptkbp:adoption_in_open_source |
Widely used in open-source projects.
|
gptkbp:affects |
gptkb:Java_SE_17
|
gptkbp:aims_to |
enhance developer experience
Provide a mechanism to interact with native code and memory Improve observability of Java applications. improve observability |
gptkbp:aims_to_improve |
GC pause times
|
gptkbp:api |
Introduces new classes and methods.
|
gptkbp:applies_to |
gptkb:Java_SE_14
|
gptkbp:author |
gptkb:Brian_Goetz
gptkb:John_Doe gptkb:Javac_Team gptkb:Jeppe_Cramon gptkb:Johan_Vos gptkb:Mark_Reinhold Panagiotis Koutoupis Brian Goetz. Thomas Schatzl |
gptkbp:benefits |
Enhanced user experience.
Low-latency applications Continuous feedback loop. Enhanced graphics performance. Improved graphics rendering. Improves code readability and reduces boilerplate. Improves readability of code. Reduces the need for explicit casting. Improves startup time and reduces memory footprint. Real-time monitoring of applications. Improved application performance. Better performance for applications. Continuous community feedback. User feedback will guide development. Provides better control over type hierarchies. |
gptkbp:case_analysis |
Case studies demonstrating performance improvements.
|
gptkbp:category |
Language Enhancements
|
gptkbp:challenges |
Complexity of implementation
Cross-platform compatibility Performance overhead. Compatibility with existing systems. Compatibility with existing applications. Integration with existing libraries Need for extensive testing User adoption and education Ensuring memory safety Performance trade-offs Complexity of integration. Addressing legacy compatibility issues. Addressing legacy compatibility. |
gptkbp:code |
Code samples provided in the documentation.
Provided in the proposal. |
gptkbp:collaborated_with |
Industry partners
Java development teams |
gptkbp:collaboration |
Enhances collaboration among developers.
Collaboration with Apple. |
gptkbp:collaborative_projects |
Collaboration with industry partners.
Engagement with the developer community. |
gptkbp:collaborator |
Various contributors from the Java community.
|
gptkbp:community |
Recognized as a significant enhancement.
|
gptkbp:community_engagement |
Regular updates to the community.
Encouraged through forums. Engaged with the community for feedback. |
gptkbp:community_events |
Discussed in Java conferences.
|
gptkbp:community_feedback |
Desire for more examples
Encouraged for future proposals. Interest in performance improvements Positive feedback from the Java community. Positive response from developers Request for additional documentation Received positive feedback from the Java community. |
gptkbp:community_involvement |
Open for contributions.
Encouraged for feedback and testing. Involves contributions from various developers. |
gptkbp:community_support |
Strong community support.
Regular updates. Active forums. Active community support. Strong support from the Java community. |
gptkbp:compatibility |
Backward compatible with existing Java code.
Backward compatible with existing Java memory management. |
gptkbp:concluded_on |
Conclusion drawn from the implementation.
A significant enhancement for Java. Improves application performance monitoring. Aims to modernize mac OS rendering. Deprecation is necessary for modernization. |
gptkbp:conference |
Presented at Java conferences.
|
gptkbp:configuration |
Configurable via command-line options.
|
gptkbp:conformance |
Conforms to Java SE specifications.
Conforms to Java SE standards. Conforms to Java language specifications. |
gptkbp:consequences |
Modules will be removed in future releases
|
gptkbp:contributes_to |
Garbage collection efficiency
|
gptkbp:contribution |
Open to community contributions
Partnerships with academic institutions Community contributions. Community contributions welcomed Collaborative development encouraged Contributed to the Open JDK project. Enhances type safety. Introduces a new syntax for type checks. Open for feedback and suggestions Open source contributions accepted. Contributes to the evolution of the Java programming language. Enhances type inference in lambda expressions. Enhances functional programming capabilities. |
gptkbp:contribution_to_best_practices |
Promotes best practices in Java coding.
|
gptkbp:created |
2020-09-15
2021-09-15 |
gptkbp:date_finalized |
2021-03-16
|
gptkbp:dependency |
gptkb:JEP_411
gptkb:JEP_338 gptkb:JEP_384 gptkb:JEP_392 Java SE. Requires JDK 16 or later. Depends on JDK internals. |
gptkbp:describes |
API Documentation for Java SE 15
JDK 14 Support |
gptkbp:description |
Enhances the Java programming language with pattern matching for the instanceof operator.
Provides an API to allow Java programs to safely and efficiently access foreign memory. This JEP proposes the removal of the Java EE and CORBA modules from the JDK. Enhances Class Data Sharing (CDS) to allow the sharing of class metadata across different Java applications. Introduces a new rendering pipeline for mac OS. Allows the use of local-variable syntax for lambda parameters. Enhances the switch statement to allow it to be used as an expression. Provides a mechanism for streaming events from the Java Flight Recorder. Introduces sealed interfaces to restrict which classes can implement them. This JEP proposes to enhance the Java programming language with pattern matching for the instanceof operator. |
gptkbp:design |
Encapsulation of type hierarchies.
|
gptkbp:design_purpose |
gptkb:performance
gptkb:Simplicity Safety Improve code clarity. |
gptkbp:developed_by |
gptkb:Open_JDK_community
|
gptkbp:developer_impact |
Easier development for mac OS.
|
gptkbp:discusses |
September 2020
Implementation details Open JDK mailing list Open JDK mailing list. https://openjdk.java.net/jeps/393 |
gptkbp:ecological_role |
Strengthens Java's functional programming model.
|
gptkbp:ecosystem |
Part of the Java ecosystem.
|
gptkbp:educational_resources |
Available on Open JDK website.
Documentation available on Open JDK. |
gptkbp:educational_value |
Used in teaching advanced Java concepts.
|
gptkbp:effective_date |
September 2021
|
gptkbp:enables |
real-time event consumption
|
gptkbp:end_date |
March 2021
Finalized in JDK 17. |
gptkbp:enhances |
Application performance
Safety in memory access Considered for future JEPs. |
gptkbp:example |
if (obj instanceof String s) { ... }
(var x) -> x + 1 Accessing native data structures Used in large-scale web applications. String result = switch (day) { case MONDAY -> " Start of the week"; } Allocating native memory Calling a native function Event streaming use cases. Provides examples for usage in documentation. Allows defining interfaces that can only be implemented by specific classes. switch (day) { case MONDAY: ...; } |
gptkbp:example_implementation |
final class Circle implements Shape {}
|
gptkbp:example_subclass |
non-sealed class Rectangle implements Shape {}
|
gptkbp:facilitates |
Cross-language interoperability
|
gptkbp:feature |
Allows multiple case labels to be grouped.
Enables switch to be used in a more functional style. Supports yield statement to return a value. |
gptkbp:feedback |
Community feedback encouraged
Community feedback encouraged. Positive from the community. Positive from the developer community. Encouraged from the community. |
gptkbp:feedback_mechanism |
Open JDK mailing lists.
Open for community feedback. Git Hub issues. Open for community input. |
gptkbp:first_released |
Expected in JDK 18.
|
gptkbp:focuses_on |
Thread stack processing
API documentation improvements |
gptkbp:formulation |
Uses the 'sealed' keyword.
|
gptkbp:future_plans |
Gather user feedback
Expand API capabilities Improve performance optimizations Next steps outlined for the community. Finalize implementation. Integrate with other JEPs |
gptkbp:future_prospects |
Further enhancements and stabilization.
Further optimizations planned. Potential enhancements for future JDK versions. Stabilization of API Potential enhancements. Potential enhancements to sealed types. Potential enhancements to lambda syntax. Integration with other JEPs |
gptkbp:goal |
Provide a mechanism to express vector computations
|
gptkbp:goals |
Enhance rendering capabilities.
Streamlined event handling. |
gptkbp:governance |
Managed by Open JDK community
Open JFX governance model. |
gptkbp:has_advisory_board |
Recommended for production environments.
Java FX advisory board. |
gptkbp:has_documentation |
Comprehensive documentation available.
Detailed documentation provided. Comprehensive user documentation. Available on Open JDK site. Available in JDK documentation Available in Java SE documentation. Detailed developer documentation. |
gptkbp:has_implications_for |
Java performance optimization
|
gptkbp:has_limitations |
Not all classes can be shared.
Limited to certain use cases. |
gptkbp:has_version |
Version 1.0 released with JDK 16.
|
https://www.w3.org/2000/01/rdf-schema#label |
JEP 393
|
gptkbp:impact |
Java developers
Improved user experience. Impact analysis conducted. Changes how switch statements are written. Enhances Java's performance capabilities Facilitates modern application development Improves code readability and reduces boilerplate. Improves code readability for vector operations Simplifies the syntax for lambda expressions. Supports vectorized operations Applications using CDS will benefit from reduced memory usage. Applications using Java EE and CORBA will need to migrate to alternative solutions. Potentially broad impact on Java applications Enhances the Java ecosystem. Improves maintainability and readability of code. Establishing performance benchmarks. Graphics performance on mac OS. Mitigated through testing. Performance benchmarks to be defined. Performance metrics to be established. JMX functionality will be removed |
gptkbp:impact_on_apidesign |
Influences API design in Java.
|
gptkbp:impact_on_code_maintenance |
Facilitates easier code maintenance.
|
gptkbp:impact_on_code_reviews |
Facilitates better code reviews.
|
gptkbp:impact_on_development_practices |
Encourages modern development practices.
|
gptkbp:impact_on_learning_curve |
Reduces complexity for new developers.
|
gptkbp:impact_on_legacy_code |
Minimal impact on legacy code.
|
gptkbp:impact_on_performance_testing |
No adverse effects noted.
|
gptkbp:impact_on_software_development_life_cycle |
Affects the software development lifecycle positively.
|
gptkbp:impact_on_syntax |
Introduces new syntax for lambda parameters.
|
gptkbp:impact_on_tooling |
Improves tooling support for lambda expressions.
|
gptkbp:improves |
Pause times during garbage collection
Performance of native calls |
gptkbp:includes |
Performance metrics
new features |
gptkbp:innovation |
Innovative rendering techniques.
Adoption of new rendering technologies. |
gptkbp:integration_with_java_fx |
Compatible with Java FX.
|
gptkbp:integration_with_other_features |
Works with existing Java features.
|
gptkbp:interface |
sealed interface Shape {}
|
gptkbp:introduced_in |
gptkb:JDK_17
gptkb:Java_14 gptkb:Java_11 gptkb:JDK_14 gptkb:Java_17 gptkb:Java_SE_15 |
gptkbp:involved_technology |
gptkb:Microservices
gptkb:JNA_(Java_Native_Access) gptkb:Java_Virtual_Machine gptkb:cloud_computing gptkb:Java_Development_Kit_(JDK) gptkb:Java_Virtual_Machine_(JVM) gptkb:Open_VMS gptkb:Open_JDK gptkb:JNI_(Java_Native_Interface) Metal API FFI (Foreign Function Interface) Cloud computing. Big data. Microservices. Java SE. |
gptkbp:is_a_framework_for |
Adopted by popular Java frameworks.
|
gptkbp:is_a_resource_for |
Various tutorials available.
|
gptkbp:is_about |
gptkb:Foreign_Function_&_Memory_API_(Incubator)
|
gptkbp:is_adopted_by |
Open-source projects
Enterprise applications Java developers Adopted by several projects. Challenges faced during adoption. High adoption rate in enterprise applications. High among Java developers. Early adopters in the Java community Widely adopted in production systems. Learning curve for existing developers. Expected in future mac OS applications. Widely adopted in Java 11. Widely adopted in new Java projects. |
gptkbp:is_aligned_with |
gptkb:Java's_modular_system
Java's performance goals |
gptkbp:is_analyzed_in |
Technical papers
Technical analysts |
gptkbp:is_anticipated_by |
Enhance developer productivity
Reduce boilerplate code in JNI |
gptkbp:is_cited_in |
Java documentation
|
gptkbp:is_compared_to |
Compared to previous CDS implementations.
Other garbage collectors Similar to sealed classes. |
gptkbp:is_compatible_with |
gptkb:Java_SE_platform
|
gptkbp:is_considered |
Future Java versions
|
gptkbp:is_described_as |
Java tutorials
|
gptkbp:is_discussed_in |
Technical blogs
Java community forums Java forums Java user conferences |
gptkbp:is_documented_in |
gptkb:JEP
Open JDK documentation Java documentation teams |
gptkbp:is_essential_for |
gptkb:High
|
gptkbp:is_evaluated_by |
Industry experts
Performance benchmarks Performance analysts Java SE experts |
gptkbp:is_expected_to |
Simplify native interop in Java
|
gptkbp:is_explored_in |
gptkb:Java_conferences
Research projects Technical discussions Research on native interop |
gptkbp:is_implemented_in |
gptkb:Java_FX
gptkb:Java_Hot_Spot_VM gptkb:Open_JDK_Project_Loom gptkb:Open_JDK Completed In progress Implemented in the Java compiler. Incubator module in JDK. In progress. Java. Completed. Detailed implementation information available. Implemented in JDK 17. Implemented in the Hot Spot JVM. Incubator module in JDK JDK 11 and later. Part of the Java language. Part of the JDK. |
gptkbp:is_influenced_by |
User feedback
C foreign function interfaces |
gptkbp:is_informed_by |
gptkb:JEP_412
|
gptkbp:is_integrated_with |
gptkb:Java_ecosystem
|
gptkbp:is_motivated_by |
Improve performance of vector operations
Reduce the size of the JDK To optimize the performance of Java applications. To improve performance by allowing direct access to native memory. To reduce the size of the JDK and remove obsolete technologies. Enhance the expressiveness of the type system. Improve performance and compatibility. Simplify the Java SE platform |
gptkbp:is_part_of |
gptkb:Java_2_Platform
gptkb:Java_SE_platform gptkb:Project_Loom Java platform evolution Java 17 features Java performance improvements |
gptkbp:is_practiced_in |
Use with applications that have a large number of classes.
|
gptkbp:is_promoted_by |
gptkb:Java_conferences
Java advocacy groups |
gptkbp:is_promoted_through |
Webinars
|
gptkbp:is_referenced_in |
Software engineering literature
Java development guides |
gptkbp:is_related_to |
gptkb:JEP_384
gptkb:JEP_424 |
gptkbp:is_reviewed_by |
gptkb:Java_Community_Process
gptkb:Java_community Technical reviews Approved. JDK community |
gptkbp:is_supported_by |
gptkb:Java_SE_17
gptkb:Open_JDK Java runtime environment Java user groups Java community initiatives |
gptkbp:is_tested_for |
Real-world scenarios
Quality assurance teams Extensively tested in JDK 11. Extensively tested in various environments. Extensively tested in various scenarios. Open JDK testing framework Extensive testing planned. JDK testing framework |
gptkbp:is_updated_by |
JEP process
|
gptkbp:is_utilized_by |
Cloud services
Enterprise applications |
gptkbp:is_utilized_in |
High-performance applications
|
gptkbp:issues |
JDK-8261234
JDK-8241234 |
gptkbp:key |
Key takeaways from the proposal.
Sealed interfaces provide better control over type hierarchies. |
gptkbp:key_feature |
Support for hardware acceleration
API for vector operations Class metadata sharing. Compatibility with existing Java code Foreign function calls Memory access API Safety and performance improvements Type-safe vector operations Sealed interfaces. Utilizes Metal for rendering. Memory allocation, access, and deallocation. |
gptkbp:language |
Type system enhancement.
|
gptkbp:latest_version |
gptkb:JEP_393
gptkb:Java_SE_14 1.0 1.0 (Incubator) Introduced in JDK 17. Incubator version |
gptkbp:library |
Used in various Java libraries.
|
gptkbp:memory_reduction |
Reduces memory usage by sharing class metadata.
|
gptkbp:notable_contributor |
Open source projects
|
gptkbp:notable_production |
Minimal.
|
gptkbp:notable_release |
2020-10-01
|
gptkbp:offers_courses_in |
Webinars available for learning.
|
gptkbp:offers_workshops_on |
Workshops conducted for developers.
|
gptkbp:performance |
Latency.
Throughput. Resource utilization. Benchmark results available. Improves performance for certain applications. Minimal impact on performance. Performance metrics published. Up to 30% faster startup. Benchmarks to be established. No significant impact. Existing JNI implementations |
gptkbp:platform |
gptkb:mac_OS
|
gptkbp:platforms |
Cross-platform support.
|
gptkbp:plot_summary |
Summary of the proposal available.
New rendering pipeline for better performance. This JEP proposes the removal of the JMX modules from the JDK. |
gptkbp:product_quality |
Improves overall code quality.
|
gptkbp:project |
Enhance user experience.
Phased implementation. Phased rollout. Open JDK. Align with modern graphics standards. Enhance performance and usability. Implementation in stages. Java FX projects. Managed by Open JFX community. Managed by Open JFX. Modernize Java FX graphics. Oversight by Open JFX. Related to other JEPs. |
gptkbp:proposed_by |
gptkb:Brian_Goetz
gptkb:Oracle gptkb:Oracle_Corporation gptkb:Javac_Team gptkb:Open_JFX_community gptkb:Open_JDK JDK Enhancement Proposals JDK Project Concurrent processing of thread stacks in Z Garbage Collector Deprecate the Java EE and CORBA Modules for Removal |
gptkbp:provides |
Memory Access API
event streaming capabilities Foreign Function API better accessibility to documentation |
gptkbp:published_by |
Open JDK mailing lists
|
gptkbp:purpose |
Provide a mechanism to interact with native code and memory in a safe manner.
|
gptkbp:real_world_usage |
Adopted in enterprise applications.
|
gptkbp:reduces |
Complexity of native code integration
|
gptkbp:related_concept |
Polymorphism.
ISO/ IEC 23270. |
gptkbp:related_jeps |
gptkb:JEP_411
gptkb:JEP_384 gptkb:JEP_391 gptkb:JEP_392 gptkb:JEP_220 gptkb:JEP_320 gptkb:JEP_326 gptkb:JEP_328 gptkb:JEP_412 JEP 360, JEP 411. |
gptkbp:related_to |
gptkb:JEP_394
gptkb:JEP_395 gptkb:Sealed_Classes gptkb:Z_Garbage_Collector gptkb:Java_Flight_Recorder gptkb:JEP_308 gptkb:JEP_326 gptkb:JNI_(Java_Native_Interface) Pattern Matching Lambda Expressions |
gptkbp:release_date |
TBD
September 2021 September 2021. March 2021. |
gptkbp:release_notes |
Included in JDK 16 release notes.
Included in JDK 17. |
gptkbp:released |
gptkb:JDK_17
gptkb:Java_SE_14 gptkb:Java_17 Follows the JDK release cycle. |
gptkbp:requires |
JDK 17 or later
JDK 16 or later. Java Flight Recorder API. JVM support for concurrent stack processing JDK 14 features |
gptkbp:reviews |
gptkb:Roman_Kennke
gptkb:Various gptkb:Brian_Goetz gptkb:Java_Community_Process gptkb:Java_Platform_Group gptkb:Mark_Reinhold gptkb:Maurizio_Cimadamore Various contributors https://mail.openjdk.java.net/pipermail/jdk-dev/2020-September/004123.html JDK Committers Various contributors. Various members of the Open JDK community. |
gptkbp:risk_management |
Low risk identified.
|
gptkbp:roadmap |
Roadmap for future enhancements.
|
gptkbp:scope |
Focus on mac OS platform.
Focus on mac OS rendering. Targeting mac OS applications. |
gptkbp:security |
Enhances security by reducing attack surface.
Includes security checks for memory access. |
gptkbp:semantics |
Defines which classes can implement the interface.
|
gptkbp:specification |
gptkb:Java_Language_Specification
Detailed technical specifications available. Java Language Specification. Defines the syntax and semantics of sealed interfaces. |
gptkbp:specifies |
gptkb:Java_Flight_Recorder
Virtual Machine Specification |
gptkbp:stakeholders |
Java developers.
Java FX developers. |
gptkbp:status |
gptkb:Flamethrower
gptkb:Final gptkb:Preview Standard Feature Targeted for JDK 17 |
gptkbp:success |
Case studies available.
Success stories shared by users. Community involvement and feedback. Companies using JFR. Performance improvements reported. Performance benchmarks met. |
gptkbp:support |
Supported by Oracle.
|
gptkbp:supports |
C and C++ libraries
JFR events |
gptkbp:sustainability |
Long-term support planned.
|
gptkbp:sustainability_efforts |
Long-term support and updates.
Long-term sustainability planned. Plans for long-term support. |
gptkbp:target_jdk |
gptkb:JDK_17
gptkb:JDK_11 gptkb:JDK_15 gptkb:JDK_16 |
gptkbp:title |
gptkb:Foreign_Function_&_Memory_API_(Incubator)
gptkb:JFR:_Event_Streaming gptkb:Foreign-Memory_Access_API_(Incubator) gptkb:Foreign_Function_&_Memory_API_(incubator) gptkb:JFR_Event_Streaming gptkb:Vector_API_(Incubator) Local-Variable Syntax for Lambda Parameters Sealed Interfaces ZGC: Concurrent Thread-Stack Processing Class Data Sharing (CDS) Archives Generic Java Language Support for Pattern Matching Remove the Java EE and CORBA Modules Switch Expressions (Standard Feature) New mac OS Rendering Pipeline (preview) Remove the Java Management Extensions (JMX) Modules |
gptkbp:trends |
Integration with AI.
Increased adoption. Enhanced analytics. Increased use of sealed types. Expected to influence future Java enhancements. |
gptkbp:tutorials |
Available online.
Tutorials available online. |
gptkbp:updates |
2021-07-14
Regular updates planned. Future updates planned. |
gptkbp:usage |
Used in high-performance computing
Used in data science applications Used in graphics processing Used in machine learning frameworks Used in server applications to improve performance. Used for interfacing with native libraries. Used to define a restricted hierarchy of types. |
gptkbp:use_case |
Interfacing with C libraries
Memory-mapped files Performance analysis. Native data structures Troubleshooting. Capacity planning. Allows for more concise code. Defining APIs with controlled implementations. |
gptkbp:user_base |
Java developers.
Widely used by Java developers. System administrators. Dev Ops engineers. |
gptkbp:user_feedback |
User feedback collected for improvements.
User feedback will shape future updates. |
gptkbp:user_manual |
Available in the official Java documentation.
|
gptkbp:vision |
Sustainable graphics rendering.
Evolving the Java type system. |
gptkbp:bfsParent |
gptkb:JDK_17
gptkb:JEP_33 gptkb:JDK_10 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_18 gptkb:JEP_488 gptkb:Java_17 gptkb:Java_SE_15 gptkb:Java_10 gptkb:Open_JDK |
gptkbp:bfsLayer |
5
|