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
|