Statements (1,023)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:Java_2_Platform
gptkb:JEP |
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:api |
jdk.incubator.foreign
|
gptkbp:approves |
gptkb:JCP
March 2021 |
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 |
Type safety
Easier refactoring Enhanced memory management capabilities Support for sealed interfaces 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:cause |
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 |
Collaborated with other JEPs.
|
gptkbp:collaborative_projects |
Engages in collaborative projects.
|
gptkbp:community |
Active user community.
|
gptkbp:community_engagement |
Active discussions.
Engages with the developer community. Engaged with Java community. Engaged with developers. Active discussions in the Java community. |
gptkbp:community_engagement_date |
2021-06-15
|
gptkbp:community_events |
Participates in community events.
|
gptkbp:community_feedback |
Regularly collects community feedback.
Mixed reactions. Positive feedback. Incorporated. Positive feedback from the Java community. Feedback was solicited. Generally supportive. |
gptkbp:community_impact |
Minimal impact expected.
|
gptkbp:community_involvement |
Encouraged.
High level of community involvement. Involvement from various stakeholders. |
gptkbp:community_response_date |
2021-07-01
|
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:compatibility |
No backward compatibility issues.
No compatibility issues expected. Backward compatible with existing Java code. |
gptkbp:complement |
existing monitoring solutions.
|
gptkbp:concluded_on |
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:conference |
Presented at Java conferences.
|
gptkbp:conformance |
Conforms to the Java Language Specification.
Follows Java's safety and performance standards. |
gptkbp:consequences |
Applications relying on these modules will need to find alternatives.
|
gptkbp:contains |
security fixes
|
gptkbp:content |
Available for learning purposes.
|
gptkbp:contributes_to |
gptkb:Java_ecosystem
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:customer_satisfaction |
High user satisfaction reported.
|
gptkbp:date |
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:describes |
gptkb:JDK_14
JDK 15 Release Notes New Native Improvements in JDK 11 JDK 14 Bug Fixes JDK 14 Support for the Java SE 14 API Specification |
gptkbp:description |
Enhances Javadoc to support search functionality.
Enhances ZGC to support concurrent thread-stack processing. 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. 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. Provides an API to safely access foreign memory outside of the Java heap. |
gptkbp:design |
Encapsulation, modularity.
Simplicity, safety, and performance. |
gptkbp:developed_by |
gptkb:Open_JDK_community
|
gptkbp:development |
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:discussion_outcome |
Approved for final release.
|
gptkbp:education |
Adopted by major frameworks.
Rapid user adoption observed. |
gptkbp:educational_resources |
Webinars and workshops available.
Learning resources available online. |
gptkbp:effective_date |
2021-10-15
2021-07-15 |
gptkbp:enables |
integration with third-party tools
event-driven architectures. |
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.
Community input is encouraged |
gptkbp:feedback_mechanism |
Community surveys.
Incorporates user feedback for improvements. Established feedback mechanisms. Open JDK mailing list for discussions. |
gptkbp:feedback_received |
Positive feedback from the community.
|
gptkbp:final_implementation_date |
2021-07-15
|
gptkbp:first_published |
2021-09-15
|
gptkbp:focuses_on |
Native code performance
Thread-Stack Processing |
gptkbp:future_goals |
Aim for broader adoption.
Vision for the future of memory access in Java. |
gptkbp:future_plans |
Monitor usage and feedback.
Monitor usage and consider removal in future versions. Further enhancements based on feedback Integration with future Java versions Evaluate alternatives. Explore sealed classes. Expand functionality in future releases. |
gptkbp:future_projections |
Expected to phase out completely.
|
gptkbp:future_prospects |
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. Prepare for final release. Support additional data types. Expected to phase out. Monitor for complete removal. Potential enhancements to sealed types. Explore alternatives to Security Manager. Monitor security landscape. Encourages research in memory access. Integrate with other JEPs. Consider complete removal in future JDKs. |
gptkbp:has_community |
Open JDK mailing list.
|
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_limitations |
Cannot extend non-sealed interfaces.
|
gptkbp:has_skill |
Encourages knowledge sharing among developers.
|
gptkbp:historical_context |
Applet API was widely used in the past.
|
gptkbp:historical_significance |
Significant in Java's history.
|
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. Aims to reduce legacy code. Minimal impact on current applications. Reduce legacy code. 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:impact_on_codebases |
Encourages better design patterns.
|
gptkbp:implementation_feedback |
Collected.
|
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 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 JEP 388: Windows/ AArch64 Port JEP 391: mac OS/ AArch64 Port |
gptkbp:influences |
Future JEPs
|
gptkbp:innovation |
Encourages innovation in memory management.
Garbage Collection Techniques |
gptkbp:integration |
Integrates with existing Java features.
|
gptkbp:introduced |
Foreign function calls
Memory segments Memory layouts |
gptkbp:introduced_in |
gptkb:JDK_17
gptkb:Java_SE_11 gptkb:Java_17 |
gptkbp:involved_technology |
gptkb:Java_Security_API
gptkb:Java_FX JNI, JNA. Java SE. Java Security Framework. |
gptkbp:is_a_framework_for |
Frameworks relying on Applet API will be affected.
|
gptkbp:is_a_resource_for |
Documentation and tutorials available.
Documentation and forums available. 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_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_beneficial_for |
system administrators
production environments application developers performance tuning. performance engineers High-Throughput Systems |
gptkbp:is_cited_in |
Java documentation
Java textbooks Java research papers |
gptkbp:is_compared_to |
Previous JDK versions
|
gptkbp:is_compatible_with |
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 |
Technical specifications
Java tutorials technical blogs. Java documentation. tutorials. Java technical documentation. |
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:Java_2_Platform
gptkb:JEP 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 JEPs.
|
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_focused_on |
Performance Optimization
|
gptkbp:is_implemented_in |
gptkb:JDK_17
gptkb:JDK_Flight_Recorder gptkb:Java_Virtual_Machine gptkb:Java_2_Platform gptkb:JDK_11 gptkb:JDK_14 gptkb:ZGC gptkb:Open_JDK 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:Java_tools
gptkb:Java_Development_Kit_(JDK) 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_mentioned_in |
gptkb:Java_conferences
|
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_2_Platform gptkb:Java_SE_platform gptkb:Java_ecosystem 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_practiced_in |
Follow best practices for API design.
Use sealed interfaces for API design. Guidelines for best practices in usage. |
gptkbp:is_promoted_by |
Java user groups
Java advocacy groups Java advocates Java blogs. Java influencers Oracle. Java newsletters. Java technical conferences. Java user conferences. |
gptkbp:is_promoted_through |
Java workshops
webinars. Java conferences. Java community events. 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_relevant_to |
gptkb:Software_Development
|
gptkbp:is_reviewed_by |
gptkb:Java_Language_Group
gptkb:Java_Native_Interface_Group gptkb:Java_Performance_Group gptkb:Open_JDK_Review_Board gptkb:Java_Community_Process gptkb:Java_Platform_Group gptkb:Java_community 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:Open_JDK Java IDEs Java community resources Java vendors 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_targeted_at |
Java developers
Performance engineers System programmers Native application developers |
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_transformative_for |
Java Performance
|
gptkbp:is_used_for |
performance tuning
Memory Intensive Applications |
gptkbp:is_used_in |
production environments.
|
gptkbp:is_utilized_by |
enterprise applications
Java applications |
gptkbp:is_utilized_for |
data collection
system diagnostics data analysis. real-time analytics. system diagnostics. system monitoring. |
gptkbp:is_utilized_in |
High-performance computing
real-time analytics Java projects application monitoring data centers. microservices. enterprise solutions. enterprise applications. cloud environments. |
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:cloud_computing
Sealed interfaces enhance type safety. |
gptkbp:key_enhancements |
Improved search capabilities
Better integration with modern tools Improved rendering of documentation. Support for new tags New HTML5 support |
gptkbp:key_feature |
gptkb:Sealed_classes
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 Memory access, safety, and performance. |
gptkbp:key_issues |
Backward compatibility.
|
gptkbp:latest_version |
1.0
JDK 17. 14.0.1 Versioned for backward compatibility. |
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:modern_relevance |
Low relevance today.
|
gptkbp:next_review |
Scheduled for JDK 18.
|
gptkbp:notable_contributor |
Java developers.
|
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_release |
2021-09-15
|
gptkbp:offers_workshops_on |
Conducted workshops for developers.
|
gptkbp:originated_in |
gptkb:Java_2_Platform
|
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:platforms_affected |
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:popularized_by |
Concurrent Processing
|
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:project_review_date |
2021-06-20
|
gptkbp:proposed_by |
gptkb:JDK_17
gptkb:Brian_Goetz gptkb:Oracle gptkb:Oracle_Corporation 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_guidance_on |
Follow best practices.
Developers should migrate away from Applet API. |
gptkbp:provides_support_for |
Strong user support available.
|
gptkbp:published_by |
Java magazines
|
gptkbp:published_in |
Open JDK Website
|
gptkbp:reduces |
Boilerplate code for JNI
|
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:Java_Development_Kit_(JDK) gptkb:JNI_(Java_Native_Interface) Java Memory Model |
gptkbp:release_date |
March 2020
September 2021 |
gptkbp:release_notes |
Included in JDK 17 release notes.
The Applet API is deprecated. Included in Java 17 release notes. |
gptkbp:released |
gptkb:JDK_17
gptkb:Java_SE_17 gptkb:Java_SE_14 gptkb:JDK_11 gptkb:JDK_14 gptkb:Java_17 Aligned with Java's release cycle. |
gptkbp:replaced_by |
gptkb:JDK_17
gptkb:Applet_API Java EE Modules Security Manager has limitations. CORBA Modules |
gptkbp:replaces |
These modules are outdated and not widely used.
|
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: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. Various members of the Java community. Sharon Zardetto |
gptkbp:roadmap |
Clear roadmap for future development.
|
gptkbp:security |
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:security_best_practices_date |
2021-06-30
|
gptkbp:security_framework_review |
Completed.
|
gptkbp:security_policy_review |
Conducted.
|
gptkbp:security_review_date |
2021-06-01
|
gptkbp:source |
gptkb:Open_JDK
|
gptkbp:specification |
gptkb:Java_Language_Specification
API for foreign functions and memory access Defines how sealed interfaces can be declared and used. |
gptkbp:specifies |
Java Flight Recorder (JFR) event streaming
|
gptkbp:sponsor |
JDK Project.
|
gptkbp:stakeholders |
Ongoing.
Involved key stakeholders. Key stakeholders involved. Java developers, framework authors. |
gptkbp:status |
gptkb:Flamethrower
gptkb:Final Proposed Targeted Standard Feature |
gptkbp:strategic_goals |
Java Development
|
gptkbp:success |
Documented success stories from users.
|
gptkbp:success_rate |
Measured by performance improvements.
Measured by adoption rate and user satisfaction. |
gptkbp:support |
Supported by major IDEs.
|
gptkbp:supports |
C and C++ libraries
multiple output formats Concurrent Marking event filtering. |
gptkbp:target_audience |
Java developers
|
gptkbp:target_jdk |
gptkb:JDK_17
gptkb:17 gptkb:JDK_11 gptkb:JDK_14 gptkb:JDK_15 |
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:trends |
Sealed types may become more common.
|
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:usage |
Used for accessing native memory in a controlled manner.
|
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_engagement |
High user engagement in discussions.
|
gptkbp:user_experience |
Focus on improving user experience.
|
gptkbp:user_feedback |
Incorporates user feedback for improvements.
Positive user feedback on usability. |
gptkbp:user_resources |
Resources available for users.
Resources for users to learn about sealed interfaces. |
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
|
gptkbp:bfsParent |
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:bfsLayer |
5
|