在J2ME或Java SE中正在使用哪個版本的Java?在J2ME或Java SE中使用哪個版本的Java?
20
A
回答
8
Android不是Java ME或Java SE。 Android是一個不同的平臺和框架,但Java是Android SDK的編程語言。 Android沒有使用Java虛擬機,但Dalvik。 C/C++也有一個Android NDK。
5
Android使用的Dalvik
的Dalvik是 谷歌的Android操作系統的虛擬機(VM)。 Dalvik因此成爲 Android的重要組成部分,通常用於 移動設備,如手機, 平板電腦和上網本。 執行之前,機器人應用是 轉換爲緊湊的Dalvik 可執行(.DEX)格式,這是 設計成適合於被在 存儲器和處理器速度方面受限的系統 。
14
每個人都在這裏,但讓我有點澄清整個過程 - 它是如何工作的:
- 我們使用普通的Java編譯器標準的J2SE分佈和產生的.class文件 - 也稱爲Java VM的字節碼
- 然後使用Android SDK(aapt)中包含的工具 - 我們從.class文件生成.dex文件 - 換句話說,Dalvik VM字節碼
- 在我們用來命名爲.apk文件壓縮我們所有這些文件(.DEX +資源)成zip壓縮包到底 - 還挺Android的可執行
所以 - 很顯然,Android的既不是J2ME (運行所謂的Kylobyte VM字節碼)或J2SE(運行Java VM字節碼)...
但是從其他角度來看,Android更接近於J2SE--因爲它基於JVM字節碼頂部。
0
GNU項目「J2SE for Android」。
- 它提供了Swing和AWT類,因此您可以使用此庫在Android上運行J2SE應用程序。
- 它實現了大部分功能,並非全部。
相關問題
- 1. Java EE與Java SE:版本不匹配?
- 2. Android的Java版本如何與Java SE版本相關聯?
- 3. 在J2me中可以使用java SE庫嗎?
- 4. Java SE版本<-> Java EE版本兼容性矩陣
- 5. JAVA SE x86或x64?
- 6. 哪個Java版本檢查
- 7. Java NIO(java.nio。*) - 哪個版本?
- 8. 在Java中使用RecordStore J2ME
- 9. 是否有在Java SE 6或Java SE 7
- 10. Java SE的哪些部分未在Android開發中使用?
- 11. Java SE的所有規格在哪裏?
- 12. try-with-resources在Java SE 7及更高版本中的聲明
- 13. 在Java SE 1.7中使用ECC
- 14. 哪個版本的Eclipse支持Java 8?
- 15. 哪個版本的Java 1.6最穩定?
- 16. 哪個版本的tomcat兼容Java 1.6
- 17. Struts 1.3.10需要哪個版本的java
- 18. MacOSX 10.11.4:哪個java版本正在使用
- 19. Java支持哪種ZIP版本(1.6或其他版本)
- 20. 與應用引擎java一起使用哪個版本的eclipse?
- 21. 在瀏覽器中使用java applets所使用的java版本
- 22. 使用java的J2ME 1.6
- 23. GlassFish 2.1:哪個Java EE版本?
- 24. 哪個tomcat版本適合java 8
- 25. 的Java SE和Java EE
- 26. 如何在java SE
- 27. 哪些版本的Eclipse與哪些版本的Java兼容?
- 28. Java - 在J2ME中使用日期/時間
- 29. 我可以在Java SE中使用Java Fx Web視圖嗎?
- 30. 同時在Eclipse中使用JAVA SE和JAVA EE
thnx jonas你說java是Android SDK的編程語言。我的問題是Java的哪個版本在android J2ME或java SE中使用。 – 2011-02-01 20:10:43
@Adil:這不是Java ME或Java SE,而是Android。它是一個不同的編譯器和不同的虛擬機。所以你可以看到Android是一個不同的Java版本。 Android僅使用Java SE庫的一個子集,但也使用其他自定義庫。 – Jonas 2011-02-01 20:12:55