gptkbp:instance_of
|
gptkb:Java_2_Platform
gptkb:JEP
|
gptkbp:addresses
|
Security enhancements
Security risks in Java applications
|
gptkbp:affects
|
Java developers
Java users
|
gptkbp:aims_to
|
Improve security of deserialization
Improve API usability
Simplify the common coding pattern
improve release predictability
improve release process
|
gptkbp:aims_to_improve
|
Java language features
Insecure deserialization attacks
|
gptkbp:allows
|
Null checks in pattern matching
|
gptkbp:approves
|
gptkb:Open_JDK_Governing_Board
gptkb:Java_Community_Process
March 2020
JDK Release Team
|
gptkbp:author
|
gptkb:Alan_Bateman
gptkb:Jeppe_Cramon
JDK Release Team
|
gptkbp:benefits
|
Complexity in implementation.
Better performance for numerical algorithms.
Enhanced language features.
Improved readability.
|
gptkbp:code
|
Available in documentation.
|
gptkbp:collaborated_with
|
Open source projects
Java security teams
|
gptkbp:collaborative_projects
|
Collaborative effort.
|
gptkbp:community_involvement
|
Active.
|
gptkbp:community_outreach
|
Active outreach efforts.
|
gptkbp:compatibility
|
Maintained.
No backward compatibility.
|
gptkbp:concluded_on
|
September 2020
|
gptkbp:conformance
|
Conforms to Java standards.
|
gptkbp:contributes_to
|
gptkb:Java_security_model
gptkb:Java_ecosystem
|
gptkbp:contribution
|
Open for contributions.
|
gptkbp:created
|
2021-01-15
2021-09-15
2021-12-15
2021-06-16
|
gptkbp:created_by
|
JDK Enhancement-Proposal Team
|
gptkbp:date
|
September 2021
|
gptkbp:dependency
|
gptkb:JEP_382
gptkb:JEP_395
|
gptkbp:describes
|
gptkb:Pattern_Matching_for_instanceof
JDK 18 API Changes
JDK 18 Release Process
JDK 17 Release Process
JDK 17 Release Schedule
JDK 17 Release Planning
JDK 15 Future Features
|
gptkbp:description
|
Introduces a new rendering pipeline for mac OS.
Provides a mechanism to express vector computations.
Introduces a new rendering pipeline for mac OS using Apple's Metal framework.
This JEP proposes to remove the Pack200 tools and API from the JDK.
Enhances the performance monitoring capabilities of the JDK.
|
gptkbp:discusses
|
Backward compatibility
Open JDK mailing list
Open JDK mailing list.
Open JDK mailing lists
https://openjdk.java.net/jeps/414
JDK mailing list.
Best practices for deserialization
|
gptkbp:discussion_group
|
jdk-dev
|
gptkbp:educational_resources
|
Available online.
|
gptkbp:enables
|
Pattern matching in switch statements
|
gptkbp:enhances
|
gptkb:Java_programming_language
Readability of code
Security features of Java
|
gptkbp:example
|
Using instanceof with pattern matching.
|
gptkbp:exemplifies
|
Type checking and casting
|
gptkbp:facilitates
|
Null checks in type checks
|
gptkbp:feature
|
gptkb:Java_15
|
gptkbp:features
|
Type Patterns
|
gptkbp:feedback
|
Positive from the community.
|
gptkbp:first_published
|
2023-01-10
2021-09-15
2022-01-10
|
gptkbp:focuses_on
|
release cadence
|
gptkbp:follows
|
gptkb:JEP_411
|
gptkbp:funding
|
Community funded.
|
gptkbp:future_plans
|
Further enhancements.
|
gptkbp:goal
|
Improve performance of vector operations.
Improve performance monitoring tools.
|
gptkbp:historical_achievement
|
JDK 17 release.
|
https://www.w3.org/2000/01/rdf-schema#label
|
JEP 414
|
gptkbp:impact
|
Performance monitoring tools
Low.
Success measured by adoption.
Graphics performance on mac OS.
Improved performance and efficiency for Java applications on mac OS.
Significant impact on Java.
Removal of Pack200 tools and API.
Simplifies coding with type checks.
|
gptkbp:improves
|
Code readability
Type checking and casting
|
gptkbp:includes
|
gptkb:Pattern_Matching_for_instanceof
gptkb:Sealed_Classes
gptkb:Text_Blocks
Enhancements
Examples of usage
security updates
Bug fixes
bug fixes
New features
new features
Performance improvements
Hidden Classes
Deprecations
New APIs
API enhancements
New syntax for instanceof
Removals
feature releases
|
gptkbp:influenced_by
|
SIMD (Single Instruction, Multiple Data) architectures.
|
gptkbp:innovation
|
Encourages innovation.
|
gptkbp:introduced_in
|
gptkb:Java_SE_17
gptkb:Java_16
gptkb:JDK_15
gptkb:JDK_18
gptkb:Java_17
|
gptkbp:involved_technology
|
Java SE.
|
gptkbp:is_adopted_by
|
Software companies
Java applications
Enterprise applications
High.
None significant.
Java 17 users
|
gptkbp:is_analyzed_in
|
Security audits
Security analysts
|
gptkbp:is_associated_with
|
gptkb:Java_Development_Kit_(JDK)
|
gptkbp:is_cited_in
|
gptkb:Java_2_Platform
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
Security guidelines
|
gptkbp:is_described_as
|
Technical articles
Documentation guides
|
gptkbp:is_discussed_in
|
gptkb:Java_conferences
gptkb:Java_Community_Process
Online tutorials
Developer communities
Java forums
|
gptkbp:is_documented_in
|
JEP Index
Java documentation
JDK Enhancement-Proposal
JDK documentation
JDK 15 Release Notes
Open JDK documentation
|
gptkbp:is_essential_for
|
gptkb:High
|
gptkbp:is_evaluated_by
|
Security researchers
Security assessments
|
gptkbp:is_explored_in
|
Research papers
|
gptkbp:is_implemented_in
|
gptkb:JDK_17
gptkb:Java_SE_Platform
gptkb:Java_programming_language
gptkb:Java_FX
gptkb:JDK_14
gptkb:JDK_15
gptkb:JDK_20
gptkb:Open_JDK
Completed
Java runtime environment
Java.
JDK 18.
Experimental API.
Java SE Development Kit 17
New deserialization APIs
|
gptkbp:is_influenced_by
|
Java language evolution
Previous JEPs on security
|
gptkbp:is_integrated_with
|
Java development tools
|
gptkbp:is_motivated_by
|
Improve performance and maintainability.
Pack200 is no longer widely used.
|
gptkbp:is_part_of
|
gptkb:Java_SE_Platform
gptkb:Java_2_Platform
gptkb:Java_SE_16
gptkb:Java_SE_15
Java security framework
Java security improvements
Java security enhancements
|
gptkbp:is_promoted_by
|
gptkb:Java_community
Java advocates
|
gptkbp:is_promoted_through
|
Java user groups
|
gptkbp:is_referenced_in
|
Technical specifications
Security best practices
Security policies
|
gptkbp:is_related_to
|
gptkb:JEP_411
gptkb:JEP_384
gptkb:JEP_386
gptkb:JEP_387
gptkb:JEP_388
gptkb:JEP_389
gptkb:JEP_390
gptkb:JEP_391
gptkb:JEP_392
gptkb:JEP_393
gptkb:JEP_394
gptkb:JEP_395
gptkb:JEP_396
gptkb:JEP_397
gptkb:JEP_398
gptkb:JEP_399
gptkb:JEP_13
gptkb:JEP_15
gptkb:JEP_16
gptkb:JEP_12
gptkb:JEP_290
gptkb:JEP_305
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
|
gptkbp:is_relevant_to
|
Software developers
|
gptkbp:is_reviewed_by
|
gptkb:Java_Platform_Group
Approved
JDK Review Board
Java experts
Technical reviews
Java SE Platform Group
|
gptkbp:is_supported_by
|
gptkb:Java_Community_Process
gptkb:Java_Development_Kit_(JDK)
gptkb:Java_community
gptkb:Java_libraries
Java developers
Development frameworks
Java 17 and later versions
|
gptkbp:is_tested_for
|
Java testing frameworks
Included in JDK 17 tests.
JUnit.
|
gptkbp:is_utilized_by
|
Web applications
|
gptkbp:is_utilized_in
|
Enterprise software solutions
|
gptkbp:is_visible_from
|
High visibility.
|
gptkbp:issues
|
JDK-8261234
|
gptkbp:key_drawbacks
|
None identified.
|
gptkbp:latest_version
|
gptkb:JDK_17
gptkb:JDK_18
1.0
|
gptkbp:legacy
|
Long-term legacy.
|
gptkbp:library
|
Widely adopted.
|
gptkbp:notable_contributor
|
gptkb:Javac_Team
gptkb:Mikael_Vidstedt
Various contributors
Open source.
|
gptkbp:notable_release
|
2021-09-15
|
gptkbp:part_of
|
gptkb:Java_2_Platform
|
gptkbp:performance
|
Minimal impact.
|
gptkbp:plot_summary
|
Enhances the instanceof operator.
|
gptkbp:precedes
|
gptkb:JEP_415
|
gptkbp:production_status
|
Active.
|
gptkbp:project
|
gptkb:Mark_Reinhold
2021-2022.
Promising future.
JDK 17.
Project Loom.
Project Panama.
Enhance Java language.
|
gptkbp:project_dependencies
|
Java SE.
|
gptkbp:proposed_by
|
gptkb:JDK_17
gptkb:Oracle
gptkb:Oracle_Corporation
JEP Committee
|
gptkbp:provides
|
release notes
Documentation updates
enhanced documentation
Type inference for patterns
clear timelines
guidelines for release
Context-specific filters for deserialization
|
gptkbp:published_by
|
gptkb:Oracle_Corporation
|
gptkbp:published_in
|
March 2022
September 2021
JDK Enhancement-Proposal website
|
gptkbp:reduces
|
Boilerplate code
|
gptkbp:related_concept
|
ISO/ IEC 23270.
|
gptkbp:related_jeps
|
gptkb:JEP_411
gptkb:JEP_383
gptkb:JEP_391
gptkb:JEP_394
gptkb:JEP_305
gptkb:JEP_412
gptkb:JEP_413
|
gptkbp:related_to
|
gptkb:JEP_411
gptkb:JEP_338
gptkb:JEP_390
gptkb:Java_2_Platform
gptkb:Java_FX
gptkb:JEP_412
gptkb:JEP_413
gptkb:JEP_417
gptkb:Java_Development_Kit_(JDK)
Type inference
Deserialization vulnerabilities
|
gptkbp:release_date
|
2021-09-14
September 2021
|
gptkbp:release_notes
|
Included in JDK 17 release notes.
Pack200 tools and API removed.
|
gptkbp:released
|
gptkb:JDK_17
gptkb:Java_SE_20
gptkb:JDK_14
gptkb:JDK_15
gptkb:JDK_18
Annual.
|
gptkbp:replaces
|
Previous deserialization mechanisms
|
gptkbp:requires
|
gptkb:JEP_411
JDK 17 or later
Java Language Specification update
Java SE 17 or later
JDK 14 features
|
gptkbp:reviews
|
gptkb:Brian_Goetz
gptkb:Mark_Reinhold
Various contributors
2021-08-30
JDK Enhancement-Proposal Review Process
Various Java community members.
|
gptkbp:security
|
None.
|
gptkbp:specification
|
gptkb:Java_Language_Specification
Performance Monitoring API
|
gptkbp:specifies
|
release cadence
New API for deserialization filters
|
gptkbp:sponsorship
|
Security experts
|
gptkbp:stakeholders
|
Java community.
Java developers.
|
gptkbp:status
|
gptkb:Flamethrower
gptkb:Final
Proposed
Standard Feature
Targeted for JDK 17
|
gptkbp:sustainability_efforts
|
Sustainable.
|
gptkbp:target_jdk
|
gptkb:JDK_17
gptkb:JDK_15
gptkb:JDK_18
|
gptkbp:title
|
gptkb:New_mac_OS_Rendering_Pipeline
Vector API (Fourth Incubator)
Context-Specific Deserialization Filters
New mac OS rendering pipeline
Remove the Pack200 Tools and API
JDK 14 Performance Monitoring
|
gptkbp:usage
|
Used for high-performance computing.
|
gptkbp:use_case
|
Type checking in switch expressions.
|
gptkbp:user_base
|
Large.
|
gptkbp:user_feedback
|
Collected post-release.
|
gptkbp:bfsParent
|
gptkb:JEP_17
gptkb:JEP_33
gptkb:JDK_15
gptkb:JEP_488
|
gptkbp:bfsLayer
|
5
|