精华内容
下载资源
问答
  • 编程实现虚拟机检测

    2017-07-12 18:49:26
    编程实现虚拟机检测
  • Java虚拟机并发编程

    2019-07-23 11:05:41
    资源名称:Java虚拟机并发编程内容简介:苏布拉马尼亚姆所著的《Java虚拟机并发编程》是Java并发编程领域的里程碑之作,由资深Java技术专家、并发编程专家、敏捷开发专家和Jolt大奖得主撰写,Amazon五星级畅销书。...
  • java虚拟机并发编程

    2018-10-16 23:46:42
    java虚拟机并发编程
  • Juice Box 是一个专为编程工作设计的虚拟机。你只需要安装 VirtualBox,下载 Juice Box,然后在 VirtualBox 中导入 Juice Box 的文件即可。Juice Box 基于 Ubuntu Server 14.04 构建,提供以下语言支持:GitPython ...
  • Android编程虚拟机Dalvik教程 pdf,介绍Dalvik与标准Java虚拟机的差别以及运行环境的区别、以及Dalvik的形势前景分析、Android中各种Java包的功能描述、相关文件类型、应用程序结构分析、Android Adb工具介绍等,...
  • Android编程虚拟机Dalvik教程[PDF].rar
  • 之所以称为《编程语言虚拟机》,是为了避免和操作系统“虚拟机”混淆。 下面是一些设计的抉择问题: 内存整理。像标记复制和标记压缩垃圾收集算法,为了避免内存碎片,都对内存数据做了移动。但是内存都是被持有的...

    之所以称为《编程语言虚拟机》,是为了避免和操作系统“虚拟机”混淆。 下面是一些设计的抉择问题:

    • 内存整理。像标记复制和标记压缩垃圾收集算法,为了避免内存碎片,都对内存数据做了移动。但是内存都是被持有的,要移动有两种方法:一是使用一个id句柄代替指针,但是这样性能就掉到沟里了。另一种方法是移动内存时修改所有引用,但是这样真的很复杂,尤其是本地代码持有正在使用的指针。

    • 暂停其他线程。垃圾收集有时候需要stopTheWorld,一般暂停其他线程的做法都是用互斥锁,但是如果每个指令都锁住会导致很大的性能开销。我看到有些人使用操作系统信号中断来暂停其他线程,我担心它会停到一个意想不到的状态。后来的实现是用safe point来实现。

    • 本地方法的动态调用。这个难在我们需要动态调用函数指针,而函数指的参数类型和数量又是不确定的。我是采用生成C代码的方式来处理的。但是标准做法应该是按照调用约定,使用汇编来传递参数。但是估计跨平台性不好。

    • 本地方法局部变量。本地方法持有的局部变量需要事先在加锁的时候被添加NewLocalRef,要不然垃圾收集万一把它收集掉呢。为了避免循环中生成大量内存,还需要有DeleteLocalRef函数。但是本地方法的变量数目是不能提前预知的,所以要动态分配内存。一般的实现DeleteLocalRef只是置为null,并没有重用内存。

    • 操作数栈处理。操作数栈是每个帧都有一个,但是我开始做得时候使用全局一个操作数栈,也好像也没有什么问题。操作数栈和局部变量一般放在一个内存中,这样传递参数的时候就可以不用拷贝方法参数了。但是这个对Fantom来说不实用,Fantom中有默认参数和变量缩减(变量缩减是因为闭包的时候可以丢弃参数导致)。另外操作数栈的大小是不需要保存的,下一个帧的起始位置就说明了操作数栈的大小。

    • 默认参数实现。我是把每个默认参数的求值过程也当做一个方法,进行一次pushFrame和popFrame的过程。这样实现起来比较方便。

    • 单步执行。不使用本地栈帧,可就一容易的实现单步调试运行和coroutine支持见这里。但是当我发现调用本地代码,并且本地代码又调用了托管代码以后,傻眼了,说好的单步运行呢?

    • 自动Box和unbox。我之前以为这个操作需要虚拟机来实现。所以一直通过判断变量类型的方法来做,即发现变量类型不一致就尝试自动Box和unbox。后来发现这个问题编译器已经帮我做好了,我之前以为coerce操作指令只是用来判断空指针的。

    转载于:https://my.oschina.net/chunquedong/blog/521295

    展开全文
  • Java虚拟机并发编程.pdfJava虚拟机并发编程.pdfJava虚拟机并发编程.pdf
  • java虚拟机并发编程.pdf ,一个很好的jvm并发编程书籍.帮助你完成并发编程的梦想
  • 自创编程语言 编译器 虚拟机 设计报告---自定义语言编译与运行系统设计报告V1.0
  • 最近写了一个玩具型的Fantom语言VM,也就是解释器。类似于JVM运行Java bytecode。 实现一个VM需要完成以下任务: 字节码读取 函数调用栈 操作数栈和指令操作实现 参数传递和返回值 默认参数和参数缩减 ...

    最近写了一个玩具型的Fantom语言VM,也就是解释器。类似于JVM运行Java bytecode。

    实现一个VM需要完成以下任务:

    • 字节码读取
    • 函数调用栈
    • 操作数栈和指令操作实现
    • 参数传递和返回值
    • 默认参数和参数缩减
    • 本地方法调用
    • 垃圾收集
    • 基本类型装箱和拆箱
    • 运行时类型信息和对象字段访问
    • 方法查找缓存和对象缓存
    • 异常处理

    作为了一个玩具实现,很简单,没有复杂的地方。如果要再进一步成为可实际使用的VM,有三个难的地方:

    • 对垃圾收集的优化。目前我只做了一个简单的标记清除垃圾回收。
    • JIT编译,目前我没有任何的思路来做,也许可以通过LLVM来实现。
    • 实现所有的系统标准库。这个工作量比较大,而且写起来也有些乏味。

    转载于:https://my.oschina.net/chunquedong/blog/514967

    展开全文
  • Java虚拟机并发编程,这是完整版,两部分一起下载解压。
  • 虚拟机 没有虚拟机是针对JIT编译的面向对象编程语言的虚拟机(VM)设计
  • 行业分类-物理装置-面向元编程、交互式编程和区块链互操作的与编程语言无关的虚拟机.zip
  • Java虚拟机并发编程,这是完整版,分为两部分,一起解压下载。
  • 资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • 《Java虚拟机并发编程
  • VirtualBox Ubuntu虚拟机串口编程 此文适用于Ubuntu虚拟机实现串口通信,可以在虚拟机上运行程序,直接将windows下的串口映射到虚拟机上即可。在网上找了半天,没有找到合适的教程,而且网上的版本比较老。加之自己...

    VirtualBox Ubuntu虚拟机串口编程 

    此文适用于Ubuntu虚拟机实现串口通信,可以在虚拟机上运行程序,直接将windows下的串口映射到虚拟机上即可。在网上找了半天,没有找到合适的教程,而且网上的版本比较老。加之自己摸索,现将过程整理如下,便于日后复习与其他人使用。

    首先我的VirtualBox的版本为5.2.16,目前已经支持了四个串口了(网上的好多教程还只支持两个)。言归正传:

    1、关闭虚拟机,打开VirtualBox的设置菜单,找到串口选项,如下图所示:

     

       2、目前只支持四个串口,肯定够一般程序使用了。选中启用串口选项,这样就可以配置串口信息了,下面将个选项详细说明下:

    串口编号:需要映射的串口号(此为Windows下串口设备连接的串口号)

    端口模式:这里有五个选项,分别说明下:

     

    未连接:创建串口,但是没有建立物理连接

    主机管道:把串口设置成主机上的一个管道pipe

    主机设备:串口对应主机上的设备,例如此处COM3,那么对应到Ubuntu上为/dev/ttyS2,这里我使用的这种模式。这样就可以在虚拟机上访问这个串口名实现串口通信了。

    裸文件:将串口输出,放到一个文件里面去。具体设置,就很简单,直接将文件路径填上就可以了;

    TCP:这个没有细研究,应该是通过ip:port的形式访问串口吧。

        这里主要选择了主机设备,这样就可以在虚拟机上访问对应的串口了

    启动虚拟机,然后

    可以通过命令查看linux上串口状态:

              sudo setserial -g /dev/ttyS*(若是没有setserial命令根据提示安装就行)

          这里可以看出串口设备的状态,此时ttyS2对应的状态如下:

    其他串口都为unknown,即不可用,只有ttyS2为可用串口,这样我们就可以通过操作文件那样open,read,write来操作这个串口了。需要调用tcgetattr,tcsetattr等设置串口的属性,这里不介绍串口使用。

    最后:需要注意的是,这里有可能因为权限问题open串口失败,这里要检查下是否有相应的权限。直接sudo chmod 777 /dev/ttyS2修改下权限,或者sudo方式运行应用程序即可。

              

    转载于:https://www.cnblogs.com/wisdomyzw/p/9592905.html

    展开全文
  • 并发编程、java虚拟机教程全套,自己学过的视频教程,非常好,你值得拥有..
  • Java虚拟机并发编程迷你书

    千次阅读 2013-05-22 09:13:57
    Java虚拟机并发编程迷你书  对于Java并发编程领域而言,JDK5的发布绝对具有里程碑式的意义。由该领域大师级人物Doug Lea亲自操刀的新并发API以及重新实现的并发容器使得开发人员摆脱synchronized、notify()、...



    Java虚拟机并发编程迷你书


      对于Java并发编程领域而言,JDK5的发布绝对具有里程碑式的意义。由该领域大师级人物Doug Lea亲自操刀的新并发API以及重新实现的并发容器使得开发人员摆脱synchronized、notify()、wait()这些原始的同步原语言,为并发应用的开发提供了巨大的便利和性能提升,使Java并发编程前进到新的阶段。时过境迁,这几年来,虽然没有再出现类似于新并发API这样惊世骇俗的产品,但随着Java平台的不断演进,尤其在JVM开发了对动态语言的支持之后,一些新的语言及其背后所蕴含的设计方法和编程模型也被引入JVM,而这些新的设计方法和编程模型也深刻地影响着JVM并发编程领域的发展。


    对其内容详细阅读


    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,868
精华内容 89,547
关键字:

编程虚拟机