It depends on like, a billion different things. Odds are if you havent fed any arguments to your VM it&#x27;ll be concurrent mark-and-sweep. It depends on a ton of things like RAM avaialbility, percentages of ideal G0-&gt;G1 and G1-&gt;old [and if you&#x27;ve even defined your &#x27;ideal&#x27; otherwise it defaults to around 20%], the predictability of your heap access and&#x2F;or growth, if you&#x27;re using&#x2F;reusing object pools and the habits of that,  and I&#x27;m sure a lot of different things. That&#x27;s exactly why dpratt and I called foul-ball on this &#x27;analysis&#x27; or whatever (because the JVM was _designed_ to warm up and tune itself). Rule of thumb - G1 is great for throughput if you have a ton of extra RAM and want that extra oompf (i.e., Bank of America&#x27;s probably running WebSphere in a straight G1 configuration). On your dev machines unless you fed some weird params to the VM, you&#x27;re almost certainly running parallel or concurrent mark and sweep. Unless your&#x27;e running Java on a mobile device you&#x27;re 99.99% not running in Incremental, and the only time the JVM would defer from concurrent m&amp;s to the incremental m&amp;s is if you had a lot of RAM and only one processor available (I don&#x27;t think I&#x27;ve ever seen that mode in my life).