Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added immutable, alphabetized

...

atomicity : When applied to an operation on primitive data, indicates that other threads that might access the data might see the data as it exists before the operation occurs or after the operation has completed, but may never see an intermediate value of the data.

Anchor
class variable canonicalization class variable
canonicalization
class variable : A class variable is a static field associated with the containing class

canonicalization : Reducing the input to its equivalent simplest known form.

Anchor
instance class variable instance
class variable

instance class variable : An instance A class variable is a non- static field that is a part of every instance of the class Anchor sanitization sanitization

sanitization : Sanitization is a term used for validating input and transforming it to a representation that conforms to the input requirements of a complex subsystem. For example, a database may require all invalid characters to be escaped or eliminated prior to their storage. Input sanitization refers to the elimination of unwanted characters from the input by means of removal, replacement, encoding or escaping the characters.

Anchor synchronization synchronization Wiki Markup*synchronization* : "The Java programming language provides multiple mechanisms for communicating between threads. The most basic of these methods is _synchronization_, which is implemented using monitors. Each object in Java is associated with a monitor, which a thread can lock or unlock. Only one thread at a time may hold a lock on a monitor. Any other threads attempting to lock that monitor are blocked until they can obtain a lock on that monitor." \[[JLS 05|AA. Java References#JLS 05]\]. Anchor canonicalization canonicalizationcanonicalization : Reducing the input to its equivalent simplest known formthe containing class.

Anchor
conflicting accesses
conflicting accesses

...

Wiki Markup
*heap memory* : "Memory that can be shared between threads is called shared memory or heap memory. All instance fields, static fields and array elements are stored in heap memory.\[...\] Local variables (§14.4), formal method parameters (§8.4.1) or exception handler parameters are never shared between threads and are unaffected by the memory model." \[[JLS 05|AA. Java References#JLS 05]\]. 

Anchor
immutable
immutable

Wiki Markup
*immutable* : \[[Goetz 07|AA. Java References#Goetz 07]\] When applied to an object, this means that its state cannot be seen to change by callers, which implies that

  • all public fields are final,
  • all public final reference fields refer to other immutable objects, and
  • constructors and methods do not publish references to any internal state which is potentially mutable by the implementation.

Immutable objects may still have internal mutable state for purposes of performance optimization; some state variables may be lazily computed, so long as they are computed from immutable state and that callers cannot tell the difference.

Immutable objects are inherently thread-safe; they may be passed between threads or published without synchronization.

Anchor
initialization safety
initialization safety

Wiki Markup
*initialization safety* : "An object is considered to be completely initialized when its constructor finishes. A thread that can only see a reference to an object after that object has been completely initialized is guaranteed to see the correctly initialized values for that object's final fields." \[[JLS 05|AA. Java References#JLS 05]\].

Anchor
instance variable
instance variable

instance variable : An instance variable is a non-static field that is a part of every instance of the class

Anchor
normalization
normalization

...

Wiki Markup
*relativization (URI)* : "\[Relativization\] is the inverse of resolution. For example, relativizing the URI {{http://java.sun.com/j2se/1.3/docs/guide/index.html}} against the base URI {{http://java.sun.com/j2se/1.3}} yields the relative URI {{docs/guide/index.html}}." \[[API 06|AA. Java References#API 06]\].

Anchor
sanitization
sanitization

sanitization : Sanitization is a term used for validating input and transforming it to a representation that conforms to the input requirements of a complex subsystem. For example, a database may require all invalid characters to be escaped or eliminated prior to their storage. Input sanitization refers to the elimination of unwanted characters from the input by means of removal, replacement, encoding or escaping the characters.

Anchor
sequential consistency
sequential consistency

Wiki Markup
*sequential consistency* : "Sequential consistency is a very strong guarantee that is made about visibility and ordering in an execution of a program. Within a sequentially consistent execution, there is a total order over all individual actions (such as reads and writes) which is consistent with the order of the program, and each individual action is atomic and is immediately visible to every thread. \[...\] If a program is correctly synchronized, then all executions of the program will appear to be sequentially consistent (§17.4.3)." \[[JLS 05|AA. Java References#JLS 05]\]. Sequential consistency implies there will be no compiler optimizations in the statements of the action. Adopting sequential consistency as the memory model can be overly restrictive because under this condition, the compiler is not allowed to make optimizations and reorder code \[[JLS 05|AA. Java References#JLS 05]\].

Anchor
synchronization
synchronization

Wiki Markup
*synchronization* : "The Java programming language provides multiple mechanisms for communicating between threads. The most basic of these methods is _synchronization_, which is implemented using monitors. Each object in Java is associated with a monitor, which a thread can lock or unlock. Only one thread at a time may hold a lock on a monitor. Any other threads attempting to lock that monitor are blocked until they can obtain a lock on that monitor." \[[JLS 05|AA. Java References#JLS 05]\].

...