寒假阅读笔记十

大灰狼爱吃兔子 大灰狼爱吃兔子     2022-08-21     548

关键词:

架构之美——系统架构(四)

      今天,我阅读的是《架构之美》的第十章,题目为元循环虚拟机的力量:Jikes RVM,其实说实话,看到这个题目我的头就有点大了,以前从来没有听说过这个名词,究竟什么是Jikes RVM?原来,Jikes RVM的中文名字是Jikes研究虚拟机,它是为执行这样一种Java程序而设计的,这种Java程序典型地用于研究基本的虚拟机设计问题。它为科研院所提供一个灵活的测试平台,可以在这个测试平台上建立新的虚拟机技术的原型和试验各种各样的设计方案。Jikes RVM运行在AIX/PowerPC、Linux/PowerPC和Linux/IA-32平台上,它包含了动态编译、自适应优化、垃圾回收、线程调度和同步的最新虚拟机技术。Jikes RVM的一大特色是它用Java编程语言实现并且是自我主机的,就是说,Jikes RVM的Java代码运行在自身而不需要第二台虚拟机。

      Jikes RVM的成熟虚拟机,它采用Java语言编写来运行Java运行程序。不但运行时系统是用Java编写的,而且这个架构的所有其他组件都是用Java编写的。这些组件包括自适应和优化的编译系统、线程、异常处理和垃圾收集。Jikes RVM中默认的32位对象模式通常对于对象头是用两个字:第一个字引用类型信息块,第二个字保存对象锁定、散列和垃圾搜集的状态信息。位于对象头之后的是对象域。对于数组来说,第一个域是数组的长度,其余的是数组的元素。为了避免存取数组的移位,数组的大小就是对象头的大小和数组长度域,对对象的所有引用实际上引用这个对象内三个字的位置。这样就允许数组中的第一个元素在这个对象内的偏移为零,但是,这也意味着对象头总是在一个对象引用之后的三个字,而且,一个对象的第一个域始终位于这个对象的引用的负偏移位置。

      作为一个元循环运行时,Jikes RVM自己进行编译而不是依赖另一个编译器以确保良好的性能。元循环创建了一个有效力的循环 :我们要在虚拟机的实现中编写清楚、雅观和高效的Java代码,这个强烈的愿望驱使我们发展创新的编译器优化和运行实现技术。关于优化编译器,它由许多状态组成,这些状态归并为三个主要阶段:高级中间表示(HIR);低级中间表示(LIR);机器级中间表示(MIR)。

      至于托管运行时环境,想必大家对它的概念都是耳熟能详的,毕竟我们在学习.NET语言时背了不下几十遍。众所周知,在当今IT行业发展飞速的时代,Jikes 研究虚拟机(Jikes Research VirtualMachine(RVM))是为执行这样一种 Java 程序而设计的,这种 Java程序典型地用于研究基本的虚拟机(virtualmachine(VM))设计问题。它为科研院所提供一个灵活的测试平台(testbed),可以在这个测试平台上建立新的虚拟机技术的原型和试验各种各样的设计方案。JikesRVM 运行在 AIX/PowerPC、Linux/PowerPC 和 Linux/IA-32平台上,它包含了动态编译、自适应优化、垃圾回收、线程调度和同步的最新虚拟机技术。JikesRVM 的一大特色是它用 Java编程语言实现并且是自我主机(self-host)的,就是说,Jikes RVM 的Java 代码运行在自身而不需要第二台虚拟机。Jikes RVM 发行版是 IBMThomas J. Watson 研究中心的 Jalapen駉研究项目的一个独立开发的部分。

      在一个托管运行时环境中运行代码是软件开发人员的普遍选择。实际上,大部分已开发代码都适合于托管运行时环境。然而,虽然运行时环境日趋流行,但是,多数代码都是用异于运行时环境支持的语言编写的。在Java虚拟机(Java应用程序的运行时环境)的情况下,一般用编程语言C和C++来实现这个运行时环境本身。

      不知不觉间,《架构之美》已经阅读了大约3/2了,给我最大的感受就是:不要质疑你的付出,这些都会是一种积累一种沉淀,它们会默默铺路,只为让你成为更优秀的人!这大概就是老师让我们坚持读书的用意吧!

寒假阅读笔记十一

架构之美——最终用户应用架构(一)     如果现在让你去找工作,你觉得你有什么优势吗?对于“优势”这个词汇,想必大家都不陌生,可是低下头来想一想,竟然发现我们什么优势都没有,该如何面对未来... 查看详情

寒假阅读笔记二

大型网站技术架构-阅读笔记二        模式:每一个模式描述了一个在我们周围不断发生的问题及该问题解决方案的核心。这样你就能一次又一次地使用该方案而不必做重复工作。    &n... 查看详情

《软件需求十步走》阅读笔记六

      本次阅读笔记写一下《软件构造十步走》最后一篇《组织篇》。         本篇共分为四章,分别是建立需求分析体系,需求分析部门的组织结构,需求分析部门的管理工... 查看详情

《软件需求十步走》阅读笔记二

     这一段时间阅读了《软件需求分析十步走》的第三四章,写一写书中一些个人感觉比较好的说法以及阅读感受。        首先是第三章《软件需求工程概论》。    ... 查看详情

《软件需求十步走》阅读笔记五

     本次阅读笔记写一下本书的第六篇《管理篇》。        第六篇共分为四章,分别是需求管理的思路、需求版本控制、管理变更请求、需求跟踪能力。      ... 查看详情

《软件需求十步走》阅读笔记3

    这一段时间阅读了《软件需求分析十步走》的第三四章,新一代软件需求工程是由需求规划、需求开发、需求管理三个部分构成,需求规划是传统软件需求工程所没有的,新一代的需求工程过程由10个业务活动... 查看详情

《软件需求十步走》阅读笔记2

    这周接着阅读《软件需求十步走》,主要是重新解读软件需求,新一代软件需求强调软件需求分析工作是在一个全息的业务背景和一个信息系统的宏观设计的基础上展开的用户需求和系统需求分析。  &nb... 查看详情

《软件需求十步走》阅读笔记一

  这几天读了读《软件需求十步走》这本书的前面的一小小部分,感觉有好多知识以及一些名词都没见过,学到了不少新东西。  下面是一些名词及其解释:  SA方法:即结构化分析方法(StructuredMethod,结构化方法),是... 查看详情

寒假十六

题目要求: 解决方案:      结果:      查看详情

寒假学习进度十九

今天发现自己的Androidstudio版本有些低,于是删除重新在官网下载了最新版本的,结果新建项目会报错,unabletofindvalidcertificationpathtorequestedtarget,今天没有解决明天再说 查看详情

寒假学习进度十四

使用Pycharm进行Python爬虫实验:爬取北京市政百姓信件实战。     创建了这个项目,然后开始编写最后   查看详情

《软件需求十步走》阅读笔记三

需求既然是项工程,就有其完整的过程。需求工程研究领域可以划分为需求规划、需求开发、需求管理三个部分,新一代的需求工程过程由10个业务活动构成,分别是业务研究、应用建模、系统规划、分析计算、报告编制、规划... 查看详情

《软件需求十步走》阅读笔记5

《管理篇》。共分为四章,分别是需求管理的思路、需求版本控制、管理变更请求、需求跟踪能力。     软件需求的验证工作的目的是保证需求分析成果的完整性和正确性,保证软件开发后的软件产品是用户所... 查看详情

《软件需求十步走》阅读笔记4

    需求统一模式:将大部分软件系统的需求进行归类。所有系统需求本质上彼此相似或者它们都会出现在大多数系统中。比如系统都有查询功能,查询功能有特定的需求,但本质上都是相同的。需求模式是定义一... 查看详情

《软件需求十步走》阅读笔记二

需求由业务及信息化规划、用户需求分析和系统需求分析三个阶段的工作成果构成,每个阶段因其所占角度与范围不同,也都有其固定的内容,由此也可看出,需求所包含内容的庞大,但这并不是说做需求只要把信息收集的分析... 查看详情

《寒假算法集训》(专题十八)字典树

...查找树,一般用来做字符串哈希。  以下博客教程,在寒假集训过程中均会开启试读模式,无需购买。二、博客教程 查看详情

寒假十一

2.编程实现将RDD转换为DataFrame源文件内容如下(包含id,name,age):1,Ella,362,Bob,293,Jack,29请将数据复制保存到Linux系统中,命名为employee.txt,实现从RDD转换得到DataFrame,并按“id:1,name:Ella,age:36”的格式打印出DataFrame的所有数据... 查看详情

《寒假算法集训》(专题十一)双指针

...问题规模,从而对问题进行求解。  以下博客教程,在寒假集训过程中均会开启试读模式,无需购买。二、博客教程 查看详情