RFR: 8333103: Re-examine the console provider loading
    Pavel Rappo 
    prappo at openjdk.org
       
    Wed May 29 21:42:05 UTC 2024
    
    
  
On Wed, 29 May 2024 21:27:30 GMT, Chen Liang <liach at openjdk.org> wrote:
>> There is an initialization code in `Console` class that searches for the Console implementations. Refactoring the init code not to use lambda/stream would reduce the (initial) number of loaded classes by about 100 for java.base implementations. This would become relevant when the java.io.IO (JEP 477) uses Console as the underlying framework.
>
> src/java.base/share/classes/java/io/Console.java line 673:
> 
>> 671:                                 return new ProxyingConsole(jc);
>> 672:                             }
>> 673:                             break;
> 
> Suggestion:
> 
> 
> The original `findAny` is only after `filter(Objects::nonNull)` meaning we don't return `null` on a null `jcp.console` result.
Yes, `break` guarantees that the search completes one way or another once the module name has been matched. This is not how it used to be done.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19467#discussion_r1619504988
    
    
More information about the core-libs-dev
mailing list