
虚拟机的运行:
指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
原理:
从最初编写的Java源文件(java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将java文件编译为Java字节码文件。
然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。
扩展资料:
虚拟机资源涉及多个方面:CPU、内存、网络以及磁盘。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。
CPU:
虚拟机每个vCPU只运行在一个物理核心之上,因此CPU频率越高虚拟机的运行速度也就越高,vCPU数量越多有助于提升应用的性能表现。
一个比较复杂的因素就是在ESXi服务器内,所有的虚拟机共享使用物理CPU。ESXi服务器的核心数越多,每个vCPU获得的核心份额也就越大,因此多核心的性能表现要强于核心频率高但数量少的情况。
如果虚拟机需要占用大量的CPU时间,那么可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上vCPU并不一定让应用运行的更快,因为只有多线程应用才能有效地使用多个vCPU。
RAM:
ESXi服务器内RAM资源通常有限,因此在给虚拟机分配RAM时需要格外小心。VMkernel在处理RAM时非常巧妙;允许虚拟机使用ESXi服务器所有的物理内存而且会尽量避免占用物理内存却没有真正使用的情况。
物理内存被完全用完后,VMkernel必须确定哪些虚拟机能够保留物理内存,哪些虚拟机要释放物理内存。这称之为“内存回收”。当虚拟机占用的物理内存被回收后,存在的一个风险就是会对虚拟机的性能造成影响。虚拟机被回收的内存越多,相应的风险也就越大。
最明智的是只为虚拟机分配完成工作所需要的内存。分配额外的内存将会增加回收风险。另一方面,当虚拟机 *** 作系统将未被使用的内存用作磁盘缓存时,将会显著降低对磁盘系统的性能要求,所以这里有一个折衷问题。
对于数据库服务器以及VDI桌面来说,为虚拟机分配更多的内存往往更划算—在一台ESXi服务器上运行更少的虚拟机—而不是购买高性能的磁盘阵列。关键在于针对虚拟机的负载分配足够多内存而且没有浪费。
参考资料:
百度百科-虚拟机
远控软件一般分客户端程序(Client)和服务器端程序(Server)两部分,通常将客户端程序安装到主控端的电脑上,将服务器端程序安装到被控端的电脑上。使用时客户端程序向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行。
服务器和客户端:这是你要明白的第一个概念,现在你看到的知乎网就是把代码和数据放在服务器上,然后客户端的你在用一种叫做browser(浏览器)的玩意,你也许是用IE,也许用firefox,也许用chome,总之他们都是browser,browser的作用就是向服务器发送请求(request)和接收请求结果(response),比如 你点击网站的一个链接一个按钮,向服务器发出一个行为请求,有的请求里面带有数据的,比如你发一条微博,你无非是要请求服务器:给我微博数据库里增加一条微博数据,增加的内容就是向服务器请求的内容。php:服务器收到请求后,他要认识解析这个请求然后开始action,指导他怎么做事情就是一些代码,比如php代码,asp代码,这些都是服务器的编程语言,有二十三种语言都可以,这些语言会被其对应的应用服务器软件认识,你的一次请求,服务器会解析运行你的请求,然后返回来一些,一些HTML文件,css文件,javasript脚本,总之可以说是一个网页需要的文件吧,返回到客户端。比如前面的请求;给我微博数据库里增加一条微博数据,这个时候服务器要去 *** 作数据库,把数据库加一条记录,如果成功,返回结果说 *** 作成功等。
html,css:请求结果返回到客户端之后,这些文件只有浏览器能认识解析,浏览器把他们拼装好,html主要是网页里面有什么内容,css是修饰这些内容,比如文字怎么排版,文字有多大,背景颜色,一些网页的动态效果由返回的js控制。这个时候,人就能够很直观地阅读服务器返回的结果内容了。
javascript:有的时候你不能什么事情总是去找服务器,服务器也觉得麻烦,这个时候,javasript应运而生,它是一种客户端脚本代码,是浏览器来执行的,就是说有些小事情他给你立即做了,不需要老远地去找服务器。比如你有个时候填写密码,密码的格式不正确,填写完提交,js脚本拦住先检查一遍合不合格,合格就通过去找服务器,不合格直接打回提醒你不合格。js能做的事情很多,它会使你的网页动起来。
数据库:数据库可以把他看作一个档案馆,一切的数据都在数据服务器硬盘里整理摆放得井井有条,数据库软件里还一些繁忙的档案管理员,有的负责取存删数据,有的负责备份或者数据安全等等。外面的软件,比如服务器通过“接口”通道向数据库进行主要是一些数据 *** 作比如增删改读等。
xml:数据是有一种物理格式的,就是说数据以某种结构组织起来的,比如你的world文档,doc可以看成一种数据的物理格式,计算机世界本质就是数据,各种各样结构和格式的数据。xml这种数据格式的好处就是一是好多好多软件都认识他,是一种公开的格式,是一种数据的通用格式,xml可做各种软件的数据通信,二是好读,符合人的阅读习惯。比较好 *** 作,编程语言直接就可以 *** 作,一般做为软件的配置文件来用。
dom节点:就是xml这类数据的组织形式,xml数据就是一个节点一个节点形成的,节点套节点。还有节点为什么这么重要,因为web的基础html也是一种变相的xml数据格式。
差不多这样,很多还是说得不够严谨,见笑了。iOS 和 Android 的后台推送原理各是什么?有什么区别?2013-12-11 17:42| 发布者: zouqun |原作者: 李楠|来自: 知乎摘要: iOS 的推送iOS 在系统级别有一个推送服务程序使用 5223 端口。使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中。所以, iOS 的推送,可以不严谨的理解为:苹果服务器朝手机后台挂的一个 iOS 的推送
iOS 在系统级别有一个推送服务程序使用 5223 端口。使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中。所以, iOS 的推送,可以不严谨的理解为:
苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息。
然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事。
然后,系统分别通知这些 Apps 。应该说,苹果这种方式在技术上没有什么创新。但是,整个架构是很了不起的。 因为:
1 使用久经考验的协议,技术风险小。
2 苹果勇于承担责任:
他需要维护一个代价不小的服务器集群,而且要为服务器的 down 机负责。
选择低风险的技术方案 Bug 更少,减轻了用户的痛苦,这是构架师的功劳。
苹果承担责任,尽可能的减少了不可控的意外,保证了用户体验。
这,只能说是公司决策者的功劳。
(从侧面说明有个懂技术的 VP 是多重要。。。而 Scott 走人了。。)
他们带给用户的好处也是实实在在的。
1 安全。
只有登录过的开发者可以通过苹果的服务器推送。
2 快速,稳定,可靠。
苹果掌控推送服务器和 OS 。
3 更省电。
4 让整个系统的体验更统一和简单。
不会出现杀后台这种脑残事。(不用大量 Apps / Apps 的服务为了推送挂后台)。
也不会出现 Apps 被杀就收不到推送这种脑残事(早一点的新浪微博 Android 版仍然如此)。
5 开发容易。
当然,开发者还是要做些事情,比如维护个服务器什么的: >Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSA>这三个组成部分之间相互协调工作。虚拟主机中的服务器带有配备Intel VT或AMD-V辅助技术的处理机,虚拟主机使用这个服务器与虚拟机管理器进行交互。虚拟机管理器是软件中一个很小的层级,直接在处理机中体现出来。该软件在处理机中钩住线程,使得主机 *** 作系统可以在单一物理处理机上运行来有效地管理多个虚拟机及多个虚拟 *** 作系统。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)