Again learning about Garbage collection, I found about ZGC collector. A quite interesting concurrent region-based collector that aims for 10ms or less pause times.
Experimental with JDK 11. The Oracle developers video.
The aim is to keep it easy to tune.
15% throughput reduction
10ms pause time
>> Pause times do not increase with heap or live-set size
>> Pause times do increase with root-set size
For use THP on ZGC, we must enable using
Similar to Spectre and Meltdown( and Foreshadow), that were discovered in Jan 2018, now it was found another Spoiler. The original paper is that describes Spoiler here
According to the original paper
Knowledge of the physical address enables adversaries to bypass OS protections  and ease other microarchitectural] attacks . For instance, the procfs filesystem exposes
physical addresses , and Huge pages allocate contiguous physical memory
I will read more about it and I will post my findings.
When I used to work at Voith, 2011/2012, Friday was Beatles’ day!
Let’s keep the tradition then!
Reviewing here about Concurrent GC’s and GC’s strategy, I saw about Shenandoah GC quite interesting topic. The phases are basically related to marking the regions.
Basically, Shenandoah is about regional collection – if this sentence makes sense. It has 9 phases but also 5 heuristics. The paper can be accessed here
Usage flag: XX:+UseShenandoahGC
The phases are enumerated below:
Init Update Refs
Concurrent Update References
Final Update Refs
The heuristics can be used as:
And tells the GC how to actually start the mechanism. They are: adaptative, static, compact, passive and aggressive.
Youtube Video from Christine Flood
It is possible to use the Shenandoah visualizer tool to understand more about it.
The apache http server – d standands for daemon, i.e. runs in the process.
Apachectl is actually used to listen to the http requests and responds to them, basically a daemon as any other in Linux.
The server guide can be found here
Apache changes a lot man – Vj
It’s a bit confusing because that httpd.conf was removed.
Interesting that there is a file called magic: /etc/apache2/magic
For generating heap dumps on JDK 11 is pretty straight forward, following the previous versions – just add the flag when calling java:
[@your_computer] java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/JDK11/java_application
The generated file will be java_pid[number].hprof
For testing, I used the scripts from here
Actually, the second example is pretty straight forward – Error 2 – GC Overhead limit exceeded
Map m =
m = System.getProperties();
Random r =
But I didn’t run with his suggestion and instead, run it without it. Just to see how long it would take. I regretted because the file is huge!
It’s so interesting how much stuff it’s possible to be done just using some python script and libs.
I was doing some small stuff with Selenium here and it’s very useful actually, just play around with automating web browsing stuff.
This site brings a neat tutorial on this case
It is this API to make the navigation easy:
WebDriver driver = new FirefoxDriver();
next_button = [e for e in browser.find_elements_by_class_name('item-page')
if e.text.lower().find('next') > -1]