AtomicInteger uses compare-and-swap (CAS) processor instruction to update the counter. It works great, until under high contention it doesn’t run into a spin lock, as the operation is retried in infinite loop, until it succeeds. Java8 LongAdder does not try to compete for accessing the value to increment, but instead – saves the value in […]
Read moreMonthly Archives: March 2019
Visual composition
The visual design of an app is more than a superficial layer: good design guides the user by communicating purpose and priority. Space If the shape is positioned centrally, the space will appear neutral, balanced and a little sterile. Moving the shape off-centre creates tension, adding interest for the viewer and encouraging further exploration. When […]
Read moreCSS Naming – BEM – Block Element Modifier
The BEM approach ensures that everyone who participates in the development of a website works with a single codebase and speaks the same language. Using proper naming will prepare you for the changes in design of the website. Block Encapsulates a standalone entity that is meaningful on its own. Element Parts of a block and […]
Read more