title: How to execute non blocking HTTP calls in Java?
body: <p>I have a third party API, which I call using an HTTP GET request. Each request takes a few seconds to get a response.</p>
  
  <p>Currently I am using a CompletableFuture which I am executing on a FixedThreadPool of size 64. This is causing the threads to be blocked until it recieves a response for the GET request, i.e. the threads sit idle after sending the GET response until they recieve a response. So my maximum number of simultaneous requests I can send out is limited by my thread size i.e. 64 here.</p>
  
  <p>What can I use instead of CompletableFuture so that my threads don't sit idle waiting for the response?</p>