JEP 399

GPTKB entity

Statements (1,019)
Predicate Object
gptkbp:instance_of gptkb:API
gptkb:Java_Enhancement_Proposal
gptkbp:bfsLayer 4
gptkbp:bfsParent gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_33
gptkb:JDK_10
gptkb:JDK_14
gptkb:JDK_15
gptkb:JDK_18
gptkb:JEP_488
gptkb:Java_SE_15
gptkb:Java_10
gptkbp:adapted_into Aligned with Java's modernization efforts.
Aligned with modernization efforts.
gptkbp:addresses Bug reports
Large Heap Sizes
Native code integration issues
gptkbp:affects Java developers
gptkbp:aims_to provide a mechanism to manage memory outside of the Java heap
provide a mechanism to interact with native code
Reduce overhead in native calls
reduce overhead of monitoring.
stream JFR events to external systems
Improve performance of native code interaction
Minimize Stop-The-World Events
gptkbp:allows Cannot extend non-sealed interfaces.
gptkbp:api jdk.incubator.foreign
gptkbp:applies_to gptkb:software_framework
gptkbp:approves gptkb:JCP
March 2021
gptkbp:audience High user engagement in discussions.
gptkbp:author gptkb:Alan_Bateman
gptkb:Kohsuke_Kawaguchi
gptkb:Brian_Goetz
gptkb:David_Holmes
gptkb:Alex_Buckley
gptkb:Kirk_Pepperdine
gptkb:Mark_Reinhold
gptkb:Mikael_Vidstedt
gptkb:Jesse_Glick
Gavin Bierman
JDK Community
Open JDK Contributors
Andrew Dinn
Brian Goetz, et al.
Sharon Zardetto
gptkbp:benefits system administrators
Type safety
production environments
application developers
Easier refactoring
performance tuning.
performance engineers
Enhanced memory management capabilities
High-Throughput Systems
Support for sealed interfaces
Aims to reduce legacy code.
Reduce legacy code.
Successful deprecation of Applet API.
Successful deprecation.
Reduced boilerplate code
Improved performance for native calls
Simplified native code interaction
Real-time monitoring of Java applications.
Better API design
Reduced pause times
Improves maintainability and readability of code.
Enhanced pattern matching
Type safety, clearer API design.
Deprecation of Security Manager.
Clearer intent in class hierarchies
Controlled extensibility
Improved code clarity
Improved performance in some cases
Support for non-sealed classes
gptkbp:campaigns Clear roadmap for future development.
gptkbp:caused_by Modern applications do not use applets.
gptkbp:challenges Ensuring safety in memory access.
Performance overhead concerns
Ensuring safety and security in memory access
Maintaining compatibility with existing Java code
gptkbp:code Code samples provided for developers.
gptkbp:collaborated_with gptkb:Open_JDK_project
Java organizations
by Java developers.
by industry professionals.
by multiple stakeholders.
by software engineers.
Java contributors
Open JDK projects
gptkbp:collaborations Engages in collaborative projects.
Collaborated with other JE Ps.
gptkbp:community Active user community.
gptkbp:community_engagement 2021-06-15
Active discussions.
Engages with the developer community.
Engaged with Java community.
Engaged with developers.
Active discussions in the Java community.
gptkbp:community_events Participates in community events.
gptkbp:community_impact Minimal impact expected.
Encourages better design patterns.
gptkbp:community_involvement Encouraged.
High level of community involvement.
Involvement from various stakeholders.
gptkbp:community_support Strong community support.
Varied.
Strong support for deprecation.
Strong community support for deprecation.
Strong support from Java developers.
Strong community support for users.
gptkbp:complement existing monitoring solutions.
gptkbp:conference Presented at Java conferences.
gptkbp:consequences Applications relying on these modules will need to find alternatives.
gptkbp:contains security fixes
gptkbp:contributed_to gptkb:Java_Enhancement_Proposal
Java performance improvements
Java Performance
Java observability features
gptkbp:contribution Contributed to the evolution of Java.
Open for contributions from the community.
Aims to streamline Java.
Enhances the Java programming model.
Clear guidelines for contributions.
gptkbp:created 2021-07-14
2021-09-15
2019-09-17
gptkbp:current_use Very low.
gptkbp:date 2021-07-01
2021-09-15
gptkbp:decided_by Deprecation confirmed.
Approved for JDK 17.
gptkbp:dependency gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_387
gptkb:JEP_392
gptkb:JEP_412
None.
gptkbp:design Encapsulation, modularity.
Simplicity, safety, and performance.
gptkbp:developed_by gptkb:Open_JDK_community
gptkbp:developer Java Platform Group.
gptkbp:discusses Community feedback was considered.
Open JDK mailing list
Open JDK mailing list.
Open JDK mailing lists
https://openjdk.java.net/jeps/399
https://mail.openjdk.java.net/pipermail/jdk-dev/2021-September/005123.html
https://openjdk.java.net/jeps/399# Discussion
Security Manager's relevance in modern applications
gptkbp:education Adopted by major frameworks.
Rapid user adoption observed.
gptkbp:effective_date 2021-10-15
2021-07-15
gptkbp:enables integration with third-party tools
event-driven architectures.
gptkbp:ends_at 2021-07-15
Deprecation is a step towards modernization.
Sealed interfaces enhance the expressiveness of the Java type system.
Security Manager will be removed in future versions.
gptkbp:enhances performance analysis
performance analysis tools
Application Responsiveness
Java language features
Native memory tracking
Java's interoperability with native code
Potential for sealed classes.
Planned enhancements for usability.
gptkbp:error_handling Includes robust error handling mechanisms.
gptkbp:example Allocating native memory from Java
Calling C functions from Java
Accessing native libraries from Java.
Sealed interfaces can restrict which classes can implement them.
Interfacing with native libraries
Managing memory lifecycle in Java
Using foreign memory access API
Pattern matching with sealed classes
Sealed class declaration
Used in domain-specific languages.
Non-sealed class declaration
Permitted subclasses declaration
Sealed interface declaration
Memory allocation and deallocation.
gptkbp:facilitates event-driven architectures
Direct memory access
integration with external monitoring tools.
gptkbp:features API for calling native functions
API for memory allocation and deallocation
Support for structured data types
Support for value types
Pattern matching, records.
gptkbp:feedback Community feedback was considered.
Regularly collects community feedback.
Community surveys.
Mixed reactions.
Positive feedback.
Positive feedback from the community.
Incorporated.
High user satisfaction reported.
Collected.
Incorporates user feedback for improvements.
Established feedback mechanisms.
Positive feedback from the Java community.
Feedback was solicited.
Generally supportive.
Community input is encouraged
Open JDK mailing list for discussions.
Positive user feedback on usability.
gptkbp:first_published 2021-09-15
gptkbp:focuses_on Performance Optimization
Native code performance
Thread-Stack Processing
gptkbp:future_plans Enhance security features.
Address performance concerns.
Conduct performance benchmarks.
Expand API capabilities.
Finalize API design.
Further enhancements to the API.
Gather user feedback.
Improve documentation.
Integrate with other JE Ps.
Monitor usage and feedback.
Prepare for final release.
Support additional data types.
Monitor usage and consider removal in future versions.
Consider complete removal in future JD Ks.
Expected to phase out completely.
Expected to phase out.
Monitor for complete removal.
Further enhancements based on feedback
Potential enhancements to sealed types.
Integration with future Java versions
Evaluate alternatives.
Explore sealed classes.
Explore alternatives to Security Manager.
Monitor security landscape.
Aim for broader adoption.
Encourages research in memory access.
Expand functionality in future releases.
Vision for the future of memory access in Java.
gptkbp:has_community Open JDK mailing list.
gptkbp:has_content Available for learning purposes.
gptkbp:has_documentation Comprehensive user documentation available.
Available in the official Java documentation.
Available on Open JDK website
Javadoc documentation.
gptkbp:has_goal Achieve low-latency memory access.
gptkbp:has_impact_on Application Performance
gptkbp:has_skill Encourages knowledge sharing among developers.
gptkbp:has_transformation Java Performance
gptkbp:historical_context Applet API was widely used in the past.
gptkbp:historical_significance Low relevance today.
Significant in Java's history.
gptkbp:historical_source gptkb:chess_match
https://www.w3.org/2000/01/rdf-schema#label JEP 399
gptkbp:impact Minimal impact expected.
Conducted.
Reduces the size of the JDK.
Simplifies the JDK
Improved developer experience.
Minimal impact on current applications.
Removal of the Applet API from future Java versions.
Improves usability of Javadoc.
Improves maintainability and readability of code.
Allows for more controlled hierarchies in type systems.
Legacy applications using Security Manager
Applications may need to adapt.
Developers need to adapt.
Regular assessments of impact on the ecosystem.
JMX functionality will be removed from the JDK
Enhanced documentation quality.
Alignment with modern web standards.
Better accessibility of API documentation.
Increased adoption of Javadoc.
gptkbp:improves Memory Management
Java performance
JVM Native Interface
diagnostics.
observability of Java applications
observability of Java applications.
Safety of native code calls
Garbage Collection Performance
gptkbp:includes gptkb:JEP_387:_Elastic_Metaspace
gptkb:Pattern_Matching_for_instanceof
gptkb:Sealed_Classes
gptkb:Text_Blocks
gptkb:Foreign-Memory_Access_API_(Incubator)
gptkb:New_mac_OS_Rendering_Pipeline
Bug fixes
JEP 411: Deprecate the Security Manager for Removal
Hidden Classes
JEP 390: Warnings for Value-Based Classes
JEP 396: Strongly Encapsulate JDK Internals by Default
Performance optimizations
JEP 395: Records (Standard Feature)
JEP 401: JDK 15 Release Notes
JEP 403: JDK 15 Release Notes
JEP 405: JDK 15 Release Notes
JEP 410: JDK 15 Release Notes
JEP 413: JDK 15 Release Notes
JEP 414: JDK 15 Release Notes
JEP 416: JDK 15 Release Notes
JEP 418: JDK 15 Release Notes
JEP 419: JDK 15 Release Notes
JEP 420: JDK 15 Release Notes
JEP 421: JDK 15 Release Notes
JEP 424: JDK 15 Release Notes
JEP 426: JDK 15 Release Notes
JEP 427: JDK 15 Release Notes
JEP 428: JDK 15 Release Notes
JEP 435: JDK 15 Release Notes
JEP 436: JDK 15 Release Notes
JEP 438: JDK 15 Release Notes
JEP 439: JDK 15 Release Notes
JEP 440: JDK 15 Release Notes
JEP 441: JDK 15 Release Notes
JEP 443: JDK 15 Release Notes
JEP 444: JDK 15 Release Notes
JEP 447: JDK 15 Release Notes
JEP 448: JDK 15 Release Notes
JEP 450: JDK 15 Release Notes
JEP 385: Deprecate RMI Activation
JEP 388: Windows/ A Arch64 Port
JEP 391: mac OS/ A Arch64 Port
JEP 392: JDK 15 Release Notes
JEP 398: Deprecate the Applet API
JEP 399: JDK 15 Release Notes
JEP 400: UTF-8 by Default
JEP 402: JDK 15 Release Notes
JEP 404: JDK 15 Release Notes
JEP 406: JDK 15 Release Notes
JEP 407: JDK 15 Release Notes
JEP 408: JDK 15 Release Notes
JEP 409: JDK 15 Release Notes
JEP 411: JDK 15 Release Notes
JEP 412: JDK 15 Release Notes
JEP 415: JDK 15 Release Notes
JEP 417: JDK 15 Release Notes
JEP 422: JDK 15 Release Notes
JEP 423: JDK 15 Release Notes
JEP 425: JDK 15 Release Notes
JEP 429: JDK 15 Release Notes
JEP 430: JDK 15 Release Notes
JEP 431: JDK 15 Release Notes
JEP 432: JDK 15 Release Notes
JEP 433: JDK 15 Release Notes
JEP 434: JDK 15 Release Notes
JEP 437: JDK 15 Release Notes
JEP 442: JDK 15 Release Notes
JEP 445: JDK 15 Release Notes
JEP 446: JDK 15 Release Notes
JEP 449: JDK 15 Release Notes
JEP 451: JDK 15 Release Notes
JEP 452: JDK 15 Release Notes
JEP 453: JDK 15 Release Notes
JEP 454: JDK 15 Release Notes
JEP 455: JDK 15 Release Notes
JEP 456: JDK 15 Release Notes
JEP 457: JDK 15 Release Notes
JEP 458: JDK 15 Release Notes
JEP 459: JDK 15 Release Notes
JEP 460: JDK 15 Release Notes
JEP 461: JDK 15 Release Notes
JEP 462: JDK 15 Release Notes
JEP 463: JDK 15 Release Notes
JEP 464: JDK 15 Release Notes
JEP 465: JDK 15 Release Notes
JEP 466: JDK 15 Release Notes
JEP 467: JDK 15 Release Notes
JEP 468: JDK 15 Release Notes
JEP 469: JDK 15 Release Notes
JEP 470: JDK 15 Release Notes
JEP 471: JDK 15 Release Notes
JEP 472: JDK 15 Release Notes
JEP 473: JDK 15 Release Notes
JEP 474: JDK 15 Release Notes
JEP 475: JDK 15 Release Notes
JEP 476: JDK 15 Release Notes
JEP 477: JDK 15 Release Notes
JEP 478: JDK 15 Release Notes
JEP 479: JDK 15 Release Notes
JEP 480: JDK 15 Release Notes
JEP 481: JDK 15 Release Notes
JEP 482: JDK 15 Release Notes
JEP 483: JDK 15 Release Notes
JEP 484: JDK 15 Release Notes
JEP 485: JDK 15 Release Notes
JEP 486: JDK 15 Release Notes
JEP 487: JDK 15 Release Notes
JEP 488: JDK 15 Release Notes
JEP 489: JDK 15 Release Notes
JEP 490: JDK 15 Release Notes
JEP 491: JDK 15 Release Notes
JEP 492: JDK 15 Release Notes
JEP 493: JDK 15 Release Notes
JEP 494: JDK 15 Release Notes
JEP 495: JDK 15 Release Notes
JEP 496: JDK 15 Release Notes
JEP 497: JDK 15 Release Notes
JEP 498: JDK 15 Release Notes
JEP 499: JDK 15 Release Notes
JEP 384: Context-Specific Deserialization
JEP 386: New mac OS Rendering Pipeline
JEP 389: Foreign Function & Memory API (Incubator)
JEP 394: Pattern Matching for instanceof (Preview)
JEP 397: Sealed Classes (Standard Feature)
JEP 393: ZGC: Concurrent Thread-Stack Processing
gptkbp:influenced_by Concurrent Processing
gptkbp:influences Future JE Ps
gptkbp:innovation Encourages innovation in memory management.
Garbage Collection Techniques
gptkbp:integrates_with Integrates with existing Java features.
gptkbp:introduced gptkb:JDK_17
gptkb:Java_SE_11
gptkb:Java_17
Foreign function calls
Memory segments
Memory layouts
gptkbp:is_a_framework_for Frameworks relying on Applet API will be affected.
gptkbp:is_a_resource_for Resources available for users.
Documentation and tutorials available.
Resources for users to learn about sealed interfaces.
Documentation and forums available.
Webinars and workshops available.
Learning resources available online.
Resources available for community support.
gptkbp:is_adopted_by Enterprise Applications
cloud environments
open-source projects
software companies
Java Developers
Enterprise applications
Java developers
Legacy systems.
Java users
enterprise applications.
open-source projects.
software companies.
large enterprises.
Increasing among Java developers.
Java community.
Learning curve for new users.
Adopted by several frameworks.
Low adoption in modern development.
Learning curve for new features.
cloud service providers.
software development teams.
Java enterprises
Limited in modern applications.
Adopted in various Java projects.
gptkbp:is_aimed_at Java developers
Performance engineers
System programmers
Native application developers
gptkbp:is_aligned_with modern software practices.
gptkbp:is_analyzed_in Software engineers
technical papers
Java analysts
Java research papers
gptkbp:is_associated_with gptkb:Java_Native_Interface_(JNI)
gptkbp:is_available_in Open JDK.
gptkbp:is_cited_in Java documentation
Java textbooks
Java research papers
gptkbp:is_compared_to Previous JDK versions
gptkbp:is_compatible_with No backward compatibility issues.
No compatibility issues expected.
Backward compatible with existing Java code.
Java SE.
existing JFR tools
gptkbp:is_connected_to Java standards
gptkbp:is_considered Future JDK releases
gptkbp:is_critical_for Large Scale Applications
gptkbp:is_described_as gptkb:JDK_14
Technical specifications
Enhances Javadoc to support search functionality.
Java tutorials
Enhances ZGC to support concurrent thread-stack processing.
technical blogs.
This JEP proposes the removal of the Java EE and CORBA modules from the JDK.
Provides an API for calling native code and accessing native memory.
JDK 15 Release Notes
Java documentation.
Introduces sealed classes and interfaces to restrict which classes can extend or implement them.
Introduces sealed interfaces to the Java programming language.
Provides a mechanism for streaming Java Flight Recorder events.
tutorials.
New Native Improvements in JDK 11
Java technical documentation.
Provides an API to safely access foreign memory outside of the Java heap.
JDK 14 Bug Fixes
JDK 14 Support for the Java SE 14 API Specification
gptkbp:is_discussed_in gptkb:Java_conferences
Java Conferences
online forums.
Technical blogs
Java blogs
Java forums
Java forums.
Java influencers
Java mailing lists
Open JDK Mailing Lists
Java developer communities.
Java meetups.
gptkbp:is_documented_in gptkb:API
gptkb:Java_Enhancement_Proposal
Java SE documentation
Java SE documentation.
Open JDK documentation
Java authors
JDK release notes.
JEP index.
Java SE release notes.
official JEP documentation.
JDK 14 Release Notes
JDK 14 release notes
JEP 399 Specification
JEP 399 specification document
gptkbp:is_enhanced_by future JE Ps.
gptkbp:is_essential_for Modern Java Applications
gptkbp:is_evaluated_by gptkb:Java_SE_platform
Performance benchmarks
Java experts
performance metrics.
resource management.
scalability.
industry experts.
Java committees
performance analysts.
performance engineers.
security implications.
software architects.
gptkbp:is_explored_in Java documentation
Java webinars
Java courses
Java research projects
gptkbp:is_implemented_in gptkb:JDK_17
gptkb:JDK_Flight_Recorder
gptkb:video_game
gptkb:JDK_11
gptkb:JDK_14
gptkb:ZGC
gptkb:Java_Enhancement_Proposal
gptkb:chess_match
Under development
Implemented in the Java compiler.
Java runtime environment
Javadoc tool
Not applicable.
None identified.
Addressed.
Phased approach.
Finalized.
Completed.
Ensuring backward compatibility.
Implemented in JDK 17.
Open JDK Project Loom.
The modules will be removed from the JDK source.
No implementation plan required.
Not implemented.
Java Virtual Machine.
Fully implemented.
Javadoc tool.
JDK 14 Early Access Builds
JDK 14 Final Release
Details available in the JEP document.
Implemented in the Java standard library.
Examples in open-source projects.
JDK 17 implementation
Requires code changes.
gptkbp:is_influenced_by gptkb:JEP_370
User feedback
user feedback.
Java community feedback
gptkbp:is_influential_in Java development practices
gptkbp:is_integrated_with gptkb:software
gptkb:Java_tools
monitoring solutions
monitoring frameworks.
application performance management tools.
cloud-native applications.
monitoring dashboards.
gptkbp:is_linked_to gptkb:JEP_393
gptkb:JEP_394
gptkbp:is_monitored_by Java applications in production
gptkbp:is_motivated_by The Applet API is outdated and no longer widely used.
To improve performance and interoperability with native code.
To improve performance and interoperability with native libraries.
Java EE and CORBA are no longer part of the Java SE platform.
To provide a more declarative way to restrict the use of interfaces.
Security Manager is rarely used.
Enhance the Java programming language with more control over class hierarchies.
Reduce the maintenance burden of the JDK
Remove obsolete technologies
gptkbp:is_open_source Open source contributions encouraged.
gptkbp:is_part_of gptkb:Project_Panama
gptkb:Java_SE_Platform
gptkb:Java_SE_platform
gptkb:Java_Enhancement_Proposal
gptkb:Project_Loom
Java Ecosystem
Java ecosystem.
Java 17 features
JDK 17.
JDK Enhancement Proposals
Java release cycle
Java performance monitoring tools
Java history
JDK 14 updates
Java Flight Recorder features
Java observability stack
gptkbp:is_promoted_by Java user groups
Java workshops
webinars.
Java advocacy groups
Java advocates
Java blogs.
Java conferences.
Java influencers
Oracle.
Java community events.
Java newsletters.
Java technical conferences.
Java user conferences.
Java user groups.
gptkbp:is_recognized_by Industry experts
Java developers
Java Community
industry leaders.
gptkbp:is_referenced_in gptkb:JEP_400
gptkb:JEP_410
Java tutorials
academic papers.
software engineering literature.
technical specifications.
Java blogs
software development resources.
gptkbp:is_related_to gptkb:JEP_411
gptkb:JEP_386
gptkb:JEP_387
gptkb:JEP_392
gptkb:JEP_412
gptkb:JEP_413
gptkb:JEP_414
Garbage Collection Algorithms
JEP 392.
gptkbp:is_reviewed_by gptkb:Java_Language_Group
gptkb:Java_Native_Interface_Group
gptkb:Java_Performance_Group
gptkb:Open_JDK_Review_Board
gptkb:software_framework
gptkb:Java_Platform_Group
gptkb:Java_community
2021-06-01
Peer reviews
Java Community
Java community members
Reviewed and approved.
Java Community Process.
Java Experts
Java SE Platform Group
Java Development Kit Team
Java journals
gptkbp:is_supported_by gptkb:Java_SE_11
gptkb:Java_14
gptkb:Java_Mission_Control
gptkb:multiple_platforms
gptkb:Java_community
gptkb:chess_match
Java community resources
Java vendors
Java ID Es
community contributions.
Java Development Kit.
Java SE 17.
Java community initiatives
Java community.
JDK 17 and later
Java SE 17 enhancements.
Java SE 17 features.
Java SE 17 updates.
Java user community.
Java user groups.
gptkbp:is_tested_for gptkb:Open_JDK_Test_Suite
Java applications
Extensively tested for reliability.
real-time applications.
Java testing frameworks
Java QA teams
Java environments
QA teams.
Java testing environments
production environments.
real-world scenarios.
various workloads.
Java SE development process
Regular performance testing conducted.
JDK 14 Testing Framework
gptkbp:is_used_for performance tuning
Memory Intensive Applications
gptkbp:is_used_in production environments.
gptkbp:is_utilized_in High-performance computing
data collection
enterprise applications
real-time analytics
system diagnostics
Java applications
Java projects
application monitoring
data analysis.
real-time analytics.
data centers.
microservices.
enterprise solutions.
enterprise applications.
cloud environments.
system diagnostics.
system monitoring.
gptkbp:is_valued_for Performance Tuning
gptkbp:issues JDK-8261234
JDK-8221210
JDK-8260450
JDK-8260451
JDK-8260452
JDK-8260453
JDK-8260454
JDK-8260455
JDK-8260456
JDK-8260457
JDK-8260458
JDK-8260459
JDK-8260460
JDK-8260461
JDK-8260462
JDK-8260463
JDK-8260464
JDK-8260465
JDK-8260466
JDK-8260467
JDK-8260468
JDK-8260469
JDK-8260470
JDK-8260471
JDK-8260472
JDK-8260473
JDK-8260474
JDK-8260475
JDK-8260476
JDK-8260477
JDK-8260478
JDK-8260479
JDK-8260480
JDK-8260481
JDK-8260482
JDK-8260483
JDK-8260484
JDK-8260485
JDK-8260486
JDK-8260487
JDK-8260488
JDK-8260489
JDK-8260490
JDK-8260491
JDK-8260492
JDK-8260493
JDK-8260494
JDK-8260495
JDK-8260496
JDK-8260497
JDK-8260498
JDK-8260499
JDK-8260500
gptkbp:key gptkb:Sealed_classes
gptkb:Cloud_Computing_Service
Permits
Permitted subclasses
Access to native memory without JNI.
Safety and performance improvements.
Support for memory allocation and deallocation.
Support for native function calls.
Sealed interfaces restrict implementations.
Non-sealed classes
Sealed interfaces enhance type safety.
Memory access, safety, and performance.
gptkbp:key_issues Improved search capabilities
Backward compatibility.
Better integration with modern tools
Improved rendering of documentation.
New HTM L5 support
Support for new tags
gptkbp:latest_version 1.0
JDK 17.
14.0.1
Versioned for backward compatibility.
gptkbp:launch_date 2021-06-20
gptkbp:legacy No legacy support planned.
gptkbp:library Libraries using Applet API will need updates.
Libraries can leverage sealed interfaces.
gptkbp:members Open JDK community.
Supports user groups and meetups.
gptkbp:notable_album 2021-09-15
gptkbp:notable_production Affects how developers design interfaces.
May break existing applications.
Positive impact on development practices.
Simplifies native memory access for developers.
gptkbp:notable_recipients Java developers.
gptkbp:offers_workshops_on Conducted workshops for developers.
gptkbp:origin gptkb:Java_Enhancement_Proposal
gptkbp:outcome Approved for final release.
gptkbp:partnerships Opportunities for collaboration with other projects.
gptkbp:performance Improves performance for certain applications.
Minimal impact on performance.
Negligible impact on performance.
Benchmarked against existing methods.
Significant impact on performance.
gptkbp:performed_by Follow best practices for API design.
Use sealed interfaces for API design.
Guidelines for best practices in usage.
gptkbp:platform All platforms supporting JDK 17.
gptkbp:plot_summary This JEP proposes to deprecate the Applet API.
Deprecation of the Security Manager.
Sealed interfaces allow developers to control which classes can implement an interface.
This JEP proposes the removal of the JMX modules from the JDK.
Enhancements to Javadoc to improve usability.
gptkbp:population_trend Sealed types may become more common.
gptkbp:presented_by gptkb:Java_conferences
gptkbp:project Enhance security.
Defined.
Aligned with JDK release schedule.
Aligned with JDK releases.
Focus on modern development.
Java SE.
Modernize Java platform.
Focus on modern application development.
Streamline Java development.
gptkbp:proposed_by gptkb:Database_Management_System
gptkb:JDK_17
gptkb:Brian_Goetz
gptkb:Mark_Reinhold
Deprecate the Security Manager for Removal
Gavin Bierman
Jeppe C. H. H. M. van der Meer
gptkbp:provides Better User Experience
Better support for native libraries
API for event streaming.
Access to native libraries
a mechanism for real-time monitoring
gptkbp:provides_access_to JFR event data
gptkbp:provides_information_on Follow best practices.
Developers should migrate away from Applet API.
gptkbp:published_by Java magazines
Open JDK Website
gptkbp:reduces Boilerplate code for JNI
gptkbp:regulatory_compliance Conforms to the Java Language Specification.
Follows Java's safety and performance standards.
gptkbp:related_concept gptkb:Inheritance
gptkb:Java_SE_17
Functional programming
Object-oriented programming
Interfaces
Design patterns
Polymorphism
Encapsulation
Abstract classes
Code organization
Java language features
None.
Java SE standards.
Type hierarchy
gptkbp:related_jeps gptkb:JEP_411
gptkb:JEP_338
gptkb:JEP_384
gptkb:JEP_387
gptkb:JEP_392
gptkb:JEP_398
gptkb:JEP_181
gptkb:JEP_320
gptkb:JEP_409
gptkb:JEP_412
gptkb:JEP_424
JEP 398: Deprecate the Security Manager.
JEP 411: Deprecate the Security Manager.
JEP 360, JEP 411.
gptkbp:related_to gptkb:JEP_411
gptkb:JEP_386
gptkb:JEP_394
gptkb:Z_Garbage_Collector
gptkb:Java_Flight_Recorder
gptkb:software
gptkb:JNI_(Java_Native_Interface)
Java Memory Model
gptkbp:release_date March 2020
September 2021
gptkbp:released gptkb:JDK_17
gptkb:Java_SE_17
gptkb:Java_SE_14
gptkb:JDK_11
gptkb:JDK_14
gptkb:Java_17
Included in JDK 17 release notes.
The Applet API is deprecated.
Included in Java 17 release notes.
Aligned with Java's release cycle.
gptkbp:replaced_by gptkb:JDK_17
gptkb:Applet_API
These modules are outdated and not widely used.
Java EE Modules
Security Manager has limitations.
CORBA Modules
gptkbp:repository Open JDK Git Hub
gptkbp:requires gptkb:JEP_411
gptkb:JEP_338
gptkb:JEP_384
gptkb:JEP_387
gptkb:JEP_392
gptkb:JEP_393
gptkb:JEP_394
JDK 17 or later
JDK Flight Recorder.
gptkbp:result Published.
Deprecation approved.
Deprecation of the Applet API.
gptkbp:security_features 2021-06-30
Conducted.
Completed.
Potential increase in security risks.
Includes security checks for memory access.
Improves security by limiting interface implementations.
Adopt modern practices.
Evolving security practices.
Java Security API.
gptkbp:specifies gptkb:Java_Language_Specification
API for foreign functions and memory access
Defines how sealed interfaces can be declared and used.
Java Flight Recorder (JFR) event streaming
gptkbp:sponsor Ongoing.
Involved key stakeholders.
JDK Project.
Key stakeholders involved.
Java developers, framework authors.
gptkbp:status gptkb:Final
gptkb:organization
Proposed
Targeted
Standard Feature
gptkbp:strategic_importance Java Development
gptkbp:succeeded_by Measured by performance improvements.
Documented success stories from users.
Measured by adoption rate and user satisfaction.
gptkbp:supports C and C++ libraries
multiple output formats
Concurrent Marking
Supported by major ID Es.
event filtering.
Strong user support available.
gptkbp:target_audience Java developers
gptkbp:targets gptkb:JDK_17
gptkb:17
gptkb:JDK_11
gptkb:JDK_14
gptkb:JDK_15
gptkbp:technology gptkb:Java_Security_API
gptkb:Java_Enhancement_Proposal
JNI, JNA.
Java SE.
Java Security Framework.
gptkbp:title gptkb:Foreign_Function_&_Memory_API_(Incubator)
gptkb:Sealed_Classes
gptkb:JFR:_Event_Streaming
gptkb:JFR_Event_Streaming
Deprecate the Security Manager
Deprecate the Applet API
Javadoc Search
Sealed Interfaces
ZGC: Concurrent Thread-Stack Processing
Foreign-Memory Access API
Javadoc Updates
Remove the Java EE and CORBA Modules
Deprecate the Java EE and CORBA Modules for Removal
Remove the Java Management Extensions (JMX) Modules
gptkbp:tutorials Available online for developers.
Available online for learning.
gptkbp:updates 2023-01-10
2020-03-17
Regularly scheduled.
Will be monitored for further action.
gptkbp:use_case Useful in frameworks and libraries to enforce design constraints.
High-performance computing, game development.
gptkbp:user_base Primarily historical.
Growing user base in the Java ecosystem.
gptkbp:user_experience Focus on improving user experience.
gptkbp:user_reviews gptkb:Jane_Smith
gptkb:Alan_Bateman
gptkb:Alice_Johnson
gptkb:Bob_Brown
gptkb:Brian_Goetz
gptkb:John_Doe
gptkb:Venkat_Subramaniam
gptkb:Shenandoah
gptkb:Alex_Buckley
gptkb:Kirk_Pepperdine
gptkb:Mark_Reinhold
gptkb:Maurizio_Cimadamore
gptkb:Jesse_Glick
2019-03-20
2021-10-01
2021-06-10
Sharat Chander
Various community members.
Completed successfully.
Scheduled for JDK 18.
Various members of the Java community.
Sharon Zardetto
gptkbp:uses Used for accessing native memory in a controlled manner.
gptkbp:vision Focus on modern Java development practices.
Simplify Java security model.
To become a standard for memory access in Java.
gptkbp:year 2021-07-15