课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发语言,而本文我们就通过案例分析来了解一下,常见的编程开发方式都有哪些类型。
1、命令式编程VS声明式编程
实际上我们绝大多数程序员都在使用传统的命令式编程,这也是计算机的工作方式。命令式编程就是对硬件操作的抽象,程序员需要通过指令,精确的告诉计算机干什么事情。这也是编程工作中枯燥的地方,程序员需要耗尽脑汁,将复杂、易变的业务需求翻译成精确的计算机指令。
声明式编程是解决程序员的利器,声明式编程更关注我想要什么(What)而不是怎么去做(How)。SQL是的声明式语言,我们通过SQL描述想要什么,终由数据库引擎执行SQL语句并将结果返回给我们。
2、同步编程VS异步编程
当谈到同步与异步时,就不得不提一下阻塞与非阻塞的概念,因为这两组概念很容易混淆。导致混淆的原因是它们在描述同一个东西,但是关注点不同。阻塞与非阻塞关注方法执行时当前线程的状态,而同步与异步则关注方法调用结果的通知机制。因为是从不同角度描述方法的调用过程,所以这两组概念也可以相互组合,即将线程状态和通知机制进行组合。例如JDK1.3及以前的BIO是同步阻塞模式,JDK1.4发布的NIO是同步非阻塞模式,JDK1.7发布的NIO.2是异步非阻塞模式。
跟命令式编程一样,同步编程也是目前被广泛采用的传统编程方式。同步编程的优点是代码简单并且容易理解,代码按照先后顺序依次执行;缺点是CPU利用率非常低,大部分时间都白白浪费在了IO等待上。
异步编程通过充分利用CPU资源并行执行任务,在执行时间和资源利用率上远远高于同步方式。举个例子来说,对于一个10核服务器,使用同步方式抓取10个网页,每个网页耗时1秒,则总耗时为10秒;如果采用异步方式,10个抓取任务分别在各自的线程上执行,总耗时只有1秒。构建反应式系统并非易事,尤其是针对遗留系统进行改造,这将会是一个较为漫长的过程。反应式架构的核心思想是异步非阻塞的反应式流,作为过渡阶段,我们可以选择先对系统进行完全异步化重构,为进一步向反应式架构演进奠定基础。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。