微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器…
I/O( INPUT OUTPUT),包括文件I/O.网络I/O. 计算机世界里的速度鄙视: 内存读数据:纳秒级别. 千兆网卡读数据:微妙级别.1微秒=1000纳秒,网卡比内存慢了千倍. 磁盘读数据:毫秒级别.1毫秒=10万纳秒 ,硬盘比内存慢了10万倍. CPU一个时钟周期1纳秒上下,内存算是比较接近CPU的,其他都等不起. CPU 处理数据的速度远大于I/O准备数据的速度 . 任何编程语言都会遇到这种CPU处理速度和I/O速度不匹配的问题! 在网络编程中如何进行网络I/O优化:怎么高效地利用…
本讲将介绍Java代码是如何一步步运行起来的,其中涉及的编译器,类加载器,字节码校验器,解释器和JIT编译器在整个过程中是发挥着怎样的作用.此外还会介绍Java程序所占用的内存是被如何管理的:堆.栈和方法区都各自负责存储哪些内容.最后用一小块代码示例来帮助理解Java程序运行时内存的变化. Java程序执行过程 步骤 1: 写源代码,源代码将以.java的文件格式保存在电脑硬盘中. 步骤 2: 编译器(compiler)检查是否存在编译期错误(例如缺少分号,关键字拼写错误等).若通过检测,编译器…
并发刺客(False Sharing)--并发程序的隐藏杀手 前言 前段时间在各种社交平台"雪糕刺客"这个词比较火,简单的来说就是雪糕的价格非常高!其实在并发程序当中也有一个刺客,如果在写并发程序的时候不注意不小心,这个刺客很可能会拖累我们的并发程序,让我们并发程序执行的效率变低,让并发程序付出很大的代价,这和"雪糕刺客"当中的"刺客"的含义是一致的.这个并发程序当中的刺客就是--假共享(False Sharing). 假共享(False Sha…
Android基础知识学习 新手上路,还请多多帮助.由于初学,博客内容难免有不正确的地方,还请各位多多指教,相互学习! 主要内容: 1.Android层次架构及主要功能 2.Android编程模型,程序执行流程 由于国内Android系统很流行,大多数使用的智能机都是Android系统,对于学习Android系统编程的新手来说,了解Android系统框架层次很有必要.Android开发主要用Java语言,因此在学习之前,可以先了学习Java的基本知识,关于Java的内容大家就自己找书,找视频学习…
阅读了博客园发布的IT文章<30个提高Web程序执行效率的好经验>,这30条准则对我们web开发是非常有用的,不过大家可能对其中的一些准则是知其然而不知其所以然. 下面是我对这些准则的理解和分析,有些有关JS性能的准则,我也测试了它们的差异,大家可以下载DEMO页面,如有理解不正确的地方,请大家指正.也非常欢迎大家补充. 测试环境: OS:Vista; Processor:3.40GHz; Memory: 2.00GB; System type: 32-bit Operating System…
本文以WordCount为例, 画图说明spark程序的执行过程 WordCount就是统计一段数据中每个单词出现的次数, 例如hello spark hello you 这段文本中hello出现2次, spark出现1次, you出现1次. 先上完整代码: object WordCount { def main(args: Array[String]) { val conf = new SparkConf().setAppName("WordCount"); val sc = new…
*首先利用全局变量对象theApp启动应用程序.这是由于这个全局对象,基类CWinApp中this的指针才干指向这个对象.假设没有这个全局对象,程序在编译时不会出错,但在执行时就会出错. *调用全局应用程序对象的构造函数,从而就会先调用其基类CWinApp的构造函数.后者完毕应用程序的一些初始化工作,并将应用程序对象的指针保存起来. *进入WinMain函数.在AfxWinMain函数中能够获取子类(对Test程序来说就是CTestApp类)的指针,利用此指针调用虚函数:InitInstance…
原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 学习编程,操作系统是你必须要掌握的基础知识,那么操作系统到底是什么呢? 这还用说么,操作系统不就是Windows.Linux.Mac.IOS.Android.IOS这类我们天天都在用的东西么? 此话不假,但是操作系统作为计算机科学里的一门基础学科,肯定不能这么接地气对不对,总的来点高大上的概念,震慑一下你们吧. 根据百度百科的介绍,操作系统是管理计算机硬件与软件资源的计算机…
转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com>2008-02-15 (这一小节应该是作为<shell编程范例之进程操作>的一些补充性质的内容.) 当我们在Linux下的命令行输入一个命令之后,这背后发生了什么? 1.什么是命令行接口 用户使用计算机有两种常见的方式,一种是图形化的接口(GUI),另外一种则是命令行接口(CLI).对于图形化的…