Absolutely No.
Neither static nor member variables are inherently thread-safe. This is true regardless of whether you have a single physical CPU core or multiple cores, since
Java's multi-threading is not dependent on hardware.
The only way to make a variable or method thread-safe is to denote it as synchronized or at least (and this is more dangerous), to only access it via synchronized methods.
There are many uses for static variables, though not as many as most people think, so when Stephan says "never use static variables", I'm going to re-state that in a more qualified way:
NEVER USE STATIC VARIABLES IN AN ATTEMPT TO BE THREAD-SAFE. Because, again, they aren't.