anchor.diff:  The above describes quite a bit of functionality. You would think that this would require a lot of code to accomplish, but most of the "standard CLI behavior" is provided by the picocli library. In our application, all we need to do is define our options and positional parameters, and implement the business logic by making our class `Callable` or `Runnable`. We can bootstrap the application in our `main` method in one line of code:
   
   
  -//[source,java,linenums,options="nowrap"]
   [source,java,options="linenums,nowrap"]
   ----
   import picocli.CommandLine;
  
positive.code: 
  At the end, we have a native Linux executable. Interestingly, the native binary created with the Java 11 version of GraalVM is a bit bigger than the one created with the Java 8 version of GraalVM:
  
  ```bash
  -rwxrwxrwx 1 remko remko 14637304 Jan  5 09:23 java11-19.3.0.2/checksum*
  -rwxrwxrwx 1 remko remko 12671688 Jan  5 09:30 java8-19.3.0.2/checksum*
  ```
  
  We can see the binary is 12.6 - 14.6 MB in size. We can consider that big or small, depending on what we compare it with. For me it is an acceptable size.
  
  
negative.code: We can simulate this by setting up a Continuous Integration/Continuous Deployment tool chain.
  The https://github.com/remkop/picocli-native-image-demo[picocli-native-image-demo]
  is an example Gradle project that uses some popular CI/CD tools to build and test native images for multiple platforms. That project also contains some experimental work with using HTTPS in native images.
  The https://github.com/remkop/picocli-native-image-maven-demo[picocli-native-image-maven-demo] is a similar example Maven project.
  
  
  == Conclusion
  
  