The difference between the two is the access. Environment variables are accessible by any process and Java system properties are only accessible by the process they are added to.
Environment variables are set in the Operating System and system properties are passed as command-line options or set using setProperty().
Want to learn Java? Check out the Java course from Intellipaat.