Three Important Java Performance Best Practices

Check out my video on “Building Scalable Data Solutions in a Changing Regulatory Landscape.”

_______________________________________________________

These days Java systems have grown within the corporate software landscape because they provide a flexible language for running programs on all types of platforms.  Unfortunately, the Java language, like any software language, can suffer from bad design, coding and performance.  Since there are many factors that affect performance, below are three important Java project best practices that can help your Java application performance. 

First, avoid Java persistence frameworks for transaction data. Hibernate, JPA, and other persistence frameworks are popular because they can cache the database information and sometimes minimize complex SQL and enhance Java performance.  Unfortunately, these persistent frameworks can mask the amount of data used, encourage inefficient application join processing of cached data and, more importantly, lead to data transaction integrity issues.  These persistence frameworks also add another layer of complexity on top of database SQL and transaction failover processing that can already be technology- and Java-performance challenged.

Next, understand the transaction unit-of-work.  Service-oriented architecture (SOA) enables integration with all types of Java performance processing.  These web services can connect different types of processing. Understanding the Java services dependencies called during a transaction is vital for data integrity, database locking and minimization of transaction duration.  Java performance needs to be efficient and minimized to make sure the transaction can quickly synchronize a minimum of objects and provide a response to the user.  Make sure your transaction unit-of-work has a distinct starting and ending point so that all Java memory and database resources can be committed and appropriately reused. 

Third, make sure to profile your application’s Java performance.  Profiling your Java application provides a great amount of documentation and details about which services are being called and used within your application transactions.  Java profiling should be incorporated into your standard agile development processes when applications are turned over to production.  Profiling will document what the development team delivers and highlight any dramatic Java performance impacts.  The profile documentation is also great for documenting all the SQL database calls and their performance. 

Java is quickly becoming the most popular programming language for applications in many companies.  Make sure your programming procedures and processes are well documented.  There are many Java performance best practices, but these three important ones will help your application immediately.

_______________________________________________________

Would you like to save money coming to IDUG this year?  Since I was named an IBM Information Champion again in 2012, I can help by being your IDUG DB2 Mentor.  This can greatly reduce the registration costs.  So if you have funding and approval from your management to go to IDUG in Denver this year,I can help you save some money.  Send me an email at moc.ekluebevadnull@evad by this Friday and I will randomly pick a lucky person to mentor to the IDUG Denver 2012 conference.

Also the IDUG early bird discount ends on April 6.  Sign up for IDUG today!

I look forward to speaking at the IDUG DB2 Tech Conference 2012 North America conference.  The conference will be held in Denver, Colorado on May 14-18, 2012.  Sign up today at www.idug.org.

Also, I am beginning to plan my Regional DB2 User Group support for the rest of 2012.  Please send an email to me at moc.ekluebevadnull@evad if you would like me to come and speak or offer a DB2 class at your local user group.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>