title: CompletableFuture with supplyAsync not working as expected
body: <p>I am doing some experiments with the Java CompletableFuture. Here is the code</p>
  
  <pre><code>public class SpringBootAsyncApplication {
  
      public static void main(String[] args) {
  
          CompletableFuture.supplyAsync(() - &gt; {
  
              return MailUtil.getMailInfo();
  
          }).thenAccept(content - &gt; {
              System.out.println("Mail content: " + content);
          });
      }
  
  }
  
  class MailUtil {
      public static String getMailInfo() {
          return "Your email content";
      }
  
      public static boolean sendMail() {
          System.out.println("Send mail: completed");
          return true;
      }
  
      public static void logging() {
          System.out.println("Log: Send mail at " + System.currentTimeMillis());
      }
  }
  </code></pre>
  
  <p>I run the program 3 times. All of them didn't return any output ? But when I replace <code>return MailUtil.getMailInfo();</code> with number 5 </p>
  
  <pre><code>CompletableFuture.supplyAsync(() - &gt; {
  
      return 5;
  
  }).thenAccept(content - &gt; {
      System.out.println("Mail content: " + content);
  });
  </code></pre>
  
  <p>then it runs as normal. Why is that ?</p>