Jitendra Chittoda wrote:Hi Martin & Benjamin,
I was going through the contents of the book and had a couple of questions related to the performance tuning.
Does this book put some light on-
G1 GC that has been introduced in java 7, and how much performance benefit we can get using G1 GC.How to tune GC, how much should be the Heap, PermGenSpace, OldGen ratio for max performance.Does java has tools like JProfiler, to identify the bottleneck?
* It does discuss G1 in some detail and the sorts of performance characteristics you'll get out of it. But as Ben and I always say "Measure, don't guess!". You always need to look at GC collectors in the context of your application and how that application is driven by its users.
* It talks a little bit about tuning GC yes. However, this is a very large topic which takes up at least 1-2 days of our 4-day performance tuning course :-). Again, it always depends on what type of performance you're wanting, lots of small pauses? Or larger more infrequent pauses?
* Java has VisualVM which you can use for some performance analysis, including GC. However it is fairly basic and will only give you so many insights. Our start-up is actually working on more sophisticated tooling (that still gives simple answers).
Jitendra Chittoda wrote:
Few other questions
As java has been taken over by the Oracle, will they continue to support java as opensource? What you guys think on the future of Java?Can we expect the same kind of innovations with Oracle as Sun did? It seems Oracle is looking at Java in business terms.
* Absolutely - we're very confident that Oracle will continue to support Java as a fully open source project. We actually work closely with them on this and various other community initiatives such as Adopt OpenJDK and Adopt a JSR.
* Sun actually stopped innovating with Java (the language) towards the end as Java had become the defacto language for what we call the stable layer. This means that millions of developers rely on Java (the language) to not break or change too rapidly. Therefore we're not going to see Java getting the latest language features quickly. However, you have lots of choice with many other languages on the JVM that do have the latest features, who all interoperate with Java nicely.