Android深入浅出系列课程---Lesson13 LLY110529_虚拟机概述,JIT概述

Android开发视频教程-深入浅出系列Lesson20-AFF111029学习Android界面开发的基础 课程目标: 学习和掌握Android界面开发学习方法 了解Android界面如何呈现出来的 了解Android事件机制 如何自定义组件? · 重点难点: 了解界面呈现机制 了解android界面事件机制 · 考核目标: 你会写Android自定义组件么? 说说Android事件机制 UI呈现需要底层的支持么? 我们做界面最关键的类是? · 课后练习: 写一个自定义的组件 阅读详情
 大家好,上一讲我们介绍了Android.Framework源码下载及编译,这一讲我们将进入虚拟机概述,JIT概述
        课程目标:
知道虚拟机的概念,JVM , JIT
        重点难点:        
虚拟机带来的好处
        考核目标:
C++ 和 Java编译上的区别   应用层代码不修改,为何有时候可以编译过,有时候编译不过 ?
        什么是虚拟机?
一种抽象,一种仿真
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
An efficient, isolated duplicate of a real machine. –Popek and Goldberg 1974

System virtual machine:一个系统的仿真和抽象,可供一个或多个操作系统在上面运行。Eg: VM Ware, QEMU, KVM
虚拟机指令集可与硬件CPU指令不同
提供隔离isolation

Process virtual machine:只供一个进程的仿真执行 Eg:JVM(Java Virtual Machine), Microsoft .NET
提供可移植性(portability)
WORA, Write once, run anywhere. --Slogan of Sun Microsystem
虚拟的机器:4G内存,标准的IO
        什么是JVM
Lesson13=1.jpg
2011-11-7 10:33:28 上传
下载附件 (19.31 KB)

WORA: Write Once, Compile once, run everywhere
应用程序和Bytecode编译器独立于硬件(machine-independent)

虚拟机软件仿真要实现指令集转换,虚拟地址物理地址的转换,代价慢!Java刚问世时比C/C++ 慢20X+

        什么是JIT
改进:实时编译JIT(Just in Time) compiler
只有新的Bytecode指令需要编译
A typical program with loops and repeated function calls should execute 10x faster using JIT.
No free lunch:需要储存空间,占内存(memory footprint)

啥叫实时? 编译什么? When and What to compile?
Method invoke time? Instruction fetch time? Application launch time?
Whole program?  A page?  Method?  Single instruction?

A compiler's primary function is to compile, organize the compilation, and go right back to compiling. It compiles basically only those things that require to be compiled, ignoring things that should not be compiled. The main way a compiler compiles, is to compile the things to be compiled until the compilation is complete.
        汇编器,链接器,加载器
汇编器(Assembler): 转换标签(Tag)为偏移量(offset),汇编语言的IDE,
链接器(Linker):多个目标文件和库变为一个可执行文件或新的库
Lesson13-2.jpg
2011-11-7 10:33:29 上传
下载附件 (6.68 KB)

静态vs动态链接
编译过的常用库二进制码只存一处 
更新方便,but … DLL Hell

加载器(Loader):加载到内存:execve().
本讲对虚拟机概述,JIT概述,下一讲将进入Handler-不可缺少的异步_
上,内容预告:AFF110529_Handler-不可缺少的异步_上,敬请期待。


特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://www.tudou.com/programs/view/eMFpniJRUJY/  (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)
Agent本地部署教程详细步骤 在开始之前,你需要明确你要部署的Agent是什么。如果你需要部署其他Agent,请参考其官方文档调整步骤。 阅读详情

相关推荐

想发故障诊断论文?手把手教你用CWRU数据集复现第一个Baseline模型

本文提供了一份基于CWRU轴承数据集的故障诊断Baseline模型实战指南,手把手教你从数据准备到模型构建的全流程。通过详细的Python代码示例和学术级实验设计,帮助初学者快速复现第一个故障诊断模型,为发表高质量论文奠定基础。

weixin_28681255的博客 428

计网Lesson11 - 虚拟机网络环境及socket概述

socketsocketsocket是一种用于应用层的用户态与应用层以下的内核态交互的工具,本意为“插座”。也就是用来连接数据包到各个端口的一个工具。但具体是什么我也不太懂,网编这块之后再来补坑吧 >\/<

2301_78981471的博客 346

使用海康机器人的SDK进行DWS开发时如何筛选不同类型的相机

使用MVIDCodeReader、MvCodeReaderSDK、MvVolMeasureSDK联合开发时,通常会做一些设备枚举列表,但是不同类型的设备需要枚举在不同的列表中,便于软件使用者配置参数,例如: 如何保证枚举出来的设备是可以选择的对应的设备。我们通常枚举出来的是这样的: 解决办法 在联合开发中,我们发现,只有MvVolMeasureSDK的枚举设备接口EnumStereoCamEx可以正确的只枚举出网络内的体积设备,其余的MVIDCodeReader、MvCodeReaderS

qq_29123967的博客 2732

linux学习 lesson11虚拟机的管理

一、图形界面创建虚拟机 step1 关闭虚拟机(防止系统卡死) step2 su - ##切换到超级用户 virt-manager ##进入图形管理界面 step3 左上角图标create —&amp;amp;amp;gt; —&amp;amp;amp;gt; —&amp;amp;amp;gt; —&amp;amp;amp;gt; 创建完成。

飞翔的罗老汉 471

2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析

目标是优化风力涡轮机的功率调度,使其在给定的实时风速数据下,最小化涡轮机关键组件(如塔架和主轴)的疲劳损伤。问题的挑战在于,考虑通信延迟和测量噪声的同时,要确保功率输出与风速变化的响应快速且准确。

2401_82549447的博客 6628

linux学习 lesson 1 虚拟机&shell介绍及用法

iuuoi

飞翔的罗老汉 1261

QComboBox设置最大显示数量多余的用滑动条,以及QComboBox::setMaxVisibleItems()不起作用的问题

QComoboBox是Qt封装的一个选择框的东西,但是我在使用过程中有一点感觉很不好,如图: 不论你往里面添加多少个它都会给你显示全部,甚至给你铺满全屏,后来看了官方文档发现有个setMaxVisibleItems()的方法,我欣喜若狂啊,终于特么的能解决了,但是,很遗憾,不知为啥,我设置上之后并没有起作用,依然会显示全部,后来搜了百度发现有个人是这样解决的 QComboBox *box = ne...

Aboveground的博客 4919

Android开发视频教程-深入浅出系列Lesson19-AFF110727_蓝牙编程入门

课程目标 知道蓝牙是什么,能够做什么,知道常用蓝牙的API 重点难点 理解蓝牙API,并且熟练使用 考核目标 什么是蓝牙,如何使用? 建立蓝牙端口,接收远端蓝牙数据的过程是什么? 如何进行蓝牙设备的搜索与配对?建立连接的过程是什么? 课后练习 能独立开发一个蓝牙聊天程序 Android蓝牙介绍 蓝牙是一种设备短距离无线通信技术,使用蓝牙你可以搜索并连接到附近的蓝牙设备,可以在

1317

ui(new Ui::MainWindow)的解析

Ui命名空间的变量名,和默认空间的变量名虽然一样,但实际是两个不同的东西。所以构造函数中调用MainWindow是没问题的,因为它不是在调用自身,而是在调用其他命名空间下的另一个同名的MainWindow类。这里使用C++的成员初始化列表语法,初始化成员变量指针ui,可这里有个问题,在MainWindow的构造函数中new 一个MainWindow,这又调用一下MainWindow的构造函数,这岂不是会死循环?ui_mainwindow.h文件。mainwindow.h文件.

sinat_31608641的博客 1193

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

Android深入浅出系列课程--Lesson11 Android.Framework源码下载及编译

大家好,上一讲我们介绍了以后的课程的大体安排,这一讲我们将进Android.Framework源码下载及编译         课程目标:     Android Framework 源码下载及编译         重点难点:           Android不同版本源代码环境配置的不同         考核目标:         下载Android Framework源码的过程

1003

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《2012Sundy高级课程更新》Android深入浅出系列课程文章列表

既然是一个系列的教程,那么在这给大家建立一个系列文章的列表,大家查看文章也方便!! 深入浅出 1.Android深入浅出系列课程---Lesson0 SHW110425_开场白 2.Android深入浅出系列课程---Lesson1 AAF110430_android中context介绍 3.Android深入浅出系列课程---Lesson2 AAF110426_Log打开an

740

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android深入浅出系列课程---Lesson2 AAF110426_Log打开android大门

大家好,上一讲对Android中Context的介绍,这一讲将进入“玩懂Log,打开Android的大门”。 一、课程目标:         熟悉使用android log形式 学会理解系统log 通过Log分析ANR 和 Force Closed所引起的程序问题     (ANR---应用程序无响应) (Force Closed---强行关闭) 知道系统Log

737

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Process Lifecycle

大家好,上一讲我们介绍了Android中Log,这一讲我们来讲下进程生命周期Process Lifecycle。 一、课程目标:         熟悉Android Process生命周期     掌握Android进程的5个等级 二、重点难点:         理解性的记忆Android的5个等级的的含义及转换关系 三、考核目标:         请说出Andro

646

Android深入浅出系列课程---Lesson0 SHW110425_开场白

Android深入浅出的四个阶段:         1、序         2、AAF应用框架         3、LLY底层         4、SPI系统移植综合 首先:Android深入浅出之序 一、讲课特点 1. 比较Open,不封闭 2. 是动态的,不是静态的 3. 辐射状的,而非线形的 二、课程的简单介绍---课程结构(不一一列举,将在以后的课程

587

Android深入浅出系列课程---Lesson4-AAF110429_介绍Manifest文件的使用

大家好,上一讲我们介绍了进程生命周期(Process Lifecycle)的介绍,这一讲我们将进入Manifest文件的使用。 一、课程目标:         Manifest文件的使用及系统解析此文件的过程 二、重点难点:         了解清楚系统解析Manifest文件的过程 三、考核目标:         Manifest这个文件系统是什么时候加载的 , 里面定

558

Android深入浅出系列课程---Lesson15LLY110602_Dalvik虚拟机概述

大家好,上一讲我们介绍了Handler-不可缺少的异步,这一讲我们将进入Dalvik虚拟机概述. 课程目标: 概念性的知道Dalvik虚拟机基于JVM的改进及其对移动设备的好处: 1)dex file format 2)Zygote shared lib and heap 3)Register-based ISA 4)Trace-Granularity JIT 知道apk的结构知道

552

Android深入浅出系列课程---Lesson7 LLY110426_Android系统启动

大家好,上一讲我们介绍了Activity状态保存,这一讲我们将进入Android系统启动。 一、课程目标: 从系统角度了解Android启动过程 二、重点难点:        下载源代码并且根据源代码从底层开始跟踪整个android启动过程 三、考核目标: 你了解Android系统启动过程么? Zygote进程是什么? 四、课后练习: 下来源代码,

538

Android深入浅出系列课程---Lesson8 Android应用程序启动

源代码实在太大,大家到Verycd上面下载 速度也比较快,见谅。 地址:http://www.verycd.com/topics/2900036/ 大家好,上一讲我们介绍了Android系统启动,这一讲我们将进入Android应用程序启动。         课程目标:        从系统角度了解Android启动过程         重点难点:        下载源代码并且根据源代码从底

533

Android开发视频教程-深入浅出系列Lesson18-SPI110723_Mobile.Widget概述

课程目标: 知道Mobile Widget概念 , 知道其与Webkit的关系 · 重点难点: 理解Webkit核心模块 理解Mobile Widget产生理念 Widget 需要支持的特性有哪些? · 考核目标: 移动的JIL Widget 和Opera Widget ,这些Widget和android framework Widget一样么? Mobile Widget 需要

528

Android深入浅出系列课程---Lesson12 AFF110525_Android多线程系统概要

大家好,上一讲我们介绍了Android.Framework源码下载及编译,这一讲我们将进入虚拟机概述,JIT概述         一、课程目标: 了解Linux的多线程概念, 了解Android的异步任务机制 ,了解Android 多线程的实现         二、重点难点:        Linux的多线程以及多任务的实现         三、考核目标: Android的多线程如何实现

511

Android深入浅出系列课程---Lesson5 AAF110502_Activity是什么

大家好,上一讲我们介绍了Manifest文件的使用,这一讲我们将进入Android四大组件---Activity是什么。 一、课程目标: Acitivy实际是如何实例化的 ? Activity的生命周期是如何注册和监控的 ? 二、重点难点:         Activity与Binder的关系 要理解清楚Activity就要理解清楚Context 三、考核目标:

506

具身智能 2026:启元人形机器人开发者生态的“安卓时刻”来了吗

一个贯穿全文的问题:人形机器人开发者生态,是否正从「封闭垂直」走向「开源平台化」?本文以开源底座的公开数据为标尺,盘点 SDK、URDF、仿真与技能分发的开放程度,并落回启元机器人的开源路径。所有关键数据均标注来源,文末附社区与学堂链接。

在北风吹起的时候加入我们的队伍 在秋雨到来的时候成为彼此的温暖 756

android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送

橘子,计算机视觉方向工程师,深耕 AIGC 与多媒体处理领域,专注技术实用化落地。本文为原创内容,转载请注明来源与作者。优快云 首发 | 版权所有 © 2026。

下载资源或查看教程前,请务必阅读置顶的《免责声明》 535
上一篇: Android深入浅出系列课程---Lesson12 AFF110525_Android多线程系统概要
下一篇: Android深入浅出系列课程---Lesson14Handler-不可缺少的异步
sundy_android
博客等级 码龄15年 5粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值