logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Bit twiddling in org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode()
Date Wed, 21 Sep 2016 02:17:03 GMT
Sorry I was thinking of Long.hashCode(long), but I see now that this was introduced in java
1.8...

Sent from my iPhone

> On 2016/09/21, at 10:09, Gary Gregory <garydgregory@gmail.com> wrote:
> 
> Where do you see such a method?
> 
> Gary
> 
>> On Tue, Sep 20, 2016 at 4:43 PM, Remko Popma <remko.popma@gmail.com> wrote:
>> Objects.hashCode(long) does exactly the same, but is certainly easier to read. Go
for it!
>> 
>> Sent from my iPhone
>> 
>>> On 2016/09/21, at 5:06, Greg Thomas <greg.d.thomas@gmail.com> wrote:
>>> 
>>> Could you use simply
>>> 
>>> return Objects.hashcode(...)
>>> 
>>> To avoid the maths In the first place ??
>>> -- 
>>> Sent from my iPhone
>>> 
>>>> On 20 Sep 2016, at 19:53, Gary Gregory <garydgregory@gmail.com> wrote:
>>>> 
>>>> I see a Findbugs error in:
>>>> 
>>>> org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode()
>>>> 
>>>> for:
>>>> 
>>>>         result = 31 * result + (threadPriority ^ (threadPriority >>>
32));
>>>> 
>>>> "The code performs shift of a 32 bit int by a constant amount outside the
range -31..31. The effect of this is to use the lower 5 bits of the integer value to decide
how much to shift by (e.g., shifting by 40 bits is the same as shifting by 8 bits, and shifting
by 32 bits is the same as shifting by zero bits). This probably isn't what was expected, and
it is at least confusing."
>>>> 
>>>> Thoughts?
>>>> 
>>>> Gary
>>>> 
>>>> -- 
>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
>>>> Java Persistence with Hibernate, Second Edition
>>>> JUnit in Action, Second Edition
>>>> Spring Batch in Action
>>>> Blog: http://garygregory.wordpress.com 
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
> 
> 
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

Mime
View raw message