Statements (769)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:Java_2_Platform
gptkb:JEP |
gptkbp:addresses |
Thread stack management
issues with previous internationalization support Garbage collection challenges Type checking issues |
gptkbp:adds |
new APIs for internationalization
|
gptkbp:aims_to |
Simplify type checks
simplify locale handling stream Java Flight Recorder events Enable concurrent memory deallocation |
gptkbp:aims_to_improve |
Ease of use for developers.
Performance of native interoperation. Safety of memory access. |
gptkbp:api |
Foreign Memory Access.
Memory Address. Memory Layout. Memory Segment. Memory Stack. Resource Scope. |
gptkbp:approves |
September 2019
JDK Release Team |
gptkbp:author |
gptkb:Alan_Bateman
gptkb:Brian_Goetz gptkb:David_Holmes gptkb:Venkat_Subramaniam gptkb:Alex_Buckley gptkb:Johan_Vos gptkb:Kirk_Pepperdine gptkb:Mark_Reinhold gptkb:Markus_KARG gptkb:Markus_Karg gptkb:Mikael_Vidstedt gptkb:Richard_Warburton gptkb:Sander_Mak gptkb:Jesse_Glick Panagiotis Koutoupis Gavin Bierman JDK Release Team |
gptkbp:benefits |
Incorporated.
Improves maintainability. Improved performance on mac OS. Improves readability of string literals. Reduce pause times Enhances code readability. Facilitates pattern matching. Reduced pause times Supports better API design. Reduces the risk of unintended subclassing. Improved readability of string literals. Allows for more controlled inheritance. Improved rendering. Enables more robust type checking. Encourages better encapsulation. Facilitates better documentation. Improves performance in some scenarios. Promotes clearer intent in class design. |
gptkbp:can_be_used_with |
Java applications
|
gptkbp:cause |
To simplify the JDK and remove outdated technologies.
Java EE and CORBA are no longer relevant in modern Java development. Simplification of the Java platform |
gptkbp:challenges |
Addressed.
Ensuring safety in memory access. Integration with existing Java memory model. Performance overhead of safety checks. Compatibility issues. Addressing community concerns. Ensuring memory safety. Handling native memory allocation. Maintaining API simplicity. Managing performance trade-offs. |
gptkbp:code |
Publicly accessible.
Numerous code examples available. |
gptkbp:collaborated_with |
Research institutions
Industry partners open-source projects Open JDK projects. by multiple contributors |
gptkbp:collaboration |
With Apple.
|
gptkbp:community_feedback |
Generally positive.
Mixed responses Encouraging. Received positive feedback from the community. |
gptkbp:community_involvement |
Encouraged.
Encouraged for feedback and improvements. |
gptkbp:community_outreach |
Engaged community.
|
gptkbp:community_support |
Strong community support.
Strong. |
gptkbp:compatibility |
Backward compatibility issues
Compatible with existing Java memory management. Compatible with existing string literals. |
gptkbp:concluded_on |
July 2021
Successful implementation. Aims to enhance Java's capabilities. Streamlining the JDK. Text blocks enhance Java's string handling capabilities. Sealed classes provide a more declarative way to restrict class hierarchies. |
gptkbp:conformance |
Compatible with existing Java applications.
Follows Java SE specifications. Adheres to Open JDK guidelines. Ensures backward compatibility. Supports multiple platforms. |
gptkbp:consequences |
Potential security risks
Legacy applications may need to migrate. Removal of module system features |
gptkbp:contributes_to |
globalization efforts
Java performance improvements Java Performance |
gptkbp:contribution |
Community feedback
Community input Involves multiple stakeholders. Encourages collaboration. Open. Performance benchmarks. Contributed to the evolution of Java. Open to contributions from the community. Community contributions welcomed. Feedback from users is valuable. Open for further development. Research on memory safety. |
gptkbp:created |
2021-09-15
2019-03-06 2019-09-17 |
gptkbp:decided_by |
Approved.
|
gptkbp:dependency |
gptkb:JEP_411
gptkb:JEP_412 Java 11 or higher. |
gptkbp:describes |
gptkb:Pattern_Matching_for_instanceof
gptkb:JFR:_Event_Streaming New Internationalization Enhancements the ability to use the 'var' keyword in lambda expressions |
gptkbp:description |
Enhances ZGC to support concurrent thread-stack processing.
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. Introduces a new rendering pipeline for mac OS. Introduces sealed classes and interfaces to restrict which classes can extend or implement them. Text blocks are a new way to declare multi-line string literals. Introduces a new syntax for multi-line string literals. Provides a mechanism for Java programs to safely and efficiently access foreign memory. Multi-line string literals. Introduces text blocks as a new way to declare multi-line string literals. Provides a new syntax for multi-line string literals. |
gptkbp:developed_by |
gptkb:Open_JDK_community
|
gptkbp:discusses |
2020-2021
Open JDK mailing list Open JDK mailing list. Open JDK mailing lists https://openjdk.java.net/jeps/370 Java community process Security Manager API removal |
gptkbp:discussion_start_date |
2019-03-06
|
gptkbp:effective_date |
2020-03-17
|
gptkbp:enables |
Low-latency applications
monitoring and analysis of applications |
gptkbp:end_date |
2019-09-17
|
gptkbp:enhancement_type |
Language enhancement.
|
gptkbp:enhances |
gptkb:Java_Flight_Recorder
gptkb:Java_programming_language gptkb:ZGC User experience developer productivity existing internationalization features user experience in different locales ZGC capabilities Potential for further enhancements in future JDKs. |
gptkbp:error_handling |
Improved error handling for multi-line strings.
Clear error messages for syntax issues. |
gptkbp:example |
Interfacing with native libraries.
String text = """ This is a text block."""; Defining a sealed class hierarchy. Accessing native libraries. Handling large data sets. Interfacing with C/ C++ code. Improving performance of data-intensive applications. """ This is a text block that spans multiple lines.""". |
gptkbp:facilitates |
Scalability
multilingual applications data collection for profiling |
gptkbp:features |
Language Feature
String concatenation. |
gptkbp:feedback |
Positive.
Community feedback encouraged. |
gptkbp:feedback_mechanism |
Surveys.
|
gptkbp:first_published |
2020-01-14
2023-01-10 2019-09-17 |
gptkbp:first_released |
March 2020.
|
gptkbp:focus |
gptkb:performance
gptkb:Garbage_Collection |
gptkbp:focus_area |
Graphics.
|
gptkbp:formulation |
"""...""" for multi-line strings.
Triple quotes (""" or '''') for defining text blocks. |
gptkbp:funding |
Supported by Oracle.
|
gptkbp:future_plans |
Evaluate migration strategies.
Further optimizations. Monitor performance. |
gptkbp:future_prospects |
Enhancements based on feedback.
Further enhancements to the API. Monitor impact on existing applications. User feedback incorporation. Community feedback incorporation. Expanding the API capabilities. Improving safety and performance. Integration with more native libraries. Enhancements to memory management. Alternative security models Integration with other JEPs. |
gptkbp:goal |
Enhance graphics performance.
Improve ZGC's memory deallocation process Remove obsolete features |
gptkbp:goals |
Enable better performance for Java applications.
Provide a safe API for memory access. Reduce the complexity of native memory access. |
gptkbp:governance |
Managed by Open JDK community.
|
gptkbp:has |
Code examples for usage.
|
gptkbp:has_documentation |
Available online.
Available. Comprehensive. Available on Open JDK website. Official documentation available. |
gptkbp:has_goal |
Achieved.
|
gptkbp:has_limitations |
Limited to incubator features.
|
https://www.w3.org/2000/01/rdf-schema#label |
JEP 370
|
gptkbp:impact |
Performance optimization
Security policies Legacy applications Significant. Improved application responsiveness Positive results. Enhances type safety. Graphics rendering on mac OS. Improves readability of string literals. Potentially significant impact on performance. Removes legacy technologies from the JDK. Simplifies the creation of multi-line strings. Improves performance for applications that require native memory access. Better user experience. Simplifies the creation of string literals. Allows Java to handle native memory more effectively. Applications using JMX will need to find alternatives Removes legacy modules from the Java platform. |
gptkbp:improves |
gptkb:Z_Garbage_Collector
Memory management Code readability performance monitoring Locale support Memory management efficiency type inference in Java |
gptkbp:includes |
Pattern matching syntax
new methods in java.util. Locale |
gptkbp:increased |
Throughput
|
gptkbp:influenced_by |
Python's multi-line strings.
|
gptkbp:innovation |
In graphics rendering.
|
gptkbp:introduced |
Text Blocks (preview)
|
gptkbp:introduced_in |
gptkb:Java_14
gptkb:Java_13 gptkb:Java_1.0 gptkb:Java_16 gptkb:Java_SE_14 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_16 gptkb:Java_17 gptkb:Java_SE_15 |
gptkbp:involved_technology |
gptkb:API
gptkb:Java_Naming_and_Directory_Interface gptkb:Java_API_for_JSON_Binding gptkb:Java_FX gptkb:Java_Message_Service_(JMS) gptkb:Ultraman gptkb:Java_API_for_Web_Socket gptkb:Java_Server_Faces gptkb:Quark gptkb:Micro_Profile gptkb:Jakarta_EE gptkb:Spring_Framework Microservices. JNI. Java NIO. Native memory tracking. |
gptkbp:involves |
Concurrent operations
|
gptkbp:is_adopted_by |
gptkb:Open_JDK
Enterprise Applications Open-source projects Startups enterprise applications Cloud-native applications open-source projects Enterprise applications Java developers cloud applications Enterprise solutions government applications High. Widely adopted. Adoption by libraries and frameworks. High among Java developers. Open JDK. Widely adopted in Java applications. Some challenges in adoption. |
gptkbp:is_analyzed_in |
Case studies
case studies Performance studies software engineers Technical papers Software architects Performance analysts. Software analysts Java Performance Analysis Tools |
gptkbp:is_anticipated_by |
Enhance interoperability.
Encourage community engagement. Enable new programming paradigms. Improve safety in memory operations. Simplify memory management. Support advanced data structures. |
gptkbp:is_beneficial_for |
gptkb:Microservices
High-performance applications application developers Resource-intensive applications |
gptkbp:is_cited_in |
Technical documentation
academic papers Technical discussions Java Performance Reports |
gptkbp:is_compared_to |
Other garbage collectors
Traditional instanceof checks Compared to traditional string handling. Other memory access APIs. |
gptkbp:is_compatible_with |
previous JDK versions
Java 14 and later versions Java 14 runtime |
gptkbp:is_considered |
Standardization
Standardization. Future Java versions |
gptkbp:is_critiqued_by |
Software engineering literature
|
gptkbp:is_described_as |
technical articles
Java Enhancement Proposal documentation |
gptkbp:is_discussed_in |
gptkb:Java_Community_Process
Online forums Java Community Forums Java meetups Technical conferences technical blogs Web forums Java forums Java mailing lists. Java podcasts technical meetups |
gptkbp:is_documented_in |
gptkb:JEP
Java Documentation Java SE Documentation Java SE documentation Java documentation Open JDK documentation JEP 370 documentation. Java documentation team. JEP 370 documentation |
gptkbp:is_enhanced_by |
future JEPs
|
gptkbp:is_essential_for |
High.
|
gptkbp:is_evaluated_by |
Performance metrics
Scalability Academic researchers industry analysts Quality assurance teams Java experts Java workshops Performance engineers Performance benchmarks. Java SE experts Java Performance Benchmarks |
gptkbp:is_expected_to |
Improve performance
Evolve based on feedback. Facilitate low-level programming. Reduce memory overhead. |
gptkbp:is_explored_in |
gptkb:Java_conferences
Online courses Research papers Webinars Podcasts research papers Java tutorials Research papers. |
gptkbp:is_featured_in |
Industry reports
Java publications |
gptkbp:is_implemented_in |
gptkb:Zulu_Open_JDK
gptkb:Oracle_JDK gptkb:Java_Virtual_Machine gptkb:Java_programming_language gptkb:Java_SE_13 gptkb:Java_FX gptkb:SAP_JVM gptkb:Open_JDK_11 gptkb:Adopt_Open_JDK gptkb:Amazon_Corretto gptkb:IBM_Semeru_Runtime gptkb:JDK_14 gptkb:Red_Hat_Open_JDK gptkb:Open_VMS gptkb:Open_JDK Implemented in the Java compiler. Incubator module in JDK. Completed. Concurrent processing of thread stacks Implemented in the JDK. JDK 11 and later. JDK 17 and later. Memory Layout class Memory Segment class Part of the Java language. Foreign Memory Access class Memory Address class Requires code changes |
gptkbp:is_influenced_by |
gptkb:JEP_304
user feedback Functional programming concepts C and C++ memory models. Rust programming language. Previous JEPs |
gptkbp:is_influential_in |
software development practices
|
gptkbp:is_integrated_with |
gptkb:Java_ecosystem
gptkb:Java_libraries Development tools monitoring tools Java development tools Java monitoring solutions |
gptkbp:is_motivated_by |
To improve performance and interoperability with native code.
Reduce the size of the JDK Simplify the Java platform To improve performance by allowing direct access to native memory. Improve the modeling of class hierarchies. |
gptkbp:is_optimized_for |
Resource utilization
|
gptkbp:is_part_of |
gptkb:Java_Platform_Module_System
gptkb:Java_SE_11 gptkb:Java_SE_17 gptkb:Java_SE_Platform gptkb:Java_SE_platform gptkb:Java_SE_16 gptkb:Java_ecosystem Java language evolution Java Platform, Standard Edition. Java 14 features Java's internationalization strategy Java performance monitoring tools Java 16 release |
gptkbp:is_practiced_in |
Best practices for using text blocks.
|
gptkbp:is_prominent_in |
gptkb:Java_conferences
|
gptkbp:is_promoted_by |
gptkb:Oracle_Corporation
Java advocates Java influencers Java newsletters Java user communities |
gptkbp:is_promoted_through |
Conferences
Social media campaigns webinars |
gptkbp:is_proposed_for_review |
Java SE 15.
|
gptkbp:is_recognized_by |
Industry experts
Java developers programming communities |
gptkbp:is_recommended_by |
Java language architects.
|
gptkbp:is_referenced_in |
Java blogs
Java books Java Performance Tuning Guides other JEPs |
gptkbp:is_related_to |
gptkb:JEP_371
gptkb:JEP_394 gptkb:JEP_306 performance tuning Garbage collection algorithms JNI (Java Native Interface). Native Memory Tracking. |
gptkbp:is_reviewed_by |
gptkb:Java_Community_Process
gptkb:Java_SE_Review_Board gptkb:Java_community Peer reviewers Java experts Java user groups Technical reviews Technical reviews. Java Community Process. |
gptkbp:is_supported_by |
gptkb:Java_Virtual_Machine
gptkb:multiple_platforms gptkb:Java_Development_Kit_(JDK) gptkb:Java_community Open-source contributors multiple operating systems Java IDEs Java user groups Technical blogs Community contributions. Technical communities Java user community Java Development Kit. JDK 16 and later Java community contributions JDK 14 and later |
gptkbp:is_targeted_at |
Java developers
Performance-critical applications. Native code developers. System programmers. |
gptkbp:is_tested_for |
Quality assurance processes
Real-world scenarios Development environments QA teams User acceptance testing Extensive. Load testing scenarios Continuous integration pipelines Java testing frameworks Extensive testing required. Java beta releases Java Testing Frameworks Java performance benchmarks Unit tests. Java SE 16 preview builds |
gptkbp:is_used_by |
gptkb:developers
|
gptkbp:is_used_in |
enterprise applications
|
gptkbp:is_utilized_by |
gptkb:mobile_applications
Large enterprises Software companies Software applications performance engineers Java developers. |
gptkbp:is_utilized_in |
gptkb:cloud_computing
Microservices architecture production environments Cloud applications |
gptkbp:javadoc |
https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/ String.html# String(java.lang. String)
|
gptkbp:key |
Focus on modern development.
|
gptkbp:key_feature |
gptkb:Sealed_classes
gptkb:Java_14 Permits Permitted subclasses Memory access without the need for JNI. Memory segments Safety and performance guarantees Support for memory allocation and deallocation. Direct access to memory regions. Integration with the Java garbage collector. Safety guarantees against memory leaks. Access to foreign memory, memory allocation, and deallocation. Non-sealed classes Metal support. Memory access APIs |
gptkbp:keywords |
text blocks
|
gptkbp:language |
Java.
Enhances language features. |
gptkbp:latest_version |
gptkb:JEP_370
1.0. Git. Future JDK versions. JDK 14. Incubator version. JDK 15 and later. |
gptkbp:legacy |
Modern graphics solutions.
|
gptkbp:library |
Libraries that utilize text blocks.
|
gptkbp:maintenance |
Ongoing.
|
gptkbp:notable_contributor |
gptkb:Gilad_Bracha
gptkb:Brian_Goetz gptkb:David_Holmes gptkb:Venkat_Subramaniam gptkb:Dan_Smith gptkb:Doug_Lea gptkb:Alex_Buckley gptkb:Josh_Bloch gptkb:Kirk_Pepperdine gptkb:Mark_Reinhold gptkb:Markus_Karg gptkb:Maurizio_Cimadamore gptkb:Richard_Warburton gptkb:David_B._Mc_Goveran gptkb:John_Rose gptkb:Jesse_Glick gptkb:Andrew_Haley gptkb:David_M._Lloyd Java Developers Java FX team. Jim Laskey Neal Gafter |
gptkbp:notable_production |
Encourages modern practices.
Streamlined graphics development. Significantly impacts string handling. |
gptkbp:performance |
Significant improvement.
Improves performance for certain applications. No significant performance impact. Existing Java memory models. |
gptkbp:platform |
mac OS.
|
gptkbp:plot_summary |
A new API for foreign memory access.
Removal of outdated modules. Removal of the Security Manager API |
gptkbp:presented_by |
gptkb:Java_conferences
Java conferences. |
gptkbp:production_status |
Active.
|
gptkbp:project |
Available.
On schedule. Acknowledged. Java FX project lead. Performance and compatibility. Active contributors. Modern graphics pipeline. Open JFX. Used in various community projects. |
gptkbp:proposed_by |
gptkb:JDK_17
gptkb:Open_JDK_Community gptkb:Text_Blocks gptkb:Oracle gptkb:JDK_15 gptkb:Markus_KARG gptkb:Markus_Karg gptkb:Open_JDK JEP Committee Future Java versions Future Java versions. Gavin Bierman Remove the Security Manager Remove the Java Platform Module System (JPMS) Remove the Java Management Extensions (JMX) Modules |
gptkbp:provides |
Improved application responsiveness
better support for language tags real-time event streaming Better performance for large heaps Type-safe casting |
gptkbp:provides_access_to |
recorded events
|
gptkbp:published_by |
JDK release notes
Java Enhancement Proposals Repository |
gptkbp:purpose |
Provide a mechanism to safely access foreign memory outside of the Java heap.
|
gptkbp:reduces |
Memory fragmentation
Stop-the-world pauses |
gptkbp:related_concept |
gptkb:Inheritance
gptkb:ISO_C API design Interfaces Polymorphism Encapsulation Pattern matching Type safety Code maintainability Abstract classes Class hierarchy Permitted subclasses Subclassing ISO/ IEC standards. Java SE. Sealed interfaces Non-sealed classes POSIX. |
gptkbp:related_jeps |
gptkb:JEP_411
gptkb:JEP_384 gptkb:JEP_391 gptkb:JEP_393 gptkb:JEP_394 gptkb:JEP_181 gptkb:JEP_12 gptkb:JEP_261 gptkb:JEP_291 gptkb:JEP_320 gptkb:JEP_409 JEP 383, JEP 384. |
gptkbp:related_to |
gptkb:JEP_338
gptkb:JEP_383 gptkb:JEP_393 gptkb:Z_Garbage_Collector gptkb:Java_Flight_Recorder gptkb:Garbage_Collection gptkb:JEP_12 gptkb:JEP_305 gptkb:security instanceof operator |
gptkbp:release_date |
September 2020
March 2020 September 2018 March 2021 September 2021 |
gptkbp:release_notes |
Java SE 11 Release Notes
Included in JDK 16. |
gptkbp:release_type |
Incubator.
|
gptkbp:released |
gptkb:JDK_17
gptkb:Java_SE_11 gptkb:Java_14 gptkb:Java_SE_17 gptkb:Java_SE_21 gptkb:JDK_11 Regular. |
gptkbp:replaced_by |
gptkb:Java_17
Java EE Modules CORBA Modules |
gptkbp:replaces |
Old rendering pipeline.
|
gptkbp:repository |
Open JDK.
|
gptkbp:requires |
gptkb:JEP_333
gptkb:JEP_12 Metal API JDK 14 or later Java 16 or later JDK 14 or later. JDK 16 features |
gptkbp:reviews |
gptkb:Alan_Bateman
gptkb:Brian_Goetz gptkb:Venkat_Subramaniam gptkb:Johan_Vos gptkb:Mark_Reinhold gptkb:Jesse_Glick 2019-06-20 JDK Review Team 2020-12-01. Open JDK community. Various community members. Various members of the Open JDK community Various members of the Open JDK community. |
gptkbp:safety |
Includes safety checks for memory access.
|
gptkbp:scope |
Graphics rendering improvements.
|
gptkbp:specification |
gptkb:Java_Language_Specification
gptkb:Java_SE_15 Java Language Specification. API Specification. |
gptkbp:specifies |
a new feature for lambda expressions
|
gptkbp:stakeholders |
Developers.
|
gptkbp:status |
gptkb:Flamethrower
gptkb:Final gptkb:Preview 2019-09-17 Standard Feature Regular updates planned. Targeted for JDK 16 |
gptkbp:string_formatting |
Supports basic formatting.
|
gptkbp:string_interpolation |
Not supported.
|
gptkbp:success |
Performance benchmarks.
|
gptkbp:support |
Community supported.
|
gptkbp:supports |
Concurrent garbage collection
Large heap sizes event consumers |
gptkbp:sustainability_efforts |
Ensured.
|
gptkbp:syntax_highlighting |
Supported by modern IDEs.
|
gptkbp:target_jdk |
gptkb:JDK_17
gptkb:JDK_11 gptkb:JDK_13 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_16 |
gptkbp:targets |
Java developers
|
gptkbp:title |
gptkb:Foreign-Memory_Access_API_(incubator)
gptkb:Sealed_Classes gptkb:Text_Blocks gptkb:Foreign-Memory_Access_API_(Incubator) gptkb:JFR_Event_Streaming gptkb:New_mac_OS_Rendering_Pipeline ZGC: Concurrent Thread-Stack Processing Foreign-Memory Access API Remove the Java EE and CORBA Modules Text Blocks (Standard Feature) ZGC: Concurrent Memory Deallocation Deprecate the Java EE and CORBA Modules for Removal |
gptkbp:tutorials |
Tutorials available for learning text blocks.
|
gptkbp:updates |
Planned.
|
gptkbp:usage |
Used in game development.
Used in systems programming. Accessing off-heap memory. Used in applications requiring large data processing. Used in data science applications. Used in high-performance computing applications. Used for embedding SQL, JSON, and XML. |
gptkbp:use_case |
Commonly used in configuration files.
|
gptkbp:user_base |
Java developers.
|
gptkbp:user_experience |
Enhanced.
|
gptkbp:user_feedback |
Positive.
|
gptkbp:bfsParent |
gptkb:JEP_389
gptkb:JEP_33 gptkb:Java_SE_14 gptkb:JDK_10 gptkb:JDK_14 gptkb:Java_10 |
gptkbp:bfsLayer |
5
|