JEP 361

GPTKB entity

Statements (555)
Predicate Object
gptkbp:instance_of gptkb:API
gptkb:Java_Enhancement_Proposal
gptkbp:bfsLayer 4
gptkbp:bfsParent gptkb:JEP_382
gptkb:JEP_33
gptkb:JDK_10
gptkb:JDK_14
gptkb:Java_10
gptkbp:abstract This JEP proposes to allow the use of the local-variable syntax for lambda parameters.
gptkbp:addresses user feedback on documentation
memory allocation issues
gptkbp:affects Java developers
gptkbp:aims_to gptkb:Z_Garbage_Collector
memory fragmentation
documentation errors
Simplify type checks
Improve observability of Java applications.
enhance the quality of JDK documentation
improve observability
predictable release cadence
gptkbp:approves March 2018
March 2021
JDK Release Team
JDK Release Team.
gptkbp:author gptkb:Brian_Goetz
gptkb:Maurizio_Cimadamore
gptkbp:benefits gptkb:software
IT professionals
system administrators
Code maintainability
application developers
Improves code readability and reduces boilerplate.
Better performance monitoring.
Enhanced diagnostics.
Reduced overhead.
Encourages a more declarative style of programming.
Reduces verbosity.
gptkbp:challenges Requires careful design to avoid complexity.
gptkbp:code (var s) -> s.length()
gptkbp:collaborated_with gptkb:Open_JDK_community
academic institutions
open-source projects
Research institutions.
Industry partners.
Open source projects.
gptkbp:collaborations multiple stakeholders
Java developers
Java community stakeholders
gptkbp:community_involvement High.
gptkbp:contains API changes
Security updates
Deprecations
Removals
Removed features
gptkbp:context Lambda expressions.
gptkbp:contributed_to Java observability tools
Java observability.
gptkbp:contribution Improves readability.
Enhances lambda syntax.
gptkbp:created 2017-07-10
gptkbp:date March 2018
gptkbp:developer September 2018
gptkbp:discusses https://openjdk.java.net/jeps/361
gptkbp:enables event filtering
real-time monitoring
Real-time monitoring.
Null-safe type checks
gptkbp:ends_at March 2019
The proposal was accepted and implemented.
gptkbp:enhances gptkb:language
performance analysis
developer experience
Java Flight Recorder.
API documentation readability
the overall Java ecosystem.
release predictability
concurrent memory management
gptkbp:example var stream = list.stream();
(var x) -> x + 1
switch (day) { case MONDAY: ... }
var list = new Array List< String>();
var map = new Hash Map< String, List< String>>();
var optional = Optional.of Nullable(value);
var result = compute();
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; }
String result = switch (day) { case MONDAY -> " Start of the week"; }
Sealed interfaces can be used in pattern matching.
(var a, var b) -> a + b
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; default -> ' Unknown'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> ' Six'; case 7 -> ' Seven'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> ' Six'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> { /* action */ yield ' Five'; } }
switch (value) { case 1 -> { /* action */ yield ' One'; } case 2 -> { /* action */ yield ' Two'; } case 3 -> { /* action */ yield ' Three'; } }
switch (value) { case 1: yield ' One'; case 2: yield ' Two'; }
switch (value) { case 1 -> { /* action */ yield ' One'; } }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; default -> ' Unknown'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> { /* action */ yield ' Four'; } }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; default -> ' Unknown'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; default -> ' Unknown'; }
switch (value) { case 1 -> { yield ' One'; } }
switch (value) { case 1, 2: yield ' One or Two'; }
switch (value) { case 1: yield ' One'; }
switch (value) { case null: yield ' Null'; }
switch (value) { default: yield ' Default'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; default -> ' Other'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> ' Six'; default -> ' Unknown'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> { /* action */ yield ' Six'; } }
switch (value) { case 1 -> { /* code */ yield ' One'; } }
switch (value) { case 1 -> { /* action */ yield ' One'; } case 2 -> ' Two'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> ' Six'; case 7 -> { /* action */ yield ' Seven'; } }
switch (value) { case 1 -> ' One'; case 2 -> { /* action */ yield ' Two'; } }
switch (value) { case 1 -> ' One'; case 2 -> ' Two'; case 3 -> ' Three'; case 4 -> ' Four'; case 5 -> ' Five'; case 6 -> ' Six'; case 7 -> ' Seven'; default -> ' Unknown'; }
switch (value) { case 1 -> { /* action */ yield ' One'; } case 2 -> { /* action */ yield ' Two'; } }
gptkbp:facilitates Data analysis.
data collection
gptkbp:features Allows switch to return a value.
Enables the use of yield statement.
Supports multiple case labels.
Type inference.
gptkbp:feedback Positive.
Positive reception from the Java community.
Open discussion forums.
gptkbp:first_published 2020-03-17
gptkbp:focus gptkb:Company
gptkbp:focuses_on low-latency applications
user-friendly documentation
gptkbp:formulation Allows var in lambda parameters.
gptkbp:future_plans Potential enhancements based on user feedback.
No further work planned.
gptkbp:guidance_system JDK 17 release planning
gptkbp:has_version Introduced in Java 11.
https://www.w3.org/2000/01/rdf-schema#label JEP 361
gptkbp:illustrator JDK 17 feature timelines
JDK 17 timeline
gptkbp:impact No impact on existing code.
Simplifies code by reducing verbosity.
Improves code readability and reduces boilerplate.
Improves type safety and maintainability.
Affects existing switch statements.
gptkbp:improves Code readability
application responsiveness
application performance monitoring
documentation generation tools
search functionality in documentation
Application performance.
gptkbp:includes Bug fixes
New features
Performance improvements
release candidate
support for HTM L5
improved navigation features
feature freeze date
memory management adjustments
final release date
ramp-down period
gptkbp:innovation Java documentation standards
gptkbp:introduced gptkb:JDK_17
gptkb:Java_11
gptkb:Java_16
gptkb:JDK_11
gptkb:JDK_12
new syntax for documentation comments
gptkbp:is_a gptkb:Java_Enhancement_Proposal
gptkbp:is_a_document_that release milestones
JDK 17 release phases
JDK 17 release process
JDK 17 release stakeholders
a roadmap for JDK 17
release schedule details
release schedules in Java development
gptkbp:is_a_framework_for Java documentation practices
JDK development
gptkbp:is_a_resource_for Available online.
gptkbp:is_adopted_by gptkb:Non-profit_organizations
gptkb:Java_frameworks
gptkb:software
gptkb:Educational_Institution
gptkb:chess_match
Financial institutions
Healthcare organizations
Research institutions
Open-source projects
Startups
Software companies
Media companies
data analysis
enterprise applications
cloud environments
real-time analytics
software companies
startups
Freelancers
Manufacturing companies
Telecommunications companies
Consulting firms
Transportation companies
Energy companies
Startups.
Government organizations
Gaming companies
Retail companies
Cloud environments.
Enterprise applications.
Large enterprises.
High among developers.
Widely adopted in Java 11.
gptkbp:is_aimed_at Java developers
enhancing developer productivity
large heap applications
gptkbp:is_aligned_with modern software development practices
Industry standards.
Java community standards
gptkbp:is_analyzed_in Research papers
technical papers
software architects
Data scientists.
gptkbp:is_associated_with gptkb:Java_SE_17
gptkbp:is_cited_in Industry reports.
Research articles.
Java books
gptkbp:is_compatible_with Java applications
Microservices.
Backward compatible with existing Java code.
Backward compatible.
gptkbp:is_considered Java 18 features
future Java versions
gptkbp:is_described_as gptkb:Pattern_Matching_for_instanceof
Technical articles
Java documentation
Java tutorials
Introduces the 'var' keyword for local variable type inference.
JDK 15 Release Notes
JDK 17 Release Notes
Introduces switch expressions to enhance the switch statement.
Enhances the switch statement to allow it to be used as an expression.
Introduces sealed interfaces to the Java programming language.
documentation improvements in JDK 11
Enhances Java Flight Recorder to support event streaming.
JDK 17 Release Schedule
gptkbp:is_designed_for Java applications
gptkbp:is_designed_to support diverse user needs
facilitate learning for new developers
improve onboarding for new developers
gptkbp:is_discussed_in gptkb:software_framework
Developer conferences
Java experts
Java meetups
Online communities.
Conferences.
Technical blogs
technical blogs
technical webinars
Technical forums.
Meetups.
Java forums
gptkbp:is_documented_in gptkb:Java_community
Java SE documentation
Java documentation
Official JDK documentation
Open JDK documentation
Open JDK website
JDK Enhancement-Proposal repository
Open JDK documentation.
Java Enhancement Proposal documents
JEP 361 documentation
gptkbp:is_enhanced_by community contributions
Community contributions.
gptkbp:is_evaluated_by industry experts
real-world scenarios
Software engineers
performance benchmarks
Code reviews
Performance metrics.
Performance benchmarks.
Performance engineers.
Benchmarks.
gptkbp:is_expected_to improve throughput
better community contributions
future JDK documentation proposals
increase documentation usage
gptkbp:is_explored_in Java tutorials
Java workshops
Java courses
gptkbp:is_implemented_in gptkb:language
gptkb:video_game
gptkb:JDK_11
gptkb:chess_match
Java developers
Implemented in the Java compiler.
Part of the Java language specification.
Completed.
Java 11 and later versions
Open JDK.
Java Virtual Machine.
JDK 11 release
Open JDK 17
Compiler changes.
gptkbp:is_influenced_by gptkb:JEP_290
Functional programming concepts
community feedback
user experience research
Type inference
previous JE Ps
gptkbp:is_integrated_with gptkb:Java_frameworks
gptkb:Cloud_Computing_Service
Development environments.
Java build tools
Cloud platforms.
Java monitoring solutions
Monitoring tools.
gptkbp:is_linked_to Java memory model
JDK release process
gptkbp:is_motivated_by To improve the expressiveness of the Java language.
To provide more control over the inheritance of interfaces.
To improve the readability and consistency of lambda expressions.
gptkbp:is_part_of gptkb:Java_SE_11
gptkb:Java_SE_Platform
gptkb:software
gptkb:JDK_11
gptkb:Java_Enhancement_Proposal
Java language evolution
Java platform evolution
Java runtime environment
Java ecosystem.
Java standard library
Java 17 features
Java performance improvements
Java language enhancements
Java's strategic goals
Java SE Platform.
Java's commitment to quality
Java's ongoing improvement process
Java performance optimization.
JDK release planning
Java SE release strategy
Java development lifecycle.
Java SE 16 features
Java SE platform evolution
Java SE 17 planning
gptkbp:is_promoted_by gptkb:Database_Management_System
gptkb:Java_conferences
Webinars
Workshops.
Java community events
Java user groups
Newsletters.
Social media.
Webinars.
Java blogs
Java newsletters
Java podcasts
Java user groups.
gptkbp:is_recognized_by Industry leaders.
Java developers.
gptkbp:is_recognized_for its innovative approach to documentation
gptkbp:is_referenced_in Online tutorials
Java developers
Java specifications
Java standards
Technical documentation.
Technical papers.
Java books
JDK release schedules
gptkbp:is_reflected_in community priorities in Java development
gptkbp:is_related_to gptkb:JEP_411
gptkb:JEP_330
gptkb:JEP_382
gptkb:JEP_384
gptkb:JEP_391
gptkb:JEP_394
gptkb:JEP_260
gptkb:JEP_305
gptkb:ZGC
gptkb:Java_Enhancement_Proposal
performance tuning
Performance tuning.
memory management strategies
JDK 17 features
JFR (Java Flight Recorder)
Garbage Collection algorithms
gptkbp:is_reviewed_by gptkb:software_framework
Technical committees
peer reviewers
Peer reviewers.
software engineering journals
gptkbp:is_standardized_by JDK release cycles
gptkbp:is_supported_by gptkb:Open_JDK_community
gptkb:multiple_platforms
gptkb:Java_community
gptkb:Java_libraries
Multiple platforms
Community contributions
Java developers
IDE plugins
Java runtime environment
Java user groups
Community forums.
Technical support.
Documentation.
Java ID Es
Java certification programs
Java user community
Java community.
Various operating systems.
User guides.
gptkbp:is_tested_for Unit tests
quality assurance teams
production environments
Quality assurance.
Extensively tested.
Load testing.
Java testing frameworks
Continuous integration.
gptkbp:is_used_for performance tuning
gptkbp:is_used_in Cloud services
Web applications
Mobile applications
Enterprise applications
production environments
Production environments.
gptkbp:is_utilized_in data scientists
microservices architecture
monitoring tools
system monitoring
high-performance applications
large-scale applications
cloud applications
debugging purposes
Software development projects
Developers.
Research projects.
Academic research.
application diagnostics
system architects
Application profiling.
Debugging.
System monitoring.
gptkbp:key gptkb:Java_11
Improves type safety.
Java performance optimization
Allows multiple case labels to be grouped.
Java SE 17 release
Supports yield statement for returning values.
Enables switch to be used in a more functional style.
Supports pattern matching.
JDK 11 features
Allows interfaces to restrict which classes can implement them.
Local-variable type inference.
Allows null case handling.
gptkbp:keywords var, type inference, local variable
gptkbp:language Java programming language.
gptkbp:latest_version gptkb:Java_11
gptkb:Java_SE_14
1.0
JEP 361 (2020)
gptkbp:managed_by gptkb:Open_JDK_community
gptkb:Open_JDK_Community
gptkbp:notable_achievement Java's documentation evolution
Java SE development
gptkbp:origin more accessible documentation
gptkbp:performance No significant impact.
gptkbp:plot_summary Enhancements and changes in JDK 17.
Sealed interfaces provide a way to control the implementation of interfaces.
Local-variable syntax for lambda parameters improves Java's lambda expressions.
gptkbp:presented_by gptkb:Java_conferences
gptkbp:proposed_by gptkb:Database_Management_System
gptkb:Brian_Goetz
release timelines
JDK community
new documentation tools
Java release management
JDK release coordination
JDK 17 release strategy
JDK release consistency
JDK release expectations
JDK release transparency
streamline JDK releases
gptkbp:provides better performance
event streaming capabilities
better examples in documentation
API for event streaming
Real-time event streaming capabilities.
timeline for JDK 17
Type-safe casting
gptkbp:provides_information_on future JDK releases
JDK 17 development process
gptkbp:published_by September 2020
September 2021
September 2018.
Java magazines.
gptkbp:reduces pause times
gptkbp:related_concept Java SE.
Sealed classes.
gptkbp:related_jeps gptkb:JEP_286
gptkb:JEP_394
gptkb:JDK_11
gptkb:JEP_12
gptkb:JEP_409
gptkbp:related_to gptkb:JEP_330
gptkb:JEP_344
gptkb:Java_SE_17
gptkb:Java_Flight_Recorder
gptkb:JEP_12
gptkb:JEP_290
gptkb:JEP_326
gptkb:Java_SE_15
gptkbp:release_date September 2021
gptkbp:released gptkb:JDK_17
gptkb:Java_SE_10
gptkbp:replaced_by Traditional instanceof checks
gptkbp:requires JDK 17 or later
JDK 16 or later
JDK 11 or later
JDK 11 or later.
Java Development Kit (JDK) 16 or later
gptkbp:resulted_in community-driven initiatives
gptkbp:specifies gptkb:Java_Flight_Recorder
gptkb:Java_Language_Specification
Java Language Specification.
gptkbp:status gptkb:Final
Standard Feature
Targeted for JDK 17
gptkbp:strategic_importance gptkb:Java_Enhancement_Proposal
gptkbp:supports modern web standards
Event-driven architectures.
event consumers
gptkbp:target_audience Java developers.
gptkbp:targets gptkb:JDK_17
gptkb:JDK_11
gptkb:JDK_12
gptkb:JDK_15
gptkbp:title gptkb:JFR:_Event_Streaming
gptkb:JFR_Event_Streaming
Java SE 9: Local-Variable Type Inference
Local-Variable Syntax for Lambda Parameters
Sealed Interfaces
Switch Expressions (Standard Feature)
ZGC: Concurrent Memory Management Adjustments
Switch Expressions (Standard Feature Preview)
gptkbp:updates 2018-03-20
gptkbp:use_case Frameworks and libraries that require strict type hierarchies.
gptkbp:user_manual Available in Java documentation.
gptkbp:user_reviews gptkb:Brian_Goetz
gptkb:Venkat_Subramaniam
gptkb:Mark_Reinhold
Completed.
Community review.
Various members of the Java community.
gptkbp:uses Used in Java programming.
gptkbp:was_a_response_to growing complexity of Java AP Is
the need for better documentation tools
gptkbp:year_created 2019-09-17