Exception和Error 超形象!

假如你开车上山,车坏了,你拿出工具箱修一修,修好继续上路(Exception被捕获,从异常中恢复,继续程序的运行),车坏了,你不知道怎么修,打电话告诉修车行,告诉你是什么问题,要车行过来修。(在当前的逻辑背景下,你不知道是怎么样的处理逻辑,把异常抛出去到更高的业务层来处理)。
你打电话的时候,要尽量具体,不能只说我车动不了了。那修车行很难定位你的问题。(要捕获特定的异常,不能捕获类似Exception的通用异常)。
还有一种情况是,你开车上山,山塌了,这你还能修吗?(Error:导致你的运行环境进入不正常的状态,很难恢复)

摘自极客时间评论

编译器->框架->架构关系的一点思考

  • 机器码为了运行,编译器提供语法,语法是表达语意的元素。语言的表达变化,一本工具书一本字典可以穷尽吧。
  • 框架是在编译器层面上的又一层封装,虽然它提供的不是语法,但它提供的是比语法高一层的组织,框架组织的目的是为了简化开发、封装变化,顺带解决某点或几点非功能性需求。如果你被框架吸引,那你也应该去编译器看看。 框架就像小说故事的套路,自古深情留不住,总是套路得人心。
  • 在框架之上的高一层的组织是架构,架构的层面是业务,也是团队协作。业务虽变化多端,但也自成规律。
  • 架构之上,为智能。知识表达穷极变化。一些知识形式也许只能被计算机所理解。
  • 智能之上,为芸芸众生。

移动平台为什么不支持Flash?

  1. 内置Flash支持意味着有可能引入相关的安全漏洞,而Flash实现由Adobe掌控,一旦出现问题,难以直接把握。
  2. 基于Flash平台的应用非常丰富,很有可能分流移动平台的应用商店。
  3. Flash播放器过于耗电,缩短电池寿命。移动时代需要低功耗的设备,触摸界面和开放网络标准,而这些方面都是Flash的短板。
  4. 曾经的矢量模式使得文件体积极小,在网络带宽稀缺的时代,才成就了Flash的霸主地位。由于HTML5发展迅速,得到了各大浏览器厂商的支持,Adobe后来也放弃Flash了。