安卓Java虚拟机大小_虚拟机为安卓流畅度背锅,是因为关系数十万程序员饭碗?...
导读:虚拟机相当于应用程序在不同运行环境中的翻译。
说起谷歌安卓系统的“虚拟机”,很多人爱拿它和苹果iOS做比较,结果,安卓的很多短腿儿都让虚拟机背了锅,比如安卓手机运存容量是iPhone的两到三倍,流畅度却没有脱胎换骨的变化,有时还被iOS摁在地上摩擦,然后很多人将其归结为虚拟机拖了后腿儿。
虚拟机表示:为安卓流畅度背这口锅,也是为了广大程序员的饭碗着想!
解开这个梗,先要搞懂什么是虚拟机,以及虚拟机有什么用。
简单说,虚拟机是一种消除计算机硬件差异的机制,它可以提供一种稳定的运行环境,让相同的应用程序在不同的操作系统和硬件上运行。
说到应用程序的运行环境,需要展开一下。
应用程序的运行环境=操作系统+硬件,其中硬件是起主要作用。原因不复杂,特定指令集的CPU只能解释其固有的机器语言,不同的CPU能解释的机器语言(本地代码)自然不同,英特尔的CPU和ARM的CPU能解释得机器语言是不同的。这好比不会英文的人听不懂英语,反之亦然。
怎么才能让不会英文的人听懂英语?找英语翻译可以办到。
虚拟机就相当于应用程序在不同运行环境中的翻译。比如著名的虚拟机软件“Virtual PC for Mac”,它由微软出品,有了它,苹果的Macintosh用户也能在Mac操作系统上运行Windows应用了,把苹果电脑用出PC的感觉。
不过,到2006年时,微软停止了对“Virtual PC for Mac”的开发,因为苹果电脑换“芯”了,从PwoerPC换成英特尔的CPU,和Windows应用程序的运行环境相同,所以现在苹果电脑不借助虚拟机软件也能运行Windows及其应用程序。
安卓也有自己的虚拟机,它叫Java虚拟机,简称JavaVM(Java Virtual Machine)。
Java虚拟机有多种版本,有用于Windows的虚拟机,有用于Macintosh(现为MacOS)的虚拟机,也有用于移动设备的虚拟机,比如安卓系统的Java虚拟机。
不同的Java虚拟机对应不同的操作系统和CPU,好处是程序员不用关注操作系统和CPU的差异,只要是用Java语言写成的源代码,就可以在所有具有Java虚拟机的操作系统上运行。
Java虚拟机的运行过程是,Java编译器先将应用程序源代码转换成字节代码,再由Java虚拟机将字节代码转换成适用于相应CPU的机器语言,由其执行。
如果感到上面这段话比较晦涩难懂,记住这个结论也行:Java虚拟机是个称职好用的翻译,可以让不同的CPU看懂Java语言编写的应用程序。
虚拟机还有一个好处,就是写应用程序和操作系统的编程语言可以风马牛不相及。
iOS和安卓操作系统的源代码都是用C语言写成,由于C语言是较早出现的高级编程语言,入门门槛较高,而安卓应用程序是用Java编程,是一种更高级的编程语言(iOS的应用程序编写语言是swift),入门门槛较低。
Java之父詹姆斯·高斯林 (James Goslin
显然,Java的低门槛可以吸引大量人员进入应用程序编程行业,方便迅速建立生态。实际上这也是Java得以流行的原因。
不过,虚拟机也不是没有短板,最大的短腿儿就是,代码转来转去,会拖慢程序运行,特别吃硬件资源。这个胎里带的毛病,是安卓手机流畅度不及iPhone的原因之一,在绝大部分虚拟机上都能反映出来。
反过来想想,如果没有虚拟机的话,该怎么办?只能开发不同版本的应用程序,比如Mac版、iOS版、Linux版、安卓版和Windows版。对应用开发商来说,如此多的版本会增加开发成本和维护成本,结果就是一些小众的硬件很难建立起丰富的软件生态。
当然,对数以十万计的安卓应用开发程序员来说,没有Java虚拟机的话,就意味自己的Java武功被废,饭碗被砸了,要么改行,要么学C语言这么武功。这比开发多版本程序还让人着急。
安卓Java虚拟机大小_虚拟机为安卓流畅度背锅,是因为关系数十万程序员饭碗?...相关推荐
- python虚拟机下载_虚拟机 python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 打开文件--打开bashrc--加入#addexportvirtualenvwr ...
- 双鱼林 android 服务器,双鱼林安卓Android代码生成器下载_双鱼林安卓Android代码生成器官方下载-太平洋下载中心...
双鱼林安卓Android 代码生成器是一款生成安卓手机程序的代码生成器 基于分层模式设计思想,生成的代码直接导入Ecli PSe软件就可以用的!真正面向对象设计:系统的整体设计,提供通过使用面向对象的 ...
- 安卓手机主题软件_最强安卓手机垃圾清理软件!
感谢你关注无税便利店,每天上午「10:00」,小仙女为你挖掘隐藏的神奇软件,置顶公众号可获取最新优质内容.「前言」 今天本仙女给大家分享的这款软件,可是我测试了7款软件之后才发现的一股清流,不光软件名 ...
- java 堆大小_适当的Java堆大小的5个技巧
java 堆大小 确定生产系统合适的Java堆大小不是一件容易的事. 在我的Java EE企业经验中,由于Java堆容量和调整不足,我遇到了多个性能问题案例. 本文将为您提供5个技巧,这些技巧可以帮助 ...
- 安卓随机通话记录_几款安卓amp;苹果虚拟来电软件,带你快速逃离尬聊现场,留有情面慰人心扉...
有时候,我们会遇到一些尴尬的"车祸"现场-- 我们被七大姑八大姨硬撵着去和一位不中意的妹子吃饭,从见面开始,一直尬聊赔笑,内心煎熬难忍,此情此景,谁能救我们? 我们被老赖约出去吃饭 ...
- 安卓手机软件开发_这款安卓神器,让你下片更轻松!千万别滥用
小编一直在想,有木有一款安卓手机电影下载神器让用户在一个手机 App 软件里,既能播放 BT 文件,又能下载网盘文件呢? 谁又不想要一个迅雷+百度云网盘+资源网站,三合一的手机电影下载神器呢? 其实小 ...
- 蓝叠安卓模拟器服务器未响应,蓝叠安卓模拟器常见问题汇总_蓝叠安卓模拟器常见问题解决方法_3DM手游...
众所周知,蓝叠安卓模拟器是一个非常热门的软件,能让大家把自己手机游戏里放到电脑上玩,部分手游在电脑上流畅度与画面也得到最大的发挥,并且模拟器还有很多特有的辅助功能也让人爱不释手,但有一部分的人无法安装 ...
- 安卓强制恢复出厂_微课安卓手机越用越卡?这9招请收藏
宅家抗"疫"期间,你都在做什么? 是不是每天用手机浏览疫情进展? 是不是每天用手机在线办公? 是不是每天用手机在线抢菜? 是不是每天用手机看小说.玩游戏.聊八卦? 俗话说:你的岁月 ...
- flyme android os 耗电,魅族运行安卓5.0 Flyme OS系统实测 性能流畅度提升
魅族上个月开启了安卓5.0 Flyme OS系统的测试,首先适配的是MX4 Pro,现在我们来看看安卓5.0 Flyme OS系统的实测体验. 首先简单罗列一下已知的部分新特性: - Android ...
最新文章
- linux sublime nodejs,Windows环境下sublime的Nodejs插件详细安装图解
- 团队作业-Beta冲刺第二天
- POJ1741 Tree 树中点对统计【树分治入门】
- 08 | 替换策略: 缓存满了怎么办?
- P4593-[TJOI2018]教科书般的亵渎【拉格朗日差值】
- 华为怒发公开信;锤子手机难产罗永浩陷尴尬处境;苹果错失 5G | 极客头条
- 机器学习-样本集(包括训练集及测试集)的选取
- GULP案例1:计算声子色散曲线和态密度
- XShell v7里的快捷键
- Spring Boot基础教程 - 程序猿DD
- if 语句错误,提示Conditon is always ‘‘alse‘
- 小米手机访问电脑共享文件_小米手机如何与电脑共享文件
- session跨域共享
- dcos 1.7 安装
- 苏宁低调内测“宁互宝”,网络互助成巨头必争之地...
- 中美跨境电商贸易投资云洽会成功举办;TT Shop和TTforBusiness将互通;PhonePe月破20亿...|洞悉跨境
- 打印机无线连接台式机、笔记本找不到目标打印机解决方案
- 规则引擎Drools示例:个人所得税计算器、信用卡申请、保险产品准入规则
- 软工学子与你一起了解资金时间价值 之 复利(利滚利)+ 贷款的基本常识 + 现金流量图 ——《工程经济学》
- 十一、kotlin的协程(一)