JEP 370

GPTKB entity

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