Java language is the tool of choice for Android developers. The Android runtime uses its own virtual machine, Dalvik, which is not the usual Java virtual machine that most Java developers are used to. In this article you will learn advanced Java features and how they are implemented on Android. This includes features such as concurrency, networking, and database access.