Just a place to put together some thoughts on Java, Technology and Other Stuff (tm) that interests me.

Thursday, February 3, 2011

Is Android Dalvik Java?

Obviously there are lot of definitions of what Java is or isn't and my opinion on the matter isn't very important to anyone at either Oracle or Google, but I was poking around at some things in an Android application at work looking for something. I ended up getting the system properties from System.getProperties() and present the following comparison:

System Properties from Sun Java 6 JVM on my Ubuntu laptop -

file.encoding.pkg: sun.io
file.encoding: UTF-8
file.separator: /
java.class.path: /usr/share/groovy/lib/groovy-1.7.2.jar
java.class.version: 50.0
java.endorsed.dirs: /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/endorsed
java.ext.dirs: /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/ext:/usr/java/packages/lib/ext
java.home: /usr/lib/jvm/java-6-sun-1.6.0.22/jre
java.io.tmpdir: /tmp
java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/amd64/server:/usr/lib /jvm/java-6-sun-1.6.0.22/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/.. /lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.runtime.name: Java(TM) SE Runtime Environment
java.runtime.version: 1.6.0_22-b04
java.specification.name: Java Platform API Specification
java.specification.vendor: Sun Microsystems Inc.
java.specification.version: 1.6
java.vendor: Sun Microsystems Inc.
java.vendor.url.bug: http://java.sun.com/cgi-bin/bugreport.cgi
java.vendor.url: http://java.sun.com/
java.version: 1.6.0_22
java.vm.info: mixed mode
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.vm.specification.vendor: Sun Microsystems Inc.
java.vm.specification.version: 1.0
java.vm.vendor: Sun Microsystems Inc.
java.vm.version: 17.1-b03
line.separator:
os.arch: amd64
os.name: Linux
os.version: 2.6.35-25-generic
path.separator: :
program.name: groovysh
script.name: /usr/bin/groovysh
sun.arch.data.model: 64
sun.boot.class.path: /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/classes
sun.boot.library.path: /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/amd64
sun.cpu.endian: little
sun.cpu.isalist:
sun.desktop: gnome
sun.io.unicode.encoding: UnicodeLittle
sun.java.launcher: SUN_STANDARD
sun.jnu.encoding: UTF-8
sun.management.compiler: HotSpot 64-Bit Server Compiler
sun.os.patch.level: unknown
tools.jar: /usr/lib/jvm/java-6-sun/lib/tools.jar
user.country: US
user.dir: /media/extra/source/sdg-android/zxing-base
user.home: /home/kslater
user.language: en
user.name: kslater
user.timezone:


System Properties from Android 2.1 Dalvik VM -

android.vm.dexfile: true
file.encoding: UTF-8
file.separator: /
http.agent: Dalvik/1.1.0 (Linux; U; Android 2.1-update2; bb_bip6000 Build/ERE27)
java.boot.class.path: /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
java.class.path: .
java.class.version: 46.0
java.compiler:
java.ext.dirs:
java.home: /system
java.io.tmpdir: /sdcard
java.library.path: /system/lib
java.net.preferIPv6Addresses: true
java.runtime.name: Android Runtime
java.runtime.version: 0.9
java.specification.name: Dalvik Core Library
java.specification.vendor: The Android Project
java.specification.version: 0.9
java.vendor: The Android Project
java.vendor.url: http://www.android.com/
java.version: 0
java.vm.name: Dalvik
java.vm.specification.name: Dalvik Virtual Machine Specification
java.vm.specification.vendor: The Android Project
java.vm.specification.version: 0.9
java.vm.vendor: The Android Project
java.vm.vendor.url: http://www.android.com/
java.vm.version: 1.1.0
javax.net.ssl.trustStore: /system/etc/security/cacerts.bks
line.separator:
os.arch: armv5tel
os.name: Linux
os.version: 2.6.32.24-sdg
path.separator: :
user.dir: /
user.home:
user.language: en
user.name:
user.region: US


Hmm. Looks like a lot of the same stuff in properties. This really means nothing other than Google wanted to make the system environment as compatible as possible for prospective developers I guess, but it's just curious to me that while it's not Java, it sure looks like Java does from this one perspective..

No comments: