'ThreadLocal.set()' with null as an argument
Reports java.lang.ThreadLocal.set()
with null as an argument.
This call does not free the resources, and it may cause a memory leak.
It may happen because:
Firstly,
ThreadLocal.set(null)
finds a map associated with the current Thread. If there is no such a map, it will be createdIt sets key and value:
map.set(this, value)
, wherethis
refers to instance ofThreadLocal
java.lang.ThreadLocal.remove()
should be used to free the resources.
Example:
After the quick-fix is applied:
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ThreadLocalSetWithNull- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
New in 2023.2
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |