Frequent allocations / promotions of StringCoding$String{Encoder, Decoder} objects
Xueming Shen
xueming.shen at oracle.com
Thu Feb 25 21:38:34 UTC 2016
On 02/25/2016 01:29 PM, Richard Warburton wrote:
> Hi,
>
> +1. I was confused by this behaviour when I submitted a String related
>
> patch a while back but never got round to submitting a fix. It actually
> means that in String decoding often passing the charset to use by String is
> faster than passing it Charset object - counter-intuitive and less typesafe.
>
>
> We can't cache the "coder" from a passing in charset for security reason.
>
>
> Thanks for reminding me of this, apologies I had forgotten the issue.
>
> Elsewhere in the string encoding/decoding code there is (or at least was the last time I looked) an assumption that certain charset implementations are "trusted" - basically ones by Oracle. It used to be ones on the bootclasspath, I don't know about what happens in the modular world. Wouldn't it be reasonable to trust those same charsets with this optimisation as well? They are the most commonly used.
>
>
It's a good point. I think we probably can/should trust those charsets.
sherman
More information about the core-libs-dev
mailing list