Statements (473)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:API
gptkb:Java_Enhancement_Proposal |
gptkbp:bfsLayer |
4
|
gptkbp:bfsParent |
gptkb:JEP_33
gptkb:JDK_10 gptkb:JDK_14 gptkb:Java_10 |
gptkbp:adapted_into |
High.
|
gptkbp:addresses |
Performance bottlenecks
Memory Management Challenges |
gptkbp:affects |
Java applications
|
gptkbp:aims_to |
Application Performance
simplify type checks improve performance monitoring simplify the Java platform stream Java Flight Recorder events Simplify data carrier classes. |
gptkbp:allows |
event aggregation
conditional type casting |
gptkbp:analysis |
Performance analysis tools
|
gptkbp:applies_to |
Client applications
Server applications |
gptkbp:approves |
gptkb:software_framework
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 |
system administrators
application developers Positive. Significant. Good. Constructive. Improved performance on mac OS. Cleaner JDK. Migration challenges. Successful removal. Improves pause times for garbage collection. Accurate performance measurements |
gptkbp:can_be_used_with |
monitoring tools
|
gptkbp:category |
gptkb:benchmark
|
gptkbp:caused_by |
Java EE and CORBA are no longer widely used.
|
gptkbp:challenges |
User migration.
Benchmarking overhead |
gptkbp:collaborations |
Collaborative development
Open JDK community. |
gptkbp:community |
Active community involvement
|
gptkbp:community_engagement |
Active.
|
gptkbp:community_involvement |
Encouraged.
|
gptkbp:consequences |
Removal of the Security Manager may affect security policies.
Loss of Nashorn functionality. Legacy code issues |
gptkbp:contributed_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:depicted_in |
Maintained.
|
gptkbp:developed_by |
gptkb:Open_JDK_community
|
gptkbp:discusses |
gptkb:software_framework
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:ends_at |
gptkb:battle
Useful for developers Applet API should be removed Removal is beneficial. JMX is no longer part of the JDK |
gptkbp:enhances |
gptkb:Java_Flight_Recorder
gptkb:language observability type inference |
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:features |
gptkb:language
Support for pattern matching. Automatic generation of equals(), hash Code(), and to String() methods. Compact syntax for declaring classes. Microbenchmarking framework Java SE 17 (finalized) |
gptkbp:feedback |
Positive
User feedback encouraged Generally positive. Positive. Constructive. Open JDK mailing lists. |
gptkbp:first_published |
2021-09-15
|
gptkbp:focuses_on |
Performance workshops
Optimizing runtime performance Concurrent Memory Management |
gptkbp:future_plans |
Encourage migration to Graal VM.
Monitor migration. Monitor usage of alternatives. Enhancements to the suite Explore alternatives to JNI |
gptkbp:goal |
Improve performance
Improve benchmarking capabilities |
gptkbp:governed_by |
Open JDK governance model
|
gptkbp:has_documentation |
Updated to reflect removal.
JEP 372 documentation |
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. 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. 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:Company
code readability monitoring and diagnostics observability of Java applications |
gptkbp:includes |
Performance enhancements
API for event streaming JFRAPI changes |
gptkbp:increased |
Throughput
|
gptkbp:innovation |
Promote new technologies.
|
gptkbp:introduced |
gptkb:Java_11
gptkb:Java_16 gptkb:Java_SE_16 gptkb:Java_17 |
gptkbp:is_a |
gptkb:language
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_resource_for |
Documentation and tutorials
|
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:software
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_associated_with |
Performance testing
Java performance tuning |
gptkbp:is_cited_in |
academic papers
|
gptkbp:is_committed_to |
Strong.
|
gptkbp:is_compared_to |
Previous JDK versions
|
gptkbp:is_compatible_with |
Backward compatibility
Java applications existing JFR tools No compatibility with Nashorn. |
gptkbp:is_described_as |
gptkb:JDK_17
gptkb:JFR_Event_Streaming gptkb:ZGC technical articles 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. New Performance Improvements in JDK 11 Enhances ZGC to process thread stacks concurrently. JDK 17 Release Schedule |
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:software_framework
Java forums |
gptkbp:is_documented_in |
gptkb:chess_match
JEP 372 specification JEP 372 documentation |
gptkbp:is_enhanced_by |
future JE Ps
|
gptkbp:is_evaluated_by |
Performance benchmarks
performance engineers Performance metrics available |
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_implemented_in |
gptkb:Z_Garbage_Collector_(ZGC)
gptkb:Java_SE_14 gptkb:software gptkb:language gptkb:video_game gptkb:JDK_14 gptkb:chess_match 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_Enhancement_Proposal 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 |
gptkb:Java_conferences
Java advocates |
gptkbp:is_recognized_by |
industry leaders
Java experts |
gptkbp:is_referenced_in |
Future JE Ps
|
gptkbp:is_related_to |
gptkb:JEP_330
gptkb:JEP_334 gptkb:JEP_394 gptkb:Company gptkb:Java_Flight_Recorder 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:software_framework
Completed Approved Java experts |
gptkbp:is_scalable |
Good.
Scalable solution |
gptkbp:is_supported_by |
gptkb:JDK_Mission_Control
gptkb:multiple_platforms gptkb:Java_community Java developers Java documentation Java ID Es |
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_in |
microservices architecture
system administrators debugging purposes performance engineers |
gptkbp:issues |
JDK-8231234
JDK-8251234 JDK-8222200 |
gptkbp:key |
Automatic generation of withers.
JDK 11 features |
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 technologies. Remove outdated technology. |
gptkbp:notable_achievement |
Release Candidate
General Availability Java 11 development Feature Freeze Rampdown Phase One Rampdown Phase Two |
gptkbp:notable_recipients |
gptkb:Open_JDK_Community
gptkb:David_Holmes gptkb:Daniel_Smith gptkb:software_framework gptkb:Alex_Buckley gptkb:Java_Enhancement_Proposal Shenandoah Team |
gptkbp:objective |
Java Script engine removal.
Successful removal of Nashorn. |
gptkbp:origin |
Better Java performance
more expressive Java syntax |
gptkbp:outcome |
Cleaner JDK.
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:precedent |
Nashorn was deprecated in JDK 11.
|
gptkbp:produced_by |
Completed.
|
gptkbp:project |
gptkb:chess_match
High. Positive. Active. Improved. Importance of communication. Maintained. Ensured. Java community. Mark Reinhold. Graal VM. Modernize Java. Successful migration. 2020-01 to 2020-03. Improve Java ecosystem. Monitor alternatives. Promote new technologies. Updated JDK. |
gptkbp:proposed_by |
gptkb:Database_Management_System
gptkb:Open_JDK_community gptkb:Pattern_Matching_for_instanceof gptkb:Brian_Goetz 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_information_on |
Java performance optimization
Refer to Graal VM documentation. |
gptkbp:published_by |
JDK release notes
|
gptkbp:reduces |
boilerplate code
Memory footprint |
gptkbp:related_concept |
Java SE standards
ECMA Script. |
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:Company gptkb:operating_system gptkb:JEP_290 gptkb:Java_Enhancement_Proposal gptkb:TV_Show performance analysis |
gptkbp:release_date |
March 2021
September 2021 2020-03-17 |
gptkbp:released |
gptkb:JDK_17
gptkb:Java_SE_11 gptkb:Java_SE_14 gptkb:JDK_15 Included in JDK 15 release notes. JDK 17 Release Notes Future releases planned Included in JDK 17 release notes |
gptkbp:replaced_by |
Graal VM Java Script engine.
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:resulted_in |
Community collaboration
Ongoing performance research |
gptkbp:risk_factor |
Migration challenges.
|
gptkbp:security_features |
No security issues addressed.
|
gptkbp:significance |
High-performance applications
|
gptkbp:specifies |
Java Language Specification.
|
gptkbp:sponsor |
Involvement of stakeholders
Java community. Java developers. |
gptkbp:status |
gptkb:Final
gptkb:Preview Standard Feature Targeted for JDK 17 |
gptkbp:subject |
gptkb:Java_conferences
Research studies |
gptkbp:supports |
gptkb:Community_support
event filtering No longer supported. event consumers |
gptkbp:sustainability |
Encouraged.
|
gptkbp:sustainability_initiatives |
Encouraged.
|
gptkbp:targets |
gptkb:JDK_17
gptkb:15 gptkb:JDK_11 gptkb:JDK_14 gptkb:JDK_16 |
gptkbp:technology |
Java Script engines.
|
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:user_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:uses |
Performance evaluation
|
gptkbp:vision |
Vision for future benchmarking.
|
gptkbp:watch_features |
in Java SE 16
|