技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 查看专题: 虚拟机
    很多使用 Unity3D 开发的项目,都不太喜欢 C# 这门开发语言,对于游戏开发很多人还是更喜欢 Lua 一些。而 Lua 作为一门嵌入式语言,嵌入别的宿主中正是它说擅长的事。这些年,我见过许多人都做过 U3D 的 Lua 嵌入方案。比如我公司的阿楠同学用纯 C# 实现了一个 Lua 5.2 (用于在 U3D web 控件中嵌入 Lua 语言的 UniLua );还有 ulua slua wlua plua xlua ... 数不胜数。我猜测,a-z 这 26 个字母早就用完了。 上面提到的项目的作者不少是我很熟悉的朋友,我们公司现在的 U3D 游戏也由同事自己实现了一套差不多的东西。所以我曾了解过这些方案。但我一直觉得这些方案要么做的过于繁琐,要么有些细节上不太完备,总是手痒想按自己的想法搞搞看。
    Java相对于c/c++来说,是比较“动态”的语言,在运行时期,也有扩展性和可优化性(不像c/c++直接编译成机器码)。所以,针对JVM和GC的一些优化策略就显得尤为重要,提供给程序员的灵活性也会相应的增加。这两天着手于Java后端进程的优化,对jvm和gc进行了一些研究。
    Java虚拟机有多层含义: 1、一套规范:Java虚拟机规范。定义概念上Java虚拟机的行为表现; 2、一种实现:例如HotSpot,J9,JRockit。需要实现JVM规范,但具体实现方式不需要与“概念中”的JVM一样; 3、一个运行中的实例,某个JVM实现的某次运行的实例; 4、只要输入为符合规范的Class文件即可执行。并非一定要执行Java程序,可以支持其它语言,像Scala、Clojure、Groovy、Fantom、Fortress、Nice、Jython、 JRuby、Rhino、Ioke、Jaskell、(C、Fortran);
    使用虚拟机的一个好处就是可以带着虚拟机镜像文件到处走,需要的时候新建一个虚拟机加载相应的镜像文件就可以了。不过在 VirtualBox 上貌似有个问题,已使用过的镜像文件拷贝到其他硬盘不能直接用,需要给镜像文件生成新的 UUID,原因是这个 UUID 已经在本机的 VirtualBox 里注册过了。
    中间语言可用于程序优化的原因是显而易见的:这种中间格式既贴近机器代码,又保存了原有程序的结构。程序优化并不是一门魔术。像循环展开,死代码消除等技术,都依赖于程序控制结构,而中间语言可以保持这样的控制结构。事实上,目前我们所知的编译优化技术,无一不是建立在结构分析之上。中间语言的出现让程序优化成为了一个独立的问题。原本单列的 C 程序优化, FORTRAN 程序优化如今统一归结为 RTL 程序优化。编译器前端可以千差万别支持许多语言,但负责优化和翻译为目标代码的后端均归为一个,就此一点,就大大简化了语言编译器的设计门槛。现如今,几乎没有一个语言设计者需要考虑如何生成高效目标代码了。
    我们使用 Xen 虚拟机的时候一般都是用桥接(bridging)的方式把虚拟机(domU)直接暴露在网络上,就像网络上单独的一台服务器一样,这种方式简单好用,不用在 dom0 做任何的端口转发也不用任何 iptable 规则。不过除了 bridging 以外,Xen 还支持 routing 和 NAT 的方式配置虚拟机网络。
    MooseFS的Master是单线程的程序,并不能发挥多核CPU的优势,由于大部分的处理逻辑都是内存操作,因此并不会存在太大的问题,但一旦涉及到磁盘I/O就有可能导致阻塞,严重的话整个集群会瘫痪掉,因此不建议把Master放在虚拟机中。
    对于安装使用xen虚拟机大家已是很熟悉的操作了,但有些对于xen migrate的操作有的还不太熟悉。此xen高可用技术可保证guest的不间断服务。 下面介绍几种常用的xen Guest域迁移操作,其中主要介绍动态迁移,如有文中有当之处,欢迎拍砖。 一.冷静态迁移,使用此方法需关闭GUEST域。
    最新的Erlang虚拟机(R15B01)很大的一个改进就是加入了对dtrace探测点的支持了, 具体参见这里, 主要目标是方便在生产实践中定位复杂的性能问题。 目前Erlang的虚拟机的探测点支持Linux的systemtap和freebsd的dtrace,我们刚好能够享受的到。
[ 共9篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1