Multiplicando valores largos?

class Main {  
   public static void main (String[] args){  
     long value = 1024 * 1024 * 1024 * 80;  
     System.out.println(Long.MAX_VALUE);  
     System.out.println(value);  
  }  
}

La salida es:

9223372036854775807
0

Es correcto silong value = 1024 * 1024 * 1024 * 80L;!