编程开发一些基本概念

内存

存在栈的值,大小在编译期就需要确定,栈上存储的变量生命周期在当前调用栈的作用域内,无法跨调用栈引用
堆存放大小未知或动态伸缩的数据,堆的内存管理包括TGC(Tracing GC)和ARC(Automatic Reference Counting),都有性能损耗或其它问题

数据

值和类型
类型是对值的区分,值是符合某个类型的数据的实体
值以类型规定的表达方式存储成一串字节流进行访问,值无法脱离具体的类型讨论
编程语言的类型分为原生类型和组合类型

  • 原生类型:最基础的数据类型,大小固定
  • 组合类型:结构体(多个类型组合在一起的数据结构)和标签联合

指针和引用
通过指针的解引用(deference)来访问指向的内存地址

代码

函数,方法和闭包
函数往往是一等公民
在面向对象编程语言中,类或者对象中定义的函数,称为方法
闭包(closure)是把代码和其上下文环境一起存储的数据结构,闭包引用的上下文的变量,会被捕获到闭包的结构中

接口和虚表
接口将使用方和实现方隔离,使两者不再有依赖关系,提高复用性和扩展性

运行方式

并发和并行
并发(concurreny)是一种能力,并行(parallel)是一种手段

同步和异步
同步保证了代码的因果关系
异步是一个任务开始执行后,与之没有因果关系的其它任务可以正常执行,不需要等待前一个任务结束

编程范式

泛型编程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容