Based on documentation:
Compiled code to be executed by the Java virtual machine is represented using a hardware- and operating system-independent binary format, typically (but not necessarily) stored in a file, known as the class file format.
How understand this line: typically (but not necessarily) . What does it mean? I can save in something like my file or hello file, or what?
It means that compiled classes are usually stored in files, but in some systems they might be stored some other way (not in a file).
For example, with the Oracle database it is possible to write stored procedures in Java. These stored procedures will be compiled, but not saved in a class file; instead, the compiled class is stored in the database somewhere.