《架构之美》阅读笔记04

今天我们依旧学习第三部分的内容:系统架构。而今天要学习的是该部分的后面两章:第九章描述了如何通过小心地设计软件和很好地理解领域需求来克服编程系统中那些可以察觉到的不足;第十章介绍了为高级语言创建自优化的、自支持的运行时环境所需的架构选择。

第九章描述的是JPC:一个纯Java的x86PC模拟程序。在本章中介绍了现代PC的基础架构:有存储器总栈和I/O总栈,然后通过随机存取存储器、只读存储器、简单外围设备、处理器、复杂外围设备来进行栈之间的信息交互也就是数据的读取和存储。还有一个让我学习到的东西就是Java的性能技巧:1.创建对象不好;2.静态好;3.表切换好,查找切换不好;4.方法越小越好;5.Exception用于异常的情况;6.小心使用装饰模式;7.对类进行instanceof的操作更快;8.最低程度地使用同步;9.小心外部的库。本书在这一章节教给我们,在学术环境中开发伴随着它自己的挑战,这些挑战和商业背景中的挑战有些微笑的不同。在学术的环境中,性能目标主要是自我要求,这既有好处也有坏处。对于开发人员的这一方面需要训练以保持项目的前进路线和防止项目的中心偏移。然后,自由的环境也容许想法获得快婿的发展和测试以确认或反驳它们的好处。对于非常有创造力和雄心的项目,这种氛围对于最终的成功非常关键。

第十章给我们讲述的是元循环虚拟机的力量:Jikes RVM。Jikes RVM是一个成功的实验虚拟机,以一种灵活和易于扩展的方式提供近似于艺术级的性能。以运行时支持的语言来编写,这允许紧密的集成和组件重用。Java的使用使简单易懂的代码、好的模块性和高质量工具的使用成为可能。通过这一章的阅读,我了解到了很多,关于如何最好地创建适用于不同环境的应用程序。因为运行时编译器必须快,所以即时编译必须快速地创建代码;静态编译器中的无限分析必然意味着更好的性能;垃圾收集比显式内存管理更慢。与一个传统编译器的自举相比,元循环运行时的自举涉及更多的技巧,我们需要注意对象布局、运行时内存配置、编译原生类并填充Java内容表、启动映像管理器和VM.boot。Jikes RVM演示了如何通过一个帮助开发的共同的元循环环境来达到和适应这些特性。我们了解到了通过一个美丽的架构,可以为将来的运行时环境连续地提供一个平台。

原文地址:https://www.cnblogs.com/wxyxxx/p/6391977.html