
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Not all classes in the standard Java library were written to be thread-safe. Using them in a multi-threaded manner is highly likely to cause data problems or exceptions at runtime.
|
|
|
|
|
|
This rule raises an issue when an instance of ``++Calendar++``, ``++DateFormat++``, ``++javax.xml.xpath.XPath++``, or ``++javax.xml.validation.SchemaFactory++`` is marked ``++static++``.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass {
|
|
private static SimpleDateFormat format = new SimpleDateFormat("HH-mm-ss"); // Noncompliant
|
|
private static Calendar calendar = Calendar.getInstance(); // Noncompliant
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass {
|
|
private SimpleDateFormat format = new SimpleDateFormat("HH-mm-ss");
|
|
private Calendar calendar = Calendar.getInstance();
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Make "XXX" an instance variable.
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|