...
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 classcanonicalization : 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 | canonicalization | canonicalization : 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]\]. |
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]\]. |
...