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
|