软件运行时抽象(Java)

每一个类本身是一个函数,有了更多的函数连接和管理方式。

 

一个程序入口通过第一个函数,进入另一个函数。不管进入的层次有多深,有多少通道,最终都是全部连接在一起,像一个复杂的地下通道,从开头朝下挖,最后从开头出去。

 

于是程序并不是一个个孤立的圈或者球相连接,不像化学键模型那样的连接。而是一个包一个,嵌套在里边,像是一个大圆里分出来无数小圆,向里边层层嵌套。又像一条食道,可能开口比较小,到里边是一个很大的世界,接着又是一个小的空间、又是一个更大的空间,一凹一凸地连接不同球体的管道。

 

同时从处理层次上出发,每一个类会被复制很多遍,会被很多个任务拿去用。这个管道要用到这个类,另一个管道同样要用到,于是一个类被复制向多处。从整体抽象上来看,所有类倒是像一个固定的管道上球体,每一个任务反而成了在这个多分子式模型里疏通的生产线。有的任务不经过一些通道,有些任务会经过这些通道。最后都是从起始进来,走向自己不同的目的地。

 

任务像是一条线,这条线会被CPU加工。这条线朝着类组成的管道模型里绕啊绕,可能在途中会分出来另一条线。不过,不管最终怎么绕,每个任务都是一条线,在没有主动开启其它线程的情况下,它都可以被拽直。这条直线就是CPU在加工,像是穿在线上的耳环,从头划到尾。

 

程序执行时候调用的代码,每次任务线引用的类的实例,都是从类那边复制过来。这段代码就被重复用,重复加载到最前边的缓存。完成着一个个任务。

 

即使把类抽象成一个个部件,真正在用的时候也不是共享(共同使用)这个部件,更多是在复制这个部件,拿去给任务用。好比是一条胳膊,那么来一人就另外制造一个胳膊给他,而不是让他拿着手头的工作在这用,用完放下胳膊走人。每一个类都会为任务创建新的实例,除了单立的,大部分都要被复制很多份。如果固定这个类不动,动的是任务的话,就可以看成每一个任务都要进入这同一个类,在其中走了一下之后走向其它的方向。也就是并没有来和回的过程,只是来了,然后从另一个方向走了。 一个任务就是进入这样一个个类,来了,并且从另一个方向走了,最终到达它去的地方。在抽象的世界里,它不是一个来和回的线,是一条一直向下走,经过不同岔路,最终完成任务走向自己目的地的线。

 

这些所有线组成的立体通路,就是运行时软件。这些路上的动量就是CPU的计算量。这些粗细不同的通路,所占用的立体空间就是缓存。

 

转载于:https://www.cnblogs.com/flangrean/p/11193373.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值