Skip to content

Files

Latest commit

 

History

History
22 lines (15 loc) · 700 Bytes

VolatileArrayField.md

File metadata and controls

22 lines (15 loc) · 700 Bytes

Pattern: Volatile array field

Issue: -

Description

Volatile array fields are unsafe because the contents of the array are not treated as volatile. Changing the entire array reference is visible to other threads, but changing an array element is not.

Example of violations:

class SomeClass {
    private volatile Object[] field1 = value()
    volatile field2 = value as Object[]
    volatile field3 = (Object[])foo
}

Further Reading