
Sang Shin is the founder and chief instructor at JPassion.com, a popular online learning site offering hands-on courses on Java, Java EE, the Spring framework, Java development tools, Java performance, JavaScript, jQuery, HTML5, Groovy and Grails, MySQL, Android, web services, Ruby on Rails, and Hadoop. Before founding JPassion.com, Shin was a lead technology architect and evangelist at Sun Microsystems. He frequently gives talks on various technologies to worldwide developer audiences.
Q: Tell us about the topic you will present at Java University during JavaOne.
Shin: It’s a full-day workshop about
Java performance tuning. Java performance-tuning concepts and strategies are going to be talked about first, and then several Java performance-tuning tools are going to be introduced and demonstrated. We will start with memory profiling and analysis using the NetBeans Profiler and the Eclipse Memory Analyzer. Both are great tools for analyzing heat dumps. We will then use the NetBeans Profiler for performance profiling as well. In my opinion, NetBeans is by far one of the most powerful profiler tools available for free. The profiling feature comes with NetBeans out of the box.
We will also learn about tools that come with the JDK such as VisualVM. Anyone who has the JDK should be able to use these tools. JDK 7 Update 40 also introduced Java Mission Control and Java Flight Recorder, two very powerful JVM [Java Virtual Machine] performance-tuning tools. For load testing, we will use JMeter, one of the most popular load-testing tools, and it is free to use. Finally, we will cover end-to-end application performance monitoring using AppDynamics, which lets you measure end-to-end performance metrics starting from the user all the way to the back-end servers. In a back-end environment, there may be multiple services involved, for example, multiple application servers, databases, or messaging services. In many cases, you want to see the end-to-end performance metrics for top-level business transactions, which involve all these servers.
Q: Is the workshop hands-on?
Shin: Even though I personally want it to be hands-on, due to logistics constraints the workshop will be done through lectures and demos only. I will provide the hands-on lab exercises and documentation, however. And attendees are welcome to try the labs during the workshop if they want to while they are being demonstrated. Or they can do hands-on labs after the workshop.
Q: Who should attend this full-day workshop?
Shin: Any Java developer who wants to learn performance tuning should attend. In fact, developers should include performance tuning as part of the overall application development lifecycle. Development teams are expected to use continuous integration tools such as Jenkins and Hudson to monitor the performance of the application every time they make significant changes.
Q: Aside from this Java University session, what do you have planned for JavaOne?
Shin: JavaOne gives you a unique opportunity to meet a lot of trendsetters in the Java development community, and I am excited about that. The Java community is still a very vibrant community in which new and exciting stuff is always going on, and JavaOne lets you get exposed to these new things in a single location and time. I am particularly interested in the Internet of Things, big data, and enterprise applications. I plan to attend as many sessions on these topics as possible and meet as many people with the same interests as possible.