4: Initialization and cleanup

As
the computer revolution progresses, “unsafe” programming has become
one of the major culprits that makes programming expensive.

Two
of these safety issues are
initialization
and
cleanup.
Many C bugs occur when the programmer forgets to initialize a variable. This is
especially true with libraries when users don’t know how to initialize a
library component, or even that they must. Cleanup is a special problem because
it’s easy to forget about an element when you’re done with it,
since it no longer concerns you. Thus, the resources used by that element are
retained and you can easily end up running out of resources (most notably
memory).

C++
introduced the concept of a
constructor,
a special method automatically called when an object is created. Java also
adopted the constructor, and in addition has a garbage collector that
automatically releases memory resources when they’re no longer being
used. This chapter examines the issues of initialization and cleanup and their
support in Java.

Top White Papers and Webcasts

The 2014 State of DevOps Report — based on a survey of 9,200+ people in IT operations, software development and technology management roles in 110 countries — reveals:
Companies with high-performing IT organizations are twice as likely to exceed their profitability, market share and productivity goals.
IT performance improves with DevOps maturity, and strongly correlates with well-known DevOps practices.
Job satisfaction is the No. 1 predictor of performance against organizational …

Companies undertaking an IT project need to find the right balance between cost and functionality. It's important to start by determining whether to build a solution from scratch, buy an out-of-the-box solution, or a combination of both. In reality, most projects will require some system tailoring to meet business requirements. Decision-makers must understand how much software development is enough and craft a detailed implementation plan to ensure the project's success. This white paper examines the different …