`
superonion
  • 浏览: 126971 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

浅谈Java平台与Android平台

阅读更多

       先说一说Java平台Java语言的关系:

 

       Java编程语言Java平台是两个完全不同的概念。前者泛指一系列编程的语法,而后者包括前者,同时又超出前者的范围。一般而言,Java平台由三部分组成,分别为核心的Java API(包、框架及类库)、Java字节码(编译且可执行的形式)以及Java虚拟机(JVM,执行字节码的运行机制)Java语言只不过是Java平台中的一小部分,因为其他语言同样可以实现Java语言的功能,例如Groovy,、JRuby及JPython等,这些语言同样可以编写出运行在JVM执行的字节码。


       再来说说Android:

 

       Android是一款手机平台,其功能相当于Java平台,它不仅使用了Java编程语言,而且还使用了核心的Java API。但是,Android的可执行形式与Java平台的宇节码形式是不同的,同时,Android使用的虚拟机与Java平台的JVM也不一样,因此Java环境下生成的Java字节码在Android平台上是不能执行的。
       Google公司没有使用标准的JME(Java Monkey Engine,一款Java 3D游戏引擎)作为运行Java应用软件的引擎,而是为Android配备了名为Dalvik的虚拟机,这样做可以避免因使用JME所带来的与Sun公司(现被Oracle公司收购)之间的纷争问题。与Java虚拟机不同,Dalvik虚拟机执行的是Dalvik字节码,而不再是Java字节码,因此,Android平台与Java平台既存在相似又存在不同。

 

 

 

0
0
分享到:
评论

相关推荐

    信息安全_浅谈Android自动化审计.pptx

    背景 选型 基于Java的自动化审计 相对准确率 基于Smali的自动化审计 优点 误差分析 静态污点分析 动态分析 总结及展望

    浅谈Android Classloader动态加载分析

    ClassLoader概念 我们知道,Java源文件(.java)经过编译器编译之后,会转换成Java字节码(.class),然而程序是如何加载这些字节...Android中的常用几种类加载器类型继承关系划分可以用一组关系图来表示 BootClassLoder

    浅谈Android游戏开发之详解SQLite存储

    底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。  什么是SQLite:  SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前...

    浅谈Android Studio导出javadoc文档操作及问题的解决

    1、在Android studio中进行打开一个项目的文件之后,然后进行点击Android stuio中菜单中的“tools”的选项。在弹出了下拉菜单中,进行选中下拉菜单中的“Generate JavaDoc”的选项。 2、在弹出界面中 Output ...

    浅谈Android Studio 3.0 的一些小变化

    而Android Studio 3.0 已经把Kotlin的语言支持内置进去了,这样就省去了很多的麻烦,如果你还没接触过Kotlin语言,可以去百度一下 他们的官网,如果你现在使用的Java语言,那么你真是太幸运了,因为Kotlin对于你来说...

    浅谈Android中多线程切换的几种方法

    我们知道,多线程是Android开发中必现的场景,很多原生API和开源项目都有多线程的内容,这里简单总结和探讨一下常见的多线程切换方式。 我们先回顾一下Java多线程的几个基础内容,然后再分析总结一些经典代码中对于...

    浅谈Android中关于静态变量(static)的使用问题

    静态变量的生命周期遵守Java的设计。静态变量在类被load的时候分配内存,并存在于方法区。当类被卸载时,静态变量被销毁。在PC机的客户端程序中,一个类被加载和卸载,可简单的等同于jvm进程的启动和结束。在Android...

    浅谈Android面向切面编程(AOP)

    如果你用java做过后台开发,那么你一定知道AOP这个概念。如果不知道也无妨,套用百度百科的介绍,也能让你明白这玩意是干什么的: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和...

    浅谈Android应用的内存优化及Handler的内存泄漏问题

    物理内存与进程内存 物理内存即移动设备上的RAM,当启动一个Android程序时,会启动一个Dalvik VM进程,系统会给它分配固定的内存空间(16M,32M不定),这块内存空间会映射到RAM上某个区域。然后这个Android程序就会...

    浅谈Android软硬件巧妙整合的开发技巧

    Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为“Android”的公司开发,...底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

    浅谈Android系统的基本体系结构与内存管理优化

    Android运行环境一览 Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面: ...java源代码经过编译成为.class字节码文件,然后由谷歌提供的 dx工具将其转化为Dalvik可识别的.dex文件

    浅谈Android开发中ListView控件性能的一些优化方法

    主要介绍了Android开发中ListView控件性能的一些优化方法,需要的朋友可以参考下

    浅谈Android开发系列网络篇之Retrofit

    A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎么实现的也不太敢用,不然出问题了就不知道怎么办了。这几天比较闲就下下来看了一下,了解一下大概实现方法,细节就...

    浅谈android @id和@+id的区别

    今天,简单讲讲android里关于@id和@+id的区别。 之前,自己在布局里无论什么情况都使用@+id,可是后来发现有些代码用的是@id,自己不知道这两者之间有什么区别。于是就在网上查找资料,最终是解决了问题。这里记录...

    嵌入式系统/ARM技术中的浅谈Android游戏开发之详解SQLite存储

    底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。  什么是SQLite:  SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前...

    浅谈framework之ConnectivityService

    frameworks/base/services/java/com/android/server/SystemServer.java 在判断网络可用的情况下,开启各个网络相关的服务,其中就有ConnectivityService: if (!disableNetwork) { ......//省略无关代

    浅谈Android开发中项目的文件结构及规范化部署建议

    主要介绍了Android开发中项目的文件结构及规范化部署建议,组织好代码文件的结构有利于维护团队合作的效率,需要的朋友可以参考下

    Android 日志系统Logger源代码详细介绍

    在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logger驱动程序的源代码,使得我们对Android日志系统有一个深刻的...

    浅谈Android AsyncTask内存安全的一种使用方式

    以一个弱引用的接口作为主线程与子线程交流的桥梁。 代码 WeakTask.java public class WeakTask<T> extends AsyncTask<Void> { private WeakReference<OnWeakTaskListener>> listenerReference; public ...

Global site tag (gtag.js) - Google Analytics