A huge range of physical phones can run java j2me based software without needing to determine device configurations etc. Sun says there are about 2.5 Billion j2me/midp enabled handsets out there.
Unfortunately the various carriers then balkanized this 'code once run everywhere' capability in order to try to capture cashflow from developers (independent testing. certification, and signing anyone?) and customers (all the many app stores).