JEP 372

GPTKB entity

Statements (497)
Predicate Object
gptkbp:instance_of gptkb:Java_2_Platform
gptkb:JEP
gptkbp:adapted_into High.
gptkbp:addresses Performance bottlenecks
Memory Management Challenges
gptkbp:affects Java applications
gptkbp:aims_to simplify type checks
improve performance monitoring
simplify the Java platform
stream Java Flight Recorder events
Simplify data carrier classes.
gptkbp:aims_to_improve Application Performance
gptkbp:allows event aggregation
conditional type casting
gptkbp:analysis Performance analysis tools
gptkbp:approves gptkb:Java_Community_Process
JDK Enhancement-Proposal Committee
JDK Release Team
gptkbp:author gptkb:Alan_Bateman
gptkb:David_Holmes
gptkb:Mark_Little
gptkb:Javac_Team
gptkb:Jesse_Glick
JDK Release Team
gptkbp:benefits Positive.
Constructive.
Improved performance on mac OS.
Cleaner JDK.
Successful removal.
Improves pause times for garbage collection.
Accurate performance measurements
gptkbp:can_be_used_with monitoring tools
gptkbp:category gptkb:performance
gptkbp:cause Java EE and CORBA are no longer widely used.
gptkbp:challenges User migration.
Benchmarking overhead
gptkbp:collaboration Collaborative development
gptkbp:collaborative_projects Open JDK community.
gptkbp:community Active community involvement
gptkbp:community_engagement Active.
gptkbp:community_feedback Positive
Generally positive.
Positive.
gptkbp:community_involvement Encouraged.
gptkbp:compatibility Backward compatibility
No compatibility with Nashorn.
gptkbp:concluded_on gptkb:Yes
Useful for developers
Applet API should be removed
Removal is beneficial.
JMX is no longer part of the JDK
gptkbp:consequences Removal of the Security Manager may affect security policies.
Loss of Nashorn functionality.
Legacy code issues
gptkbp:contributes_to performance monitoring
gptkbp:contribution Community contributions
Open contributions accepted
gptkbp:created 2020-09-15
2019-09-17
gptkbp:date 2020-01-14
January 2020
2020-09-15
gptkbp:dependency gptkb:JEP_230
None.
gptkbp:deprecation Nashorn was deprecated in JDK 11.
gptkbp:describes gptkb:JDK_17
gptkb:JFR_Event_Streaming
gptkb:ZGC
New Performance Improvements in JDK 11
JDK 17 Release Schedule
gptkbp:description Introduces a new rendering pipeline for mac OS.
Provides a new class type called 'record'.
This JEP proposes to add 'with' methods to record classes.
Enhances ZGC to process thread stacks concurrently.
gptkbp:developed_by gptkb:Open_JDK_community
gptkbp:discusses gptkb:Java_Community_Process
gptkb:Java_community
2020-12-01
openjdk.java.net
Open JDK mailing list.
Open JDK mailing lists
https://openjdk.java.net/jeps/372
impact on existing applications
The proposal was discussed in the Open JDK mailing lists.
https://mail.openjdk.java.net/pipermail/jdk-dev/2020-January/004882.html
gptkbp:effective_date 2020-03-17
Achieved.
gptkbp:enables event filtering
real-time monitoring
event consumption by external tools
gptkbp:end_date 2021-09-14
gptkbp:enhances gptkb:Java_Flight_Recorder
gptkb:Java_programming_language
observability
type inference
gptkbp:evaluates Performance metrics available
gptkbp:example record Point(int x, int y) {}
Record Point(int x, int y) with Point p1 = new Point(1, 2); Point p2 = p1.with X(3);
Point p = new Point(1, 2);
Example benchmarks included
gptkbp:facilitates data analysis
monitoring applications in production
gptkbp:feature gptkb:Java_programming_language
Java SE 17 (finalized)
gptkbp:features Support for pattern matching.
Automatic generation of equals(), hash Code(), and to String() methods.
Compact syntax for declaring classes.
Microbenchmarking framework
gptkbp:feedback User feedback encouraged
Open JDK mailing lists.
gptkbp:first_published 2021-09-15
gptkbp:focuses_on Concurrent Memory Management
gptkbp:future_plans Encourage migration to Graal VM.
Monitor migration.
gptkbp:future_prospects Monitor usage of alternatives.
Enhancements to the suite
Explore alternatives to JNI
gptkbp:goal Improve performance
gptkbp:goals Improve benchmarking capabilities
gptkbp:governance Open JDK governance model
gptkbp:has_a_focus_on Performance workshops
gptkbp:has_documentation Updated to reflect removal.
JEP 372 documentation
gptkbp:historical_achievement Release Candidate
General Availability
Java 11 development
Feature Freeze
Rampdown Phase One
Rampdown Phase Two
https://www.w3.org/2000/01/rdf-schema#label JEP 372
gptkbp:impact Native libraries
Performance testing
Improves code readability.
Legacy applications
Reduces boilerplate code.
Significant.
Good.
Conducted.
Impact assessment conducted
Enhances the usability of record classes.
Reduces the size of the JDK.
Applications that rely on the Security Manager will need to be modified.
Migration challenges.
Users will need to find alternatives.
Applications relying on Nashorn will need to migrate to alternative solutions.
Removes deprecated classes
Reduces the impact of garbage collection on application performance.
Applications using JMX will need to find alternatives
Java applications using JNI
gptkbp:improves gptkb:Garbage_Collection
code readability
monitoring and diagnostics
observability of Java applications
gptkbp:includes Performance enhancements
API for event streaming
JFR API changes
gptkbp:increased Throughput
gptkbp:innovation Promote new technologies.
gptkbp:introduced_in gptkb:Java_11
gptkb:Java_16
gptkb:Java_SE_16
gptkb:Java_17
gptkbp:involved_technology Java Script engines.
gptkbp:is_a gptkb:Java_SE
technical specification
feature enhancement
Java enhancement
JDK improvement proposal
JFR extension
Java monitoring feature
performance monitoring tool
real-time monitoring solution
gptkbp:is_a_framework_for Frameworks using Nashorn will need updates.
gptkbp:is_a_guide_for Java performance optimization
gptkbp:is_a_key_component_of JDK 11 features
gptkbp:is_a_preview_feature in Java SE 16
gptkbp:is_a_reference_for Future JEPs
gptkbp:is_a_resource_for Documentation and tutorials
gptkbp:is_a_subject_of gptkb:Java_conferences
Research studies
gptkbp:is_a_tool_for Benchmarking tools provided
gptkbp:is_adopted_by enterprise applications
Java developers
cloud applications
Widely adopted
Low adoption.
gptkbp:is_aimed_at gptkb:developers
real-time analytics
Reducing latency
reducing runtime errors
gptkbp:is_aligned_with cloud-native applications
Java's performance goals
gptkbp:is_analyzed_in Technical papers
gptkbp:is_applicable_to Client applications
Server applications
gptkbp:is_associated_with Performance testing
Java performance tuning
gptkbp:is_beneficial_for system administrators
application developers
gptkbp:is_cited_in academic papers
gptkbp:is_compared_to Previous JDK versions
gptkbp:is_compatible_with Java applications
existing JFR tools
gptkbp:is_described_as technical articles
gptkbp:is_designed_for Java developers
high-throughput systems
gptkbp:is_designed_to enterprise applications
support scalability
reduce overhead
streamline diagnostics
gptkbp:is_discussed_in gptkb:Java_Community_Process
Java forums
gptkbp:is_documented_in gptkb:Open_JDK
JEP 372 specification
JEP 372 documentation
gptkbp:is_enhanced_by future JEPs
gptkbp:is_evaluated_by Performance benchmarks
performance engineers
gptkbp:is_expected_to Improve user experience
enhance developer experience
improve performance
improve system performance
improve application reliability
reduce troubleshooting time
become a standard feature
gptkbp:is_focused_on Optimizing runtime performance
gptkbp:is_implemented_in gptkb:Z_Garbage_Collector_(ZGC)
gptkb:Java_Virtual_Machine
gptkb:Java_programming_language
gptkb:Java_SE_14
gptkb:JDK_14
gptkb:Java_Development_Kit_(JDK)
gptkb:Open_JDK
Implemented in the Java compiler.
Completed.
The implementation is part of the JDK.
Nashorn code removed from JDK.
The Nashorn engine is removed from the JDK.
Removal of JMX modules from the JDK
gptkbp:is_influenced_by User feedback
user feedback
Scala's pattern matching
gptkbp:is_integrated_with Java monitoring frameworks
gptkbp:is_motivated_by Reduce the size of the JDK
Simplify the Java platform
To provide a convenient way to create modified copies of record instances.
The Security Manager has been a source of complexity and confusion.
Applet API is outdated
Nashorn is outdated and has been superseded by other Java Script engines.
Applet API is obsolete
gptkbp:is_optimized_for String operations
gptkbp:is_part_of gptkb:Java_SE_11
gptkb:Java_SE_Platform
gptkb:Java_2_Platform
gptkb:Java_ecosystem
Java language evolution
Java performance tuning
Java 17 features
Java 17 release
Java SE 11 Release
Java language enhancements
Java performance toolkit
Java performance monitoring suite
JDK 11 release
Java performance improvement initiatives
Java's type system improvements
gptkbp:is_promoted_by Java advocates
gptkbp:is_promoted_through gptkb:Java_conferences
gptkbp:is_recognized_by industry leaders
Java experts
gptkbp:is_related_to gptkb:JEP_330
gptkb:JEP_334
gptkb:JEP_394
gptkb:Java_Flight_Recorder
gptkb:Garbage_Collection
gptkb:JEP_305
event-driven architecture
Java SE 11 features
instanceof operator
CORBA alternatives
Jakarta EE migration
Java EE alternatives
JFR (Java Flight Recorder)
Java monitoring tools
Java observability tools
gptkbp:is_reviewed_by gptkb:Java_Community_Process
Completed
Approved
Java experts
gptkbp:is_scalable Scalable solution
gptkbp:is_significant_for High-performance applications
gptkbp:is_supported_by gptkb:JDK_Mission_Control
gptkb:multiple_platforms
gptkb:Java_community
Java developers
Java IDEs
Java documentation
gptkbp:is_tested_for Extensive testing conducted
Java QA teams
No specific tests for Nashorn.
Microbenchmark tests
gptkbp:is_used_for application performance management
gptkbp:is_used_in performance tuning
gptkbp:is_utilized_by system administrators
performance engineers
gptkbp:is_utilized_for debugging purposes
gptkbp:is_utilized_in microservices architecture
gptkbp:is_visible_from Maintained.
gptkbp:issues JDK-8231234
JDK-8251234
JDK-8222200
gptkbp:key_feature Automatic generation of withers.
gptkbp:language gptkb:Java
gptkbp:latest_version 1.0
Version 1.0.
gptkbp:library Libraries using Nashorn will be affected.
gptkbp:maintenance Ongoing maintenance
gptkbp:migration Migrate to Graal VM.
gptkbp:mission Active.
Remove outdated technology.
gptkbp:notable_contributor gptkb:Open_JDK_Community
gptkb:Java_Community_Process
gptkb:David_Holmes
gptkb:Daniel_Smith
gptkb:Alex_Buckley
gptkb:Java_ecosystem
Shenandoah Team
gptkbp:originated_in Better Java performance
more expressive Java syntax
gptkbp:outcome Improved performance insights
gptkbp:performance High performance
No performance improvements.
gptkbp:plot_summary This JEP proposes to remove the Security Manager and its associated API.
Adds withers to record classes for easier instance modification.
This JEP proposes to remove the Nashorn Java Script engine from the JDK.
Provides a microbenchmark suite for the JDK.
Remove JNI from the Java platform.
gptkbp:production_status Completed.
gptkbp:project gptkb:Open_JDK
Mark Reinhold.
Graal VM.
Modernize Java.
2020-01 to 2020-03.
Improve Java ecosystem.
Updated JDK.
gptkbp:project_accountability Ensured.
gptkbp:project_accountability_statement Ensured.
gptkbp:project_adaptability_statement High.
gptkbp:project_benefits_statement Cleaner JDK.
gptkbp:project_challenges_statement User migration.
gptkbp:project_commitment Strong.
gptkbp:project_commitment_statement Strong.
gptkbp:project_deliverables_statement Updated JDK.
gptkbp:project_effectiveness High.
gptkbp:project_effectiveness_statement High.
gptkbp:project_efficiency Improved.
gptkbp:project_efficiency_statement Improved.
gptkbp:project_engagement_statement Active.
gptkbp:project_evaluation_statement Positive.
gptkbp:project_feedback_statement Constructive.
gptkbp:project_flexibility_statement High.
gptkbp:project_follow_up Monitor alternatives.
gptkbp:project_follow_up_statement Monitor alternatives.
gptkbp:project_goals_statement Improve Java ecosystem.
gptkbp:project_impact_statement Significant.
gptkbp:project_innovation_statement Promote new technologies.
gptkbp:project_lessons_learned Importance of communication.
gptkbp:project_lessons_learned_statement Importance of communication.
gptkbp:project_mission_statement Remove outdated technologies.
gptkbp:project_objectives_statement Successful removal of Nashorn.
gptkbp:project_outcomes_statement Cleaner JDK.
gptkbp:project_quality Maintained.
gptkbp:project_quality_statement Maintained.
gptkbp:project_relevance High.
gptkbp:project_relevance_statement High.
gptkbp:project_risks_statement Migration challenges.
gptkbp:project_satisfaction High.
gptkbp:project_satisfaction_statement High.
gptkbp:project_scalability_statement Good.
gptkbp:project_stakeholders_statement Java community.
gptkbp:project_success_criteria Successful migration.
gptkbp:project_success_criteria_statement Successful migration.
gptkbp:project_sustainability_statement Encouraged.
gptkbp:project_transparency_statement Maintained.
gptkbp:project_value High.
gptkbp:project_value_statement High.
gptkbp:project_vision_statement Modernize Java.
gptkbp:proposed_by gptkb:Open_JDK_community
gptkb:Pattern_Matching_for_instanceof
gptkb:Brian_Goetz
gptkb:Oracle
gptkb:Oracle_Corporation
gptkb:David_Holmes
gptkb:Mark_Reinhold
gptkb:Jesse_Glick
Remove the Applet API
removal of CORBA modules
removal of Java EE modules
Remove the Java Native Interface (JNI)
Remove the Java Management Extensions (JMX) Modules
streaming JFR events
gptkbp:provides event metadata
type-safe casting
real-time event data
gptkbp:provides_access_to event streams
gptkbp:provides_guidance_on Refer to Graal VM documentation.
gptkbp:published_by JDK release notes
gptkbp:reduces boilerplate code
Memory footprint
gptkbp:related_concept Java SE standards
ECMAScript.
gptkbp:related_jeps gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_391
gptkb:JEP_398
gptkb:JEP_230
gptkbp:related_to gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_395
gptkb:Java_EE
gptkb:Java_2_Platform
gptkb:Java_FX
gptkb:Garbage_Collection
gptkb:JEP_290
performance analysis
gptkbp:release_date March 2021
September 2021
2020-03-17
gptkbp:release_notes Included in JDK 15 release notes.
JDK 17 Release Notes
Included in JDK 17 release notes
gptkbp:released gptkb:JDK_17
gptkb:Java_SE_11
gptkb:Java_SE_14
gptkb:JDK_15
Future releases planned
gptkbp:replaced_by Graal VM Java Script engine.
gptkbp:replaces Lack of usage and maintenance.
Java EE Modules
CORBA Modules
gptkbp:repository gptkb:Open_JDK_Mercurial_repository
gptkbp:requires gptkb:JFR_enabled_JVM
gptkb:JEP_230
Metal API
JDK 11 or later
Java 16 or later
gptkbp:result Nashorn removed.
Benchmark results published
gptkbp:reviews gptkb:Alan_Bateman
gptkb:Brian_Goetz
gptkb:Mark_Reinhold
2020-03-10
Peer review process
JDK Release Team
The JEP was reviewed by the JDK community.
Various members of the Open JDK community
Various members of the Open JDK community.
gptkbp:scope Java Script engine removal.
gptkbp:security No security issues addressed.
gptkbp:specification Java Language Specification.
gptkbp:stakeholders Involvement of stakeholders
Java community.
Java developers.
gptkbp:status gptkb:Final
gptkb:Preview
Standard Feature
Targeted for JDK 17
gptkbp:support gptkb:Community_support
No longer supported.
gptkbp:supports event filtering
event consumers
gptkbp:sustainability_efforts Encouraged.
gptkbp:target_jdk gptkb:JDK_17
gptkb:15
gptkb:JDK_11
gptkb:JDK_14
gptkb:JDK_16
gptkbp:title gptkb:Microbenchmark_Suite
gptkb:JFR_Event_Streaming
gptkb:New_mac_OS_Rendering_Pipeline
ZGC: Concurrent Thread-Stack Processing
Records (Standard Feature)
Remove the Applet API
Remove the Security Manager
Withers for Record Classes
Remove the Nashorn Java Script Engine
Deprecate the Java EE and CORBA Modules for Removal
gptkbp:updates Regular updates planned
gptkbp:usage Performance evaluation
gptkbp:vision Vision for future benchmarking.
gptkbp:was_a_result_of Community collaboration
Ongoing performance research
gptkbp:bfsParent gptkb:JEP_33
gptkb:JDK_10
gptkb:JDK_14
gptkb:Java_10
gptkbp:bfsLayer 5