Statements (961)
Predicate | Object |
---|---|
gptkbp:instance_of |
gptkb:Java_2_Platform
gptkb:technique gptkb:JEP |
gptkbp:access |
Records can implement interfaces.
Records are implicitly final. Records cannot extend other classes. |
gptkbp:adapted_into |
Adaptable to changing needs.
Flexible design. |
gptkbp:addresses |
locale-sensitive operations
Security risks in deserialization boilerplate code reduction issues with existing tooling |
gptkbp:adds |
new APIs for internationalization
|
gptkbp:advances |
Java developers
|
gptkbp:affects |
Java developers
|
gptkbp:aims_to |
simplify data modeling
simplify internationalization in Java applications improve observability of Java applications stream Java Flight Recorder events enhance the Java development experience |
gptkbp:aims_to_improve |
tooling complexity
|
gptkbp:allows |
event streaming over network
|
gptkbp:approves |
gptkb:Open_JDK_community
September 2020 JDK Release Team |
gptkbp:author |
gptkb:Alan_Bateman
gptkb:Brian_Goetz gptkb:J._B._Rainsberger gptkb:Javac_Team gptkb:Jeppe_Cramon gptkb:Mark_Reinhold JDK Release Team JEP 384 Author |
gptkbp:benefits |
Reduces boilerplate code.
Continuous feedback loop. Cleaner code, fewer errors. Simplifies data modeling. Supports pattern matching. Enhanced security and flexibility. Expected to enhance Java ecosystem. Improved deserialization capabilities. Reduces boilerplate code for data carriers. Regular evaluations scheduled. Enhances readability. Improves error handling. Simplifies multithreading. Improves string handling in Java. Improved performance for memory-intensive applications. Increased control over deserialization. |
gptkbp:can_be_extended_by |
future JEPs
|
gptkbp:can_be_used_for |
debugging purposes
|
gptkbp:cause |
Java EE and CORBA are no longer widely used.
|
gptkbp:challenges |
Complexity in implementation.
Ensuring backward compatibility. Ensuring compatibility with existing systems. Balancing security and performance. Ensuring compatibility with existing applications. |
gptkbp:collaborated_with |
gptkb:Open_JDK_contributors
open-source projects |
gptkbp:collaboration |
Java developers
Collaborative effort with the community. |
gptkbp:collaborative_projects |
multiple stakeholders
Collaboration with industry experts. Integrates with existing Java frameworks. |
gptkbp:community_engagement |
Active discussions on forums.
|
gptkbp:community_feedback |
Positive reception.
Positive feedback from the community. Positive feedback from early adopters. Promotes best practices. Positive feedback from developers. Positive response from the community. Simplifies code. Encourages immutability. Gathered during preview. |
gptkbp:community_involvement |
Active community involvement in discussions.
|
gptkbp:community_outreach |
Engaging with the developer community.
Engagement with Java user groups. |
gptkbp:community_support |
Strong community support.
Active community support. |
gptkbp:compatibility |
Backward compatible with existing Java code.
Backward compatible. Backward compatible with existing serialization. Maintains backward compatibility. Backward compatibility may be affected. |
gptkbp:concluded_on |
March 2021
A significant improvement to the Java language. The JEP was accepted and implemented. The Security Manager is deprecated and will be removed. |
gptkbp:conformance |
Conforms to Java SE specifications.
Conforms to Java language specifications. |
gptkbp:consequences |
Improved readability and maintainability of code.
Legacy applications may need to migrate. |
gptkbp:constructor |
Compact constructor syntax.
|
gptkbp:contributes_to |
gptkb:Java_security_model
Modern Java features Java's functional programming capabilities. |
gptkbp:contribution |
Contributed to the evolution of Java.
Open for contributions from the community. Open for contributions. |
gptkbp:created |
2020-01-14
2020-09-15 2019-09-17 |
gptkbp:date |
2019-09-17
|
gptkbp:dependency |
None.
|
gptkbp:describes |
gptkb:JFR:_Event_Streaming
gptkb:JDK_15 New Internationalization Enhancements JDK 14 Support for the Java SE 14 Language |
gptkbp:description |
Enhances the instanceof operator to allow pattern matching.
Enhances the Java programming language with record patterns. This JEP proposes to remove the Java EE and CORBA modules from the JDK. Provides a new class type for modeling immutable data. Provides a mechanism for context-specific deserialization. Enhances the String conversion mechanism in Java. This JEP proposes to return unused memory to the operating system promptly. Introduces a new string literal syntax that allows for context-sensitive string literals. |
gptkbp:developed_by |
gptkb:Open_JDK_community
|
gptkbp:developer |
Training resources to be developed.
|
gptkbp:discusses |
gptkb:Java_Community_Process
https://openjdk.java.net/jeps/384 JDK mailing list Open JDK mailing list Open JDK mailing lists Open JDK mailing lists. Pattern Matching in Java https://openjdk.java.net/jeps/384# Discussion The JDK mailing list and Open JDK discussions. |
gptkbp:effective_date |
2021-06-15
|
gptkbp:enables |
conditional execution
More concise code immutable data structures easier data transfer event consumption by external tools real-time analysis of application performance Better data encapsulation. |
gptkbp:encourages |
Separation of concerns.
Best practices in serialization Declarative data structures. Declarative programming style. Functional interfaces. Use of immutability. Type-safe APIs. |
gptkbp:end_date |
2020-01-14
2021-03-16 TBD |
gptkbp:enhances |
gptkb:Java_Flight_Recorder
gptkb:Java_programming_language Type safety type safety pattern matching number formatting Java programming language. Code maintainability. Potential for additional features. Potential for more pattern matching features. Existing deserialization mechanisms Support for annotations. Pattern matching for records. existing internationalization features Java Flight Recorder capabilities Java's data handling capabilities. Java's expressiveness. Java's object-oriented features. Java's type system. Record types in switch expressions. Sealed records. IDE support for Java user experience with Java tools Integration with other JEPs. |
gptkbp:equals_method |
Automatically generated.
|
gptkbp:evaluates |
Regular reviews and assessments.
Security, performance, usability. |
gptkbp:example |
if (obj instanceof String s) { ... }
Code examples provided. Pattern matching in switch expressions. record Point(int x, int y) {} Custom deserialization logic. record Person(String name, int age) {} Pattern matching with records. String s = " Hello, ${name}"; Many examples in the community. |
gptkbp:exemplifies |
type checking
Data class creation. |
gptkbp:facilitates |
data analysis
pattern matching Null checks Data validation. Data transfer. Data transformation. Pattern matching. global application development data collection for profiling API evolution. faster build times |
gptkbp:feature |
Pattern Matching
Automatic generation of equals(), hash Code(), and to String() methods. |
gptkbp:features |
Pattern Matching for instanceof.
|
gptkbp:feedback |
Positive from the Java community.
|
gptkbp:feedback_mechanism |
Community forums.
Feedback through Open JDK. |
gptkbp:first_preview |
gptkb:JDK_14
|
gptkbp:first_published |
2021-01-12
2020-09-15 |
gptkbp:formulation |
record Point(int x, int y) {}
Uses 'record' keyword. Automatically generates accessors. Defines fields in the header. Generates equals() and hash Code() methods. Generates to String() method. Introduces 'record' keyword. |
gptkbp:funding |
Supported by Oracle.
|
gptkbp:future_plans |
Continued support and updates.
|
gptkbp:future_prospects |
Further enhancements to pattern matching.
Further enhancements and optimizations. Monitor performance impact post-implementation. Potential enhancements in future JDKs. |
gptkbp:goals |
Improve deserialization process.
|
gptkbp:governance |
Open JDK governance model.
Managed by Open JDK governance. |
gptkbp:has_advisory_board |
Open JDK advisory board.
|
gptkbp:has_community |
Open JDK mailing lists.
|
gptkbp:has_documentation |
Extensive documentation available.
Included in JDK 16 documentation. Comprehensive documentation planned. Comprehensive documentation to be provided. Detailed in JDK documentation. |
gptkbp:has_limitations |
Cannot be abstract.
Cannot extend other classes. Cannot have mutable fields. Cannot have non-final fields. Cannot implement interfaces. Cannot have instance initializers. Cannot have non-static methods. Cannot have static initializers. |
gptkbp:has_project |
Strong support from Oracle.
|
gptkbp:has_version |
Part of JDK 14.
|
gptkbp:hash_code_method |
Automatically generated.
|
gptkbp:historical_achievement |
Initial proposal, review, implementation.
|
https://www.w3.org/2000/01/rdf-schema#label |
JEP 384
|
gptkbp:impact |
Improves user experience.
Scalable solution. Technical challenges. Enhances the Java programming language. Improves pattern matching capabilities. Reduces the size of the JDK Simplifies data modeling. Simplifies the common coding pattern of type checking and casting. Applications that rely on the Security Manager may need to be modified. Improved security for applications using deserialization Simplifies type checks Significant impact on Java applications. Potentially affects all Java applications using serialization. Improves the usability of String conversion. Enhances the Java serialization mechanism. Potentially reduce memory footprint. Applications using JMX will need to find alternatives Removes legacy modules from the JDK Significant impact on Java programming. |
gptkbp:improves |
Code readability
code readability Data integrity. Data consistency. Locale support date and time formatting Data handling. Code readability. Pattern matching capabilities Application security posture event handling efficiency observability of Java applications Data manipulation. performance of Java tools |
gptkbp:include |
new capabilities for Java tools
|
gptkbp:includes |
new language features
new resource bundles enhancements to the Java language server improvements to the Java compiler |
gptkbp:influenced_by |
Scala case classes.
|
gptkbp:influences |
future Java language features
Future JEPs on serialization |
gptkbp:innovation |
Innovative approach to deserialization.
|
gptkbp:introduced |
new classes for internationalization
|
gptkbp:introduced_in |
gptkb:Java_14
gptkb:Java_SE_17 gptkb:Java_16 gptkb:Java_SE_16 gptkb:JDK_14 gptkb:JDK_16 gptkb:Java_SE_15 |
gptkbp:involved_technology |
gptkb:Garbage_Collection
Java Development Kit. Java Language Specification. Java Language, JVM. Java SE 17. Java SE 18. Java SE. Java SE 14. Java SE 15. Java SE 16. Java SE 19. Java SE 20. Java Virtual Machine. Java Serialization API. Java API. |
gptkbp:is_a_key_component_of |
JDK 14 features
|
gptkbp:is_a_proposal_that_seeks_to |
enhance the overall Java ecosystem.
|
gptkbp:is_about |
records
Context-Specific Deserialization Filters |
gptkbp:is_adopted_by |
gptkb:Java_frameworks
gptkb:Java_SE_platform gptkb:Java_community enterprise applications cloud-native applications microservices architecture open-source projects Java applications Open source projects Enterprise applications Java developers cloud computing solutions cloud applications Cloud applications Expected to be widely adopted. High adoption rate among developers. High adoption rate in new projects. Java developers. Widely adopted in Java 16. Widely adopted in Java applications. Learning curve for developers. Increasing adoption rate. Adopted in enterprise applications. |
gptkbp:is_aimed_at |
improving code quality
modernizing Java tools |
gptkbp:is_aligned_with |
Java's long-term goals
|
gptkbp:is_analyzed_in |
gptkb:Java_conferences
performance benchmarks Code reviews software analysts software engineering studies Java research papers Java security audits |
gptkbp:is_associated_with |
Java tooling ecosystem
|
gptkbp:is_available_in |
JDK 14 and later versions
|
gptkbp:is_beneficial_for |
gptkb:developers
system administrators |
gptkbp:is_cited_in |
academic literature
Java textbooks Security research papers Java research articles Java internationalization literature Java SE 15 documentation subsequent JEPs |
gptkbp:is_compared_to |
gptkb:JEP_386
other programming languages Similar to data classes in Kotlin. Similar to case classes in Scala. Similar to records in C#. Similar to structs in Go. Similar to tuples in Python. |
gptkbp:is_compatible_with |
gptkb:Java_SE_14
microservices architecture Java applications previous JDK versions existing JFR features |
gptkbp:is_considered |
future enhancements
future Java versions |
gptkbp:is_described_as |
technical articles
Java documentation Java experts Java tutorials Java language experts JEP 384 document |
gptkbp:is_designed_for |
high-throughput applications
|
gptkbp:is_designed_to |
simplify Java development
|
gptkbp:is_discussed_in |
gptkb:Java_conferences
gptkb:Java_Community_Process Online courses online courses Java developers Java meetups Technical blogs Developer meetups Java community forums Java forums Java podcasts technical meetups |
gptkbp:is_documented_in |
gptkb:JEP
Java SE documentation Java documentation Oracle documentation JDK 15 Release Notes Open JDK documentation JEP 384 documentation JEP 384 specification document |
gptkbp:is_essential_for |
gptkb:standard
gptkb:High production environments |
gptkbp:is_evaluated_by |
scalability
industry analysts Java developers academic researchers Java experts performance engineers Security compliance checks Java security analysts Java security assessments Java security teams |
gptkbp:is_expected_to |
improve developer productivity
better integration with build tools |
gptkbp:is_explored_in |
gptkb:academic_research
Java tutorials Java workshops developer blogs Java blogs |
gptkbp:is_focused_on |
event-driven architecture
|
gptkbp:is_implemented_in |
gptkb:Java_Runtime_Environment
gptkb:Java_Flight_Recorder gptkb:Java_programming_language gptkb:JDK_11 gptkb:JDK_14 gptkb:Java_Development_Kit_(JDK) Java developers Implemented in the Java compiler. JDK Enhancement-Proposal Phased implementation. Java. Under development. Detailed in the proposal. Completed. Implemented in JDK 16. Implemented in JDK 17. Implemented in the Hot Spot JVM. JDK 16 implementation of pattern matching. JDK 16 implementation. Fully implemented. Proposed implementation in the JDK. Part of the Java SE platform. Part of the Java SE Platform. No specific implementation is required. Java 14 runtime |
gptkbp:is_influenced_by |
functional programming
functional programming concepts user feedback Java 8 features developer feedback previous JEPs |
gptkbp:is_influential_in |
Software development methodologies
software development practices Java development practices |
gptkbp:is_integrated_with |
gptkb:Java_ecosystem
gptkb:cloud_services monitoring tools monitoring frameworks Java build tools third-party analytics tools |
gptkbp:is_linked_to |
gptkb:Java_Flight_Recorder_API
|
gptkbp:is_mentioned_in |
Java blogs
|
gptkbp:is_motivated_by |
Reduce boilerplate code.
Reduce the size of the JDK Java EE and CORBA are no longer part of the Java SE platform. The Security Manager has been a source of complexity and confusion. Improve security and flexibility in deserialization. Improve security and performance of deserialization. To simplify the use of records in pattern matching. To improve the readability and maintainability of code. Improve memory management in Java applications. |
gptkbp:is_part_of |
gptkb:Java_SE_11
gptkb:Java_SE_Platform gptkb:Java_2_Platform gptkb:Java_programming_language gptkb:Java_SE_platform gptkb:Java_SE_16 gptkb:JDK_14 gptkb:Java_ecosystem gptkb:Java_Development_Kit_(JDK) Java SE 11 features Java language evolution Java performance tuning Java SE 15 features Java's evolution Java SE 17 features Java security enhancements Java 14 features Java observability solutions Java performance management. Java performance monitoring tools Java's modernization strategy JDK enhancement process Java's continuous improvement cycle Java's feature set for 2020 Java's ongoing improvement efforts |
gptkbp:is_promoted_by |
gptkb:Oracle_Corporation
gptkb:Java_community Java user groups Java advocates Java newsletters |
gptkbp:is_promoted_through |
gptkb:Java_conferences
Webinars webinars Java user groups Java training programs |
gptkbp:is_recognized_by |
Industry leaders
Java certification bodies |
gptkbp:is_referenced_in |
Technical documentation
Java textbooks Java tutorials Java books Java security guidelines subsequent JEPs |
gptkbp:is_related_to |
gptkb:JEP_353
gptkb:JEP_386 gptkb:JEP_394 gptkb:JEP_395 gptkb:JEP_397 gptkb:Java_Flight_Recorder gptkb:JEP_305 performance monitoring Java performance optimization |
gptkbp:is_reviewed_by |
gptkb:Java_conferences
gptkb:Java_SE_Platform_Review_Board gptkb:Java_Community_Process gptkb:Java_community JDK Review Board Java experts Security experts technical journals Java professionals |
gptkbp:is_supported_by |
gptkb:Java_frameworks
gptkb:Java_Virtual_Machine gptkb:Java_16 gptkb:multiple_platforms gptkb:Java_Development_Kit_(JDK) gptkb:Java_community Java developers Java IDEs Java user groups Java training programs Java runtime environments JDK 11 and later versions JDK 14 and later versions JDK 15 and later |
gptkbp:is_targeted_at |
Java developers
JDK 14 release |
gptkbp:is_tested_for |
real-world scenarios
Java applications performance testing tools Java developers various environments Extensively tested. Java testing frameworks Extensive testing was conducted. Java security tests Java testing tools Open JDK testing framework Java test suites Extensive testing planned. JDK 14 builds |
gptkbp:is_used_for |
event-driven architectures
|
gptkbp:is_used_in |
enterprise applications
performance tuning production environments |
gptkbp:is_utilized_by |
enterprise applications
monitoring tools system administrators Java applications Software engineers Enterprise software solutions data science applications developers for debugging |
gptkbp:is_utilized_for |
data analysis
real-time monitoring system performance evaluation application diagnostics |
gptkbp:is_utilized_in |
gptkb:Java_frameworks
enterprise applications real-time analytics |
gptkbp:is_visible_from |
High visibility in the Java community.
|
gptkbp:issue_link |
https://bugs.openjdk.java.net/browse/ JDK-8234567
|
gptkbp:issues |
JDK-8212020
JDK-8241234 JDK-8251234 |
gptkbp:jdkrelease |
gptkb:16
|
gptkbp:key |
performance analysis
Context-specific deserialization is essential. |
gptkbp:key_deliverables |
Working prototype, documentation.
|
gptkbp:key_feature |
Context-specific filters
Compact syntax for declaring data classes. Context-specific deserialization. Context-sensitive string literals. |
gptkbp:key_parties |
Oracle, Open JDK community.
|
gptkbp:language |
Type checking and casting.
|
gptkbp:latest_version |
gptkb:JDK_16
1.0. Java version history JDK 14 and later. |
gptkbp:nested_records |
Supports nested records.
|
gptkbp:notable_contributor |
open-source community
Java community members JDK Community Brian Goetz, Mark Reinhold. |
gptkbp:notable_production |
Minimal impact on existing code.
No negative impact. |
gptkbp:notable_release |
2020-09-01
|
gptkbp:originated_in |
better Java tooling
|
gptkbp:outcome |
More secure and efficient deserialization.
|
gptkbp:pattern_matching |
Enhances pattern matching capabilities.
|
gptkbp:performance |
Optimized for performance.
Minimal performance impact. Reduces overhead in deserialization. |
gptkbp:plot_summary |
Enhances instanceof with pattern matching.
Removal of outdated modules. This JEP proposes to deprecate the Security Manager for removal in a future release. Provides a mechanism for context-specific deserialization. Introduce structured concurrency to Java. This JEP proposes a mechanism for context-sensitive names in the Java programming language. |
gptkbp:production_status |
Active.
|
gptkbp:project |
On track for completion.
2020-2021. Mark Reinhold. Open JDK. Adequate resources allocated. Achieve high security and performance. Enhance Java serialization. Frequent updates to stakeholders. https://openjdk.java.net/jeps/384. |
gptkbp:promotes |
Clearer API design.
Clearer data contracts. Code reusability. Data-oriented programming. |
gptkbp:proposed_by |
gptkb:Open_JDK_community
gptkb:Pattern_Matching_for_instanceof gptkb:Brian_Goetz gptkb:Oracle gptkb:Doug_Lea gptkb:JDK_14 gptkb:Markus_Karg Java developers Record Types JDK Enhancement Proposals Java language enhancements Records as a standard feature streaming of Java Flight Recorder events Remove the Java Management Extensions (JMX) Modules aims to streamline Java development processes tooling improvements for JDK 14 |
gptkbp:proposed_removal |
gptkb:JDK_18
|
gptkbp:provides |
real-time monitoring
API for context-specific filters better support for Unicode a compact syntax for declaring classes a mechanism for event consumers Built-in validation. Type-safe data structures. compact syntax for data classes better diagnostics for developers |
gptkbp:provides_access_to |
recorded events
event data streams |
gptkbp:published_by |
gptkb:Java_Enhancement_Proposals_repository
JDK community |
gptkbp:purpose |
Enhance security of deserialization process
|
gptkbp:record_components |
Can be accessed via accessor methods.
Can be destructured. |
gptkbp:reduces |
boilerplate code
Error-prone boilerplate. Code duplication. Complexity in data handling. Runtime errors. |
gptkbp:related_concept |
None.
Java SE standards. Immutable objects. |
gptkbp:related_jeps |
gptkb:JEP_411
gptkb:JEP_346 gptkb:JEP_385 gptkb:JEP_390 gptkb:JEP_391 gptkb:JEP_394 gptkb:JEP_395 gptkb:JEP_396 gptkb:JEP_397 gptkb:JEP_398 gptkb:JEP_399 gptkb:JEP_12 gptkb:JEP_290 gptkb:JEP_400 gptkb:JEP_401 gptkb:JEP_402 gptkb:JEP_403 gptkb:JEP_404 gptkb:JEP_405 gptkb:JEP_406 gptkb:JEP_407 gptkb:JEP_408 gptkb:JEP_409 gptkb:JEP_410 gptkb:JEP_412 gptkb:JEP_413 gptkb:JEP_414 gptkb:JEP_415 gptkb:JEP_416 gptkb:JEP_417 gptkb:JEP_418 gptkb:JEP_419 gptkb:JEP_420 gptkb:JEP_421 gptkb:JEP_422 gptkb:JEP_423 gptkb:JEP_424 gptkb:JEP_425 gptkb:JEP_426 gptkb:JEP_427 gptkb:JEP_428 gptkb:JEP_429 gptkb:JEP_430 gptkb:JEP_431 gptkb:JEP_432 gptkb:JEP_433 gptkb:JEP_434 gptkb:JEP_435 gptkb:JEP_436 gptkb:JEP_437 gptkb:JEP_438 gptkb:JEP_439 gptkb:JEP_440 gptkb:JEP_441 gptkb:JEP_442 gptkb:JEP_443 gptkb:JEP_444 gptkb:JEP_445 gptkb:JEP_446 gptkb:JEP_447 gptkb:JEP_448 gptkb:JEP_449 gptkb:JEP_450 gptkb:JEP_451 gptkb:JEP_452 gptkb:JEP_453 gptkb:JEP_454 gptkb:JEP_455 gptkb:JEP_456 gptkb:JEP_457 gptkb:JEP_458 gptkb:JEP_459 gptkb:JEP_460 gptkb:JEP_461 gptkb:JEP_462 gptkb:JEP_463 gptkb:JEP_464 gptkb:JEP_465 gptkb:JEP_466 gptkb:JEP_467 gptkb:JEP_468 gptkb:JEP_469 gptkb:JEP_470 gptkb:JEP_471 gptkb:JEP_472 gptkb:JEP_473 gptkb:JEP_474 gptkb:JEP_475 gptkb:JEP_476 gptkb:JEP_477 gptkb:JEP_478 gptkb:JEP_479 gptkb:JEP_480 gptkb:JEP_481 gptkb:JEP_482 gptkb:JEP_483 gptkb:JEP_484 gptkb:JEP_485 gptkb:JEP_486 gptkb:JEP_487 gptkb:JEP_488 gptkb:JEP_489 gptkb:JEP_490 gptkb:JEP_491 gptkb:JEP_492 gptkb:JEP_493 gptkb:JEP_494 gptkb:JEP_495 gptkb:JEP_496 gptkb:JEP_497 gptkb:JEP_498 gptkb:JEP_499 gptkb:JEP_500 JEP 394, JEP 305 JEP 290, JEP 367. |
gptkbp:related_to |
gptkb:Fork/_Join_Framework
gptkb:JEP_386 gptkb:JEP_394 gptkb:JEP_395 gptkb:JEP_305 gptkb:Future instanceof operator Concurrency API Deserialization vulnerabilities |
gptkbp:release_date |
March 2020
September 2018 March 2020. |
gptkbp:release_notes |
To be published.
Included in JDK 14 release notes. https://www.oracle.com/java/technologies/javase/17-relnote-issues.html |
gptkbp:released |
gptkb:JDK_17
gptkb:Java_SE_11 gptkb:Java_16 gptkb:Java_SE_14 gptkb:JDK_11 gptkb:JDK_15 gptkb:Java_17 Aligned with JDK release cycle. JDK 17 or later. |
gptkbp:replaced_by |
Java EE Modules
CORBA Modules |
gptkbp:replaces |
Java EE modules
CORBA modules Explicit casting after instanceof |
gptkbp:requires |
gptkb:Java_Virtual_Machine_Specification
gptkb:Java_SE_Platform gptkb:Java_Language_Specification gptkb:JEP_290 Java Virtual Machine (JVM) support JDK 14 or later |
gptkbp:requires_review |
Security implications
|
gptkbp:reviews |
gptkb:Alan_Bateman
gptkb:Brian_Goetz gptkb:David_Holmes gptkb:Venkat_Subramaniam gptkb:Dan_Smith gptkb:Alex_Buckley gptkb:Johan_Vos gptkb:Josh_Bloch gptkb:Kirk_Pepperdine gptkb:Mark_Reinhold gptkb:Maurizio_Cimadamore gptkb:Richard_Warburton gptkb:Jesse_Glick gptkb:Sander_Hoogendoorn 2019-12-10 2020-12-01 2021-05-10 JDK Review Team JDK Community JDK Enhancement-Proposal Review Process Various members of the Open JDK community Various members of the Open JDK community. Various Java community members. Jim Laskey JEP 384 Reviewers https://openjdk.java.net/jeps/384#review Sharon Zardetto Lars Vogel |
gptkbp:risk_management |
Low to moderate risks identified.
|
gptkbp:scope |
Focus on deserialization.
Java Virtual Machine (JVM) memory management. |
gptkbp:security |
No security impact.
Mitigates risks associated with deserialization. Addresses deserialization vulnerabilities. Enhances security through immutability. |
gptkbp:specification |
gptkb:Java_Language_Specification
https://openjdk.java.net/jeps/384# Specification |
gptkbp:specifies |
Deserialization filters based on context
|
gptkbp:sponsor |
gptkb:Mark_Reinhold
|
gptkbp:stakeholders |
Java developers.
Java developers, security experts. |
gptkbp:status |
gptkb:Flamethrower
gptkb:Final gptkb:Preview 2020-01-14 2021-01-12 Standard Feature |
gptkbp:success |
Community engagement.
Community support, clear objectives. Early adopters reporting positive results. |
gptkbp:success_rate |
Measured by adoption and usage.
Adoption rate, performance benchmarks. |
gptkbp:support |
Supported by Oracle.
|
gptkbp:supports |
event filtering
immutability Custom deserialization logic Record types. multiple event formats Data-centric programming. Functional programming paradigms. Immutable collections. Pattern matching enhancements. Serialization. Type inference. new language features in JDK 14 |
gptkbp:sustainability_efforts |
Long-term support planned.
|
gptkbp:target_audience |
Java developers
Java developers. |
gptkbp:target_jdk |
gptkb:JDK_17
gptkb:17 gptkb:JDK_11 gptkb:JDK_14 gptkb:JDK_15 gptkb:JDK_16 JDK 16 and later. Serialization improvements. |
gptkbp:title |
gptkb:Pattern_Matching_for_instanceof
gptkb:Record_Patterns gptkb:JFR_Event_Streaming Context-Specific Deserialization Filters Deprecate the Security Manager for Removal Context-Sensitive Names Records (Standard Feature) Remove the Java EE and CORBA Modules Promptly Return Unused Memory to the OS Context-Specific Deserialization Context-Specific Deserialization (incubator) Structured Concurrency for Java Context-Sensitive String Conversion Records (standard feature preview) Context-Sensitive String Literal Deprecate the Java EE and CORBA Modules for Removal Records (Standard Feature Preview) |
gptkbp:to_string_method |
Automatically generated.
|
gptkbp:trends |
Expected to influence future Java features.
|
gptkbp:tutorials |
Online tutorials available.
Numerous tutorials available. |
gptkbp:type |
gptkb:JEP
Language Feature |
gptkbp:updates |
2020-01-14
2021-03-16 2020-03-17 |
gptkbp:usage |
Used for creating data transfer objects.
Used for data transfer objects. Used in collections. Used in functional programming. Used in serialization. Used in Java source code. Used in secure applications. Used for creating data classes. Used in APIs. |
gptkbp:use_case |
Data transfer objects.
Type checking in collections. Web applications, microservices. Configuration settings. Immutable data structures. |
gptkbp:user_base |
Wide user base.
Large user base. Java developers. |
gptkbp:user_manual |
Available in Java SE user guides.
|
gptkbp:vision |
Enhance Java security.
Continued improvement of Java serialization. |
gptkbp:was_a_response_to |
developer needs
|
gptkbp:was_a_result_of |
community-driven initiatives
|
gptkbp:bfsParent |
gptkb:JDK_17
gptkb:JEP_389 gptkb:JEP_390 gptkb:Java_Compiler_(javac) gptkb:JEP_23 gptkb:JEP_33 gptkb:JEP_49 gptkb:JDK_10 gptkb:JDK_14 gptkb:JDK_15 gptkb:JEP_488 gptkb:Java_17 gptkb:Java_SE_15 gptkb:Java_10 gptkb:Open_JDK |
gptkbp:bfsLayer |
5
|