advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   TIP BANK
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Expertise: Beginner
Language: Java
December 11, 2003
Use Lazy Initialization to Conserve Resources
Say you have an object with a property that uses a relatively large amount of resources—and you know the property may never be accessed. Consider waiting to create the property until it's actually needed—especially if you are creating large numbers of these objects. Delaying creation in this manner is called lazy initialization.

Take for instance this Policy class:
public class Policy {
private SalesPerson salesperson;
// code missing to conserve space. . .
public SalesPerson getSalesPerson() {
return this.salesPerson;
}
}
You could create the SalesPerson object when the Policy is created:

public Policy() {
this.salesPerson = new SalesPerson();
}
Or you could use lazy initialization to delay the creation until the SalesPerson object is actually needed:

public Policy() {
}
public SalesPerson getSalesPerson() {
if ( this.salesPerson == null ) {
this.salesPerson = new SalesPerson();
}
return this.salesPerson;
}

It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com.
Already a member?





If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
advertisement
advertisement