title: Basic Java application data storage
body: <p>I'm working on (essentially) a calendar application written in Java, and I need a way to store calendar events. This is the first "real" application I've written, as opposed to simple projects (usually for classes) that either don't store information between program sessions or store it as text or .dat files in the same directory as the program, so I have a few <em>very</em> basic questions about data storage.</p>
  
  <ul>
  <li>How should the event objects and other data be stored? (.dat files, database of some type, etc)</li>
  <li>Where should they be stored?</li>
  <li>I'm guessing it's not good to load all the objects into memory when the program starts and not update them on the hard drive until the program closes. So what do I do instead? </li>
  </ul>
  
  <p>If there's some sort of tutorial (or multiple tutorials) that covers the answers to my questions, links to those would be perfectly acceptable answers.</p>
  
  <p>(I know there are somewhat similar questions already asked, but none of them I could find address a complete beginner perspective.)</p>
  
  <p>EDIT: Like I said in one of the comments, in general with this, I'm interested in using it as an opportunity to learn how to do things the "right" (reasonably scalable, reasonably standard) way, even if there are simpler solutions that would work in this basic case.</p>