Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 27 Nov 2021 17:41:58 GMT, Andrey Turbanov wrote: >> Usages of primitive types should be preferred and makes code easier to read. >> Similar cleanups: >> 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) >> java.desktop >> 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) >> java.sql.rowset > > let's wait for review a bit more @turbanoff I think now you can integrate the PR - PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 12:11:50 GMT, Andrey Turbanov wrote: > Usages of primitive types should be preferred and makes code easier to read. > Similar cleanups: > 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) > java.desktop > 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) > java.sql.rowset Marked as reviewed by lancea (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 12:11:50 GMT, Andrey Turbanov wrote: > Usages of primitive types should be preferred and makes code easier to read. > Similar cleanups: > 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) > java.desktop > 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) > java.sql.rowset Marked as reviewed by stsypa...@github.com (no known OpenJDK username). - PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 12:11:50 GMT, Andrey Turbanov wrote: > Usages of primitive types should be preferred and makes code easier to read. > Similar cleanups: > 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) > java.desktop > 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) > java.sql.rowset let's wait for review a bit more - PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 12:11:50 GMT, Andrey Turbanov wrote: > Usages of primitive types should be preferred and makes code easier to read. > Similar cleanups: > 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) > java.desktop > 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) > java.sql.rowset src/java.base/share/classes/sun/security/tools/keytool/Main.java line 4135: > 4133: if (date != null) { > 4134: if (date.matches("\\d\\d\\d\\d\\/\\d\\d\\/\\d\\d")) > { > 4135: c.set(Integer.parseInt(date.substring(0, 4)), Could this, and several of the other cases identified in this PR, be replaced with a call to the `Integer.parseInt(CharSequence, int, int, int)` method to also avoid the String allocation? Though there are enough other places in the JDK where this opportunity seems valuable that maybe it warrants a tracking issue of its own. - PR: https://git.openjdk.java.net/jdk/pull/5481
RFR: 8274811: Remove superfluous use of boxing in java.base
Usages of primitive types should be preferred and makes code easier to read. Similar cleanups: 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) java.desktop 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) java.sql.rowset - Commit messages: - [PATCH] Remove superfluous use of boxing in java.base - [PATCH] Remove superfluous use of boxing in java.* modules - [PATCH] Remove superfluous use of boxing in java.* modules Changes: https://git.openjdk.java.net/jdk/pull/5481/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5481&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8274811 Stats: 11 lines in 4 files changed: 0 ins; 0 del; 11 mod Patch: https://git.openjdk.java.net/jdk/pull/5481.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/5481/head:pull/5481 PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 17:22:01 GMT, Сергей Цыпанов wrote: >> Usages of primitive types should be preferred and makes code easier to read. >> Similar cleanups: >> 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) >> java.desktop >> 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) >> java.sql.rowset > > src/java.base/share/classes/java/util/ResourceBundle.java line 3732: > >> 3730: } >> 3731: >> 3732: private static final boolean TRACE_ON = Boolean.parseBoolean( > > I think for `Boolean` it doesn't make significant difference, as both > `Boolean.TRUE` and `Boolean.FALSE` are cached and initialized immediately > along with the class itself: > > public static Boolean valueOf(String s) { > return parseBoolean(s) ? TRUE : FALSE; > } Yes, there is no allocation for booleans. But still 2 redundant method calls in interpreter mode (valueOf+booleanValue) - PR: https://git.openjdk.java.net/jdk/pull/5481
Re: RFR: 8274811: Remove superfluous use of boxing in java.base
On Sat, 11 Sep 2021 12:11:50 GMT, Andrey Turbanov wrote: > Usages of primitive types should be preferred and makes code easier to read. > Similar cleanups: > 1. [JDK-8273168](https://bugs.openjdk.java.net/browse/JDK-8273168) > java.desktop > 2. [JDK-8274234](https://bugs.openjdk.java.net/browse/JDK-8274234) > java.sql.rowset src/java.base/share/classes/java/util/ResourceBundle.java line 3732: > 3730: } > 3731: > 3732: private static final boolean TRACE_ON = Boolean.parseBoolean( I think for `Boolean` it doesn't make significant difference, as both `Boolean.TRUE` and `Boolean.FALSE` are cached and initialized immediately along with the class itself: public static Boolean valueOf(String s) { return parseBoolean(s) ? TRUE : FALSE; } - PR: https://git.openjdk.java.net/jdk/pull/5481