All the methods mentioned here are correct, however it is now implemented in Java by default. Just set the locale(if you want):
Locale.setDefault(Locale("EN", "US"))
So use java.time.temporal.WeekFields with default Locale to get first day of week.
WeekFields.of(Locale.getDefault()).firstDayOfWeek