编程语言浅谈

写在前面

本来不想起起这么大名字的,因为语言层面的东西我现在去谈,去说,还是有些为时过早,毕竟在这个行业的浸泡还不够深,但是昨晚在跟以前同事交流该去学什么语言的时候,突然冒出来这个想法,为什么不趁机记录下自己现在对于编程语言的一些理解和一些看法,在以后有深入研究后,再回过头来看看。于是就有了这篇博文,自己获取信息有限。难免会有差错之言,就拿出来贻笑大方吧!

阅读全文…

面向对象之 — 封装

概述

面对对象的设计和编码中,经常碰到的一个问题,怎么算是面向对象,这个很虚,也很难去描述,也是自己早年很困惑的东西,虽然看了很多的书,但是很难有一个整体层面的理论去概述,一直很想将这种概念进行落地。
这次就个人经验来来做个总结吧,大致上分为三个层面来进行面向对象的落地。

阅读全文…

系统设计 — 性能的考量点

一般我们考量一个系统的性能如何,主要有以下这么几点:
1.响应时间:系统完成一次外部请求所需的时间
2.响应性:系统响应请求的速度有多快,这点有点偏用户体验方面,若是请求处理期间,系统一直处在等待状态,那么系统的响应性和响应时间是相等,但若是系统在接受到请求后,给用户一个提示表明自己已经接受到请求了,或是给出一个响应的进度条,那么响应性相比较之前要好些。
3.等待时间:获得系统任何响应的最小时间,例如返回一个201已经建立链接等,这个也是在做系统间服务调用时,尽量的减少远程调用
4.吞吐量:给定时间内能处理多大的请求量,一般吞吐量上升,那么响应时间都会随之下降,具体在设计时候寻找的是一个平衡。从用户角度而言,响应性比响应时间更重要,所以为了提供响应性,牺牲一些响应时间或者吞吐量是值得的。
5.负载:系统当前负荷的表述,也就是当前有多少个用户和系统相连,一般伴随着其他性能同时出现,例如在10个用户的情况下响应时间是1秒,在20用户的情况下响应时间是2秒。
6.负载敏感度:也理解为系统的衰竭指数,两个系统A,B,在10个用户情况下,A是1秒,B是2秒,但是20个用户情况下,A是10秒,B是5秒,那么A系统的敏感度比较高,也就是系统衰竭的比较快。
7.效率:性能除以资源,在一个双CPU系统的性能是20tps,一个四核系统的性能是30tps,那么就代表前者效率更高
8.容量:最大负载或是吞吐量的指标,可以是一个绝对大的值,或是性能衰竭至低于一个可接受的阀值之前的临界点。
9.可伸缩性:向系统增加资源对系统性能的影响,一般添加资源后,系统性能是有所提升的。伸缩分为两方面,垂直可伸缩性,通常指提高单个服务器的性能,加内存、CPU等操作。还有水平可伸缩性,就是添加服务器数目,我们更多讨论的是水平可伸缩性。

阅读全文…

Pages: 1 2 3 Next