private, protected, public (details in the #Classes section)synchronized and volatile (more on this later)static (details in the #Classes section)abstract (details in the #Classes section)native – Indicates that the method implementation is hidden inside the JVM and cannot be specified in user codetransient – Indicates that the field will be skipped during serializationstrictfp – The most exotic, restricts the precision of floating-point calculations to the IEEE standard for consistency across platforms.