Remove unnecessary method call in PriorityBlockingQueue

Roger Riggs roger.riggs at oracle.com
Wed May 24 18:57:29 UTC 2023


Hi,

The upstream source of PriorityBlockingQueue is the concurrency library 
maintained by Doug Lea.
Noting this suggestion to the Concurrency Interest mailing list is 
recommended. [1]

Regards, Roger

[1] http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest

On 5/24/23 2:51 PM, Viktor Klang wrote:
> Sounds very reasonable.
> ------------------------------------------------------------------------
> *From:* core-libs-dev <core-libs-dev-retn at openjdk.org> on behalf of 
> Aleksei Ivanov <alexey.ivanov at oracle.com>
> *Sent:* Wednesday, 24 May 2023 20:03
> *To:* Robin Gong <irobingong at gmail.com>; core-libs 
> <core-libs-dev at openjdk.org>
> *Subject:* Re: Remove unnecessary method call in PriorityBlockingQueue
> Hi Robin,
>
> This belongs in core-libs.
>
> On 24/05/2023 16:50, Robin Gong wrote:
>> Hi,
>>
>> Recently, I found this constructor in PriorityBlockingQueue:
>>
>>         public PriorityBlockingQueue(int initialCapacity,
>>                                      Comparator<? super E> comparator) {
>>             if (initialCapacity < 1)
>>                 throw new IllegalArgumentException();
>>             this.comparator = comparator;
>>             this.queue = new Object[Math.max(1, initialCapacity)];
>>         }
>>
>>
>> I believe we could change 'Math.max(1, initialCapacity)' to 
>> 'initialCapacity'. Since initialCapacity must be greater or equal to 1.
>
> It looks reasonable to me.
>
> -- 
> Regards,
> Alexey
>
>>
>> And also that's how PriorityQueue running.
>>
>>         public PriorityQueue(int initialCapacity,
>>                              Comparator<? super E> comparator) {
>>             // Note: This restriction of at least one is not actually
>>     needed,
>>             // but continues for 1.5 compatibility
>>             if (initialCapacity < 1)
>>                 throw new IllegalArgumentException();
>>             this.queue = new Object[initialCapacity];
>>             this.comparator = comparator;
>>         }
>>
>>
>> Best regarts,
>> Robin Gong
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20230524/90b87d5d/attachment-0001.htm>


More information about the core-libs-dev mailing list