title: What does "atomic" mean in programming?
body: <p>In the Effective Java book, it states: </p>
  
  <blockquote>
    <p>The language specification guarantees that reading or writing a
    variable is atomic unless the variable is of type <code>long</code> or <code>double</code> [JLS,
    17.4.7].</p>
  </blockquote>
  
  <p>What does "atomic" mean in the context of Java programming, or programming in general?</p>