Java ME (formerly J2ME) is a version of Java designed for small, resource-constrained devices. It allows programming of mobile phones, PDAs, TVs, and other devices. Java ME uses configurations like Connected Device Configuration (CDC) for devices like set-top boxes and Connected, Limited Device Configuration (CLDC) together with Mobile Information Device Profile (MIDP) for small mobile phones. It supports building applications like spreadsheets, games, and more on over 700 million Java-enabled mobile phones.