1.Dalvik虚拟机与jvm的区别
a.dalvik虚拟机是基于寄存器的,jvm基于栈
b.Dalvik运行的是.dex字节码格式,java虚拟机运行的是java字节码
c.Dalvik虚拟机运行环境做了优化,允许在有限的内存中同时运行多个虚拟机的实例,每一个 Dalvik应用作为一个独立的Linux进程执行
2.android进程间通信
a.bundle,Activity、Service、Receiver之间的数据传递
b.contentprovider,不同应用程序之间进行数据交换的组件。一个应用程序通过它公开自己的数据操作接口,另一个应用程序都可以通过接口来操作它的内部数据。可以操作的数据的格式:数据库,文件,对象。
c.messenger,进程间基于消息的通信实现方式,基于aidl
d.aidl,基于binder
e.broadcastreceiver,基于binder
f.binder机制,包含Client、Server、Service Manager和Binder驱动程序四个组件,Client、Server和Service Manager实现在用户空间中,Binder驱动程序实现在内核空间中
g.socket,应用层和传输层之间的一个抽象层,用于网络进程间通信
3.冒泡算法
public static void bubbleSort(int[] arr) { for(int i =0;i<arr.length-1;i++) { for(int j=0;j<arr.length-i-1;j++) { if(arr[j]>arr[j+1]) { int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }
4.猴子吃桃
public class test { public static void main(String[] args){ int t = 1; for(int i=1;i<10;i++){ t=(t+1)*2; } System.out.println("the initial number of peachs is:"+t); } }
文章来源: android面试 day1