Where can I find my Android applications? I want to know where do Android applications stay?

For example, if you install a program with package name xx.yyy ,  you will see xx.yyy-1.apk in /data/app and will see xx.yyy in /data/data and data@app@xx@yyy-1apk@classes.dex in /data/dalvik-cache.

I want to know other places that a program can stay.

At a glance, I want to remove a program manually, and I want to know places the application might occupy.

At the end I want to know the function of each file.  What's the duty of data@app@xx@yyy-1apk@classes.dex  in /data/dalvik-cache for example?
The /data/app-private directory is another location of 3rd-party protected apps.  System apps that come pre-installed with the ROM are stored in a read-only /system/app directory.

/data/dalvik-cache contains optimized bytecode for each installed app, which allows the system to launch it faster.  These ...@classes.dex files get generated at installation/update time, or during the first boot-up for pre-installed apps.

Also, with Android 2.2 Google introduced ability to move apps to the SD Card.  When you do this, a new virtual mount point is created under /dev/block/dm-X (where "X" is a sequential number starting with 1) which points to /mnt/asec/xx.yy-1.

/data/data/ folder contains settings, preferences and cache for all apps, each within its own folder named after the package name.  E.g. /data/data/xx.yyy/.