假期阅读笔记九

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

提到Java语言,想必大家都不会感到陌生吧。今天我阅读的是《架构之美》的第九章——JPC:一个纯java的x86PC模拟程序,题目恰恰和Java息息相关,这一章刚好帮助我们更好的掌握Java语言。

随着处理器速度的加快,以及家用计算机用户使用的网络性能的提高,越来越多在几年前还认为是不切实际的事情也已经变得平常。十年前,当一家名为VMWare的技术小公司在加利福尼亚成立时,把一台完全虚拟的计算机作为软件运行在一台物理计算机内,这种观点还被认为相当难以理解。毕竟,如果你拥有一台计算机,为什么仅仅为了要运行你已经在运行的系统而增加一个虚拟层,从而使计算机变慢呢?你使用的软件需要硬件权力来运行,如果需要,可以直接买更多的机器来做更多的工作,为什么这样做呢?x86PC已经存在了三十多年了,并从许多不同代的硬件中发展而来。在每一个时期,它都一直保持向后兼容,所以,即使在今天,最初的8086程序也可以运行在一台新的PC上。虽然这具有毋庸置疑的优点且导致这个平台空前的成功,但是,这也意味着他为了避免破坏现在的代码,在合并新技术是变得非常复杂。如果现在重新构建一台PC,硬件的许多方面都会截然不同,而且几乎肯定会简单得多。

关于PC架构,你又了解多少呢?《架构之美》中是这样说的:现代的PC是一个非常复杂的怪兽。它的硬件已经优化和迭代了许多次,已经形成一个高效和普遍的计算平台。然而,它也保留了设计来维持它向后兼容的遗留组件和功能。JPC的大部分设计是相对简单的系统分析,对于这个模拟程序来说,把初始的系统映射到JPC也几乎是在硬件规范和Java类之间进行一一对应。对软件行业稍微有点了解的人都知道Java性能技巧:优化的第一准则:不要优化。优化的第二准则(仅限于专家):还是不要优化。对于这两句话,你有什么见解?我就说说我看到这两句话时的感觉吧,当时脑子似乎要掐架,一般人最通常的想法都是要程序跑得快是需要优化一下。不过这两年的学习经历告诉我,只有很少经过严格试验的优化手段是有效的,其它很多都是自作聪明。《构建之美》中还有一句话感觉很有道理,送给大家:良好设计和清晰编码的代码几乎总是优于“优化的”代码。不要优化代码的奇怪想法对于我们这些初入茅庐的人来说真是相当有趣。其实就是要程序员扩宽角度去思考关于高质量的代码问题。一次偶然的机会邹恒明的《算法之道》中看到了这句话:这听上去似乎反直觉,但谁说过算法是一个靠直觉的学科呢?其实,这样被他一提醒,立马回想起来很多事情的确走了直觉路线,但却隐隐有种怪怪的感觉。如果下次又遇到一些事情时就又多一个思路了,非直觉思路。

最后,老规矩,一句话来与大家共勉:别在最能吃苦的年纪选择了安逸!!!

时间: 2024-08-10 19:09:50

假期阅读笔记九的相关文章

假期阅读笔记八

架构之美--系统架构(二) 时间很快,转眼假期过去了一半,理所当然<架构之美>也已经阅读了一半.直到今天,我才明白"不积跬步,无以至千里:不积小流,无以成江海!"的真正内涵,只要每天都月读一点点书籍,时间久了,再厚的书籍也会读完.今天我阅读的是<架构之美>的第八章--一个容错操作系统环境,在这一章中我的感悟最深刻. 在刚刚结束一个学期里,给我印象最深的一个名词就是系统容错性.容错是指在故障存在的情况下计算机系统不失效,仍然能够正常工作的特性.容错即是Fault

假期阅读笔记六

架构之美--企业级应用架构(四) 给我看你的流程图而隐藏你的表,我仍然莫名其妙.如果给我看你的表,那么我将不再需要你的流程图,因为它们太明显了.                                                                                                                                                                                  

《构建之法》阅读笔记(2)

<构件之法>阅读笔记2 看了前面两章,我感觉我现阶段距离一个程序员还很远,软件工程师更是遥不可及.在学校的我学习了很多,如c++,数据结构,面向对象--学的多而不精,纵观现在我就是一个盲目学习的学生,上课时认真听了课后却没有花更多的时间去研究,遇到不懂的容易掉价死胡同,总是花很多时间闷闷思考,不到最后都没有去请教同学,去百度.看着其他很厉害的同学,自己就只能在一旁羡慕嫉妒恨.那现在在怎么样才能将自己对编程的兴趣提高,加强自己的编程思想?提高自己的价值?能够尽早地迈进程序员.软件工程师的行列之中

B17-禅与 Objective-C 编程艺术的阅读笔记

以下仅为个人阅读笔记,记录翻阅之用.原文地址:https://github.com/oa414/objc-zen-book-cn 感谢! 一.单例问题 参照前面单例的滥用一文. http://www.cnblogs.com/yaann/p/4661909.html 二.类簇 三.属性 四.断言 条件成立就抛出异常. 五.相等性 六.Categories 八.Pragma的使用 九.Block 十.self的循环引用 十一.多重委托

《构建之法阅读笔记02》

这次主要对<构建之法>的第四章“两人合作”作一次阅读笔记. 首先是代码规范问题. 我过去对于代码规范问题并没有做到注意.在编程中,许多变量和函数的命名都非常的简单而没有实际的意义.而且编程时不注意对齐缩进.很多时候也不加注释,导致对这些简单的变量名称不熟悉. 这样做会使得很多人读代码费劲,甚至是自己都要花时间再次阅读懂自己的代码.而且很多没必要的注释也会使得注释失去意义.当自己再次在原基础上编程时,可能要重新编程等问题. 因此,通过阅读“代码规范”,我找到一些解决方法.代码的风格要简明.易读.

《代码阅读方法与实践》阅读笔记之二

时间过得真快,一转眼,10天就过去了,感觉上次写阅读笔记的场景仿佛还历历在目.<代码阅读方法与实践>这本书真的很难写笔记,本来我看这本书的名字还以为书里大概写的都是些代码阅读的简易方法,心想着这就好写笔记了,没想到竟然好多都是我们之前学过的东西,这倒让我有点无从下手了.大概像我们这些还没有太多经历的大学生,总是习惯于尽量避免自己的工作量,总是试图找到一些完成事情的捷径吧.总之,尽管我不想承认,但我自己心里很清楚,我就是这种人.下面开始言归正传,说说接下来的几章内容归纳. 这本书在前面已经分析了

《大道至简》阅读笔记1

<大道至简>阅读笔记1 不知不觉间看完了第一章,从这个章节里我看到了一些我们都明白可是却自己很难做到的道理. 书中从愚公移山的故事和编程相结合给出了编程的精义就是顺序.分支.循环,这些都是我们所熟悉的,也是老师在教学中耳提面命的,可是我们又有几个人能做到呢. 我们总是在找着各种各样的学不好学不会理由,“它太难了”,“我太笨了”,认真的想一想难道真的是它太难了或者是自己太笨了么?不,答案是否定的,追根究底是懒惰,是没能坚持.从根本上来说,不存在会不会写程序的问题,除了先天智障和后天懒惰者,这要你

CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index

构建之法阅读笔记05

2017.5.20 今天阅读的是<构建之法>第8章需求分析的阅读笔记,我们如果要开始做一个软件,最先要进行的就是需求分析,我们应该充分的了解我们这个软件是否具有前景,我们为用户提供的服务是不是用户所需要的,这一章详细的叙述了如何进行需求分析. 首先是获取和引导需求,我们应该找到软件的利益相关者,了解挖掘他们对软件的需求,引导他们表达出真实的需求.然后分析和定义需求,对各个方面的需求进行规整,定义需求内涵,从各个角度将需求量化,然后估计实现这些需求所需要的时间和资源,确定各个需求的优先级.紧接着