There are some valid arguments against using Optional as a method parameter type, but they are not good enough to say that you should avoid it at all costs
By default, the virtual machine grows or shrinks the heap at each collection to try to keep the proportion of free space to live objects at each collection within a specific range. This target range is set as a percentage by the parameters -XX:MinHeapFreeRatio= and -XX:MaxHeapFreeRatio=, and the total size is bounded below by -Xms and above by -Xmx .
W. Scholz, T. Thüm, S. Apel, and C. Lengauer. Proceedings of the 15th International Software Product Line Conference, Volume 2, page 7:1--7:8. New York, NY, USA, ACM, (2011)