RFR: 8354724: Methods in java.io.Reader to read all characters and all lines [v19]
Markus KARG
duke at openjdk.org
Thu May 15 11:03:58 UTC 2025
On Thu, 15 May 2025 10:53:27 GMT, Johannes Döbler <duke at openjdk.org> wrote:
>> Also, in JAX-RS for example, you cannot make use of `transferTo` as what you get is a heap object, and what you must forward also is a heap object.
>
> Thanks for the examples. Imho I think that performance sensitive, specialised code can invest some lines to put together the best solution for the context whereas the majority of code can simply use a convenient `reader.readAllAsString()` instead of `reader.readAllAsCharSequence().toString()` which is borderline to parody.
It is **impossible** to "invest some lines" to solve this in JAX-RS, and JAX-RS as a standard technology on tens of thousands of servers. Enforcing `String` prevents these useful optimizations, but brings *no actual benefit*, as *only few* callers actually care for *constant* objects, but would be satisfied with `CharSequence`'s lack of mutation methods.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24728#discussion_r2090910821
More information about the core-libs-dev
mailing list