Blog Archives

10 Core Java Best Practices with an industry strength code sample

Best Practices is one of the key areas, and often you can impress your interviewers, peers, and code reviewers by applying the best practices to your code. If you are an interviewer, you can show a piece of code that is badly written, and ask for the recommendations as to…

Read more ...

5 Java unit testing interview Questions and Answers

Q1 Why use mock objects in unit testing? A1 Unit testing is widely accepted as a “best practice” for software development. When you write an object, you must also provide an automated test class containing methods by calling its various public methods with various parameters and making sure that the…

Read more ...

9 Java Data structures best practices

#1: Choose the right type of Java data structure based on usage patterns

like fixed size or required to grow, duplicates allowed or not, ordering is required to be maintained or not, traversal is forward only or bi-directional, inserts at the end only or any arbitrary position, more inserts or more reads, concurrently accessed or not, modification is allowed or not, homogeneous or heterogeneous collection, etc. Also, keep multi-threading, atomicity, memory usage and performance considerations discussed earlier in mind.

#2: Favor unmodifiable data structures where applicable

Use an immutable collection (aka unmodifiable collection) if you don’t want to allow accidental addition or removal of elements once created. The objects stored in a collection needs to implement its own immutability if required to be prevented from any accidental modifications.

Read more ...

Can you list 10 JEE best practices from your experience?

Core Java best practices and JEE best practices can reveal a lot about your experience as a Java developer.

Q1. Can you list 10 JEE best practices from your experience?

#1: Using datasources with JNDI lookups

DataSources make the code more portable than using the DriverManagers. For the DriverManagers you need to tightly couple the details like host, port, username, password, and driver class to connect to a database with the code, and even externalizing those in a properties file doesn’t give you the flexibility that the JNDI lookup give by configuring the DataSources on the application server.

DriverManager approach

For the Datasources you need to know only the JNDI names to be used in your code,

DataSource with JNDI lookup approach

where the database details like host, port, username, password, and driver class will be configured on the application servers like JBoss, Weblogic, Tomcat, etc.… Read more ...


How will you go about improving on the following Java code?

Q1. How will you go about improving on the following code snippet that calculates the new balance based on the current balance, total debits, and total credits? Note: All amounts need to be positive values.

A1. Firstly, a good thing about the above code is that it uses the…

Read more ...

Top 5 Core Java Exceptions and best practices

#1: ConcurrentModificationException Getting a ConcurrentModificationException when trying to modify (i.e. adding or removing an item) a collection while iterating. The following code throws a ConcurrentModificationException.

To avoid ConcurrentModificationException in a single-threaded environment, you can remove the object that you are working on with the iterator.

To Avoid ConcurrentModificationException…

Read more ...

500+ Enterprise & Core Java programmer & architect Q&As

Java & Big Data Tutorials