控制变量

2019-2020-1学期 20192406 《网络空间安全专业导论》第三周学习总结

纵饮孤独 提交于 2019-12-01 23:31:49
第六章 低级程序设计语言与伪代码 6.1 计算机操作 我们所用的程序设计语言都必须反映出计算机能够执行的操作类型。让我们通过重述计算机的定义来开始新的讨论:计算机是能够存储、检索和处理数据的可编程电子设备。 这个定义中的操作字包括 可编程的 、 存储 、 检索 和 处理 。上一章指出了数据和操作数据的指令逻辑上是相同的,它们存储在相同的地方。这就是“可编程的”这个词的意义所在。操作数据的指令和数据一起存储在机器中。要改变计算机对数据的处理,只需要改变指令即可。 存储、检索和处理 是计算机能够对数据执行的动作。也就是说,控制单元执行的指令能够把数据 存储 到机器的内存中,在机器内存中 检索 数据,在算术逻辑单元中以某种方式 处理 数据。词语“处理”非常通用。在机器层,处理涉及在数据值上执行算术和逻辑操作。 6.2 机器语言 机器语言 :由计算机直接使用的二进制编码指令构成的语言 Pep/8:一台虚拟机 虚拟机 :为了模拟真实机器的重要特征而设计的假想机器 Pep/8反应的重要特征 回忆第5章中所说的,寄存器是中央处理器中算术/逻辑单元的一小块存储区域,它用来存储特殊的数据和中间值。Pep/8有七个寄存器,我们重点研究其中三个: 程序计数器(PC) , 其中包含下一条即将被执行的指令的地址。 指令寄存器(IR) , 其中包含正在被执行的指令的一个副本。 累加器 (是一个寄存器)。

【TencentOS tiny】深度源码分析(5)——信号量

余生长醉 提交于 2019-12-01 13:45:30
信号量 信号量( sem )在操作系统中是一种实现系统中任务与任务、任务与中断间同步或者临界资源互斥保护的机制。在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持。 抽象来说,信号量是一个非负整数,每当信号量被获取( pend )时,该整数会减一,当该整数的值为 0 时,表示信号量处于无效状态,将无法被再次获取,所有试图获取它的任务将进入阻塞态。通常一个信号量是有计数值的,它的计数值可以用于系统资源计数(统计)。 一般来说信号量的值有两种: 0:表示没有积累下来的 post 信号量操作,且可能有任务阻塞在此信号量上。 正值:表示有一个或多个 post 信号量操作。 一般来说信号量多用于同步而非互斥,因为操作系统中会提供另一种互斥机制(互斥锁),互斥量的互斥作用更完善:互斥锁有优先级继承机制,而信号量则没有这个机制,此外互斥量还拥有所有者属性,我们会在后续讲解。 信号量也如队列一样,拥有 阻塞机制 。任务需要等待某个中断发生后,再去执行对应的处理,那么任务可以处于阻塞态等待信号量,直到中断发生后释放信号量后,该任务才被唤醒去执行对应的处理。在释放( post )信号量的时候能立即将等待的任务转变为就绪态,如果任务的优先级在就绪任务中是最高的,任务就能立即被运行,这就是操作系统中的“ 实时响应,实时处理 ”。在操作系统中使用信号量可以提高处理的效率。

java基础总结(2)----语言基础

。_饼干妹妹 提交于 2019-12-01 13:20:43
Java语言基础 1,基本语言要素 (1)关键字 java关键字(也称为保留字)是指那些具有特定定义和专门用途的单词,它们不能被用作标识符。java关键字共计53个(java的官方文档认为字面常量true,false,null不是关键字,因此官方认定的关键字是50个)。按其作用可以分为以下几类: java语言关键字分类列表 关键字分类 关键字数量 关键字列表 数据类型 9 boolean,byte,char,short,int,long,float,double,void 字面常量 3 true,false,null 流程控制 11 for,if,else,while,do,switch,case,default,break,continue,return 访问范围修饰符 3 public,private,protected 其他修饰 7 final,static,abstract, synchronized,transient,native,volatile 类、接口和包 6 class,interface,package,implements,extends,import 对象相关 4 new,this,super,instanceOf 异常处理 5 try,catch,finally,throw,throws 1.0后版本新增 3 enum,strictfp,assert

02-模板(过滤器,控制代码块)

混江龙づ霸主 提交于 2019-12-01 13:04:23
学习目标 能够写出 jinja2 中变量代码块和控制代码块的格式 能够写出在模板中字典,列表的取值方式 能够写出数组反转的自定义过滤器(使用1种方式即可) 能够说出Flask中模板代码复用的三种方式 能够使用代码实现模板继承的功能 能够说出可以在模板中直接使用的 Flask 变量和函数 能够使用 Flask-WTF 扩展实现注册表单 能够说出 CSRF 攻击的原理 Jinja2模板引擎简介 模板   在前面的示例中,视图函数的主要作用是生成请求的响应,这是最简单的请求。实际上,视图函数有两个作用:处理业务逻辑和返回响应内容。在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本。本节学到的模板,它的作用即是承担视图函数的另一个作用,即返回响应内容。 模板其实是一个包含响应文本的文件,其中用占位符(变量)表示动态部分,告诉模板引擎其具体的值需要从使用的数据中获取 使用真实值替换变量,再返回最终得到的字符串,这个过程称为“渲染” Flask是使用 Jinja2 这个模板引擎来渲染模板 使用模板的好处: 视图函数只负责业务逻辑和数据处理(业务逻辑方面) 而模板则取到视图函数的数据结果进行展示(视图展示方面) 代码结构清晰,耦合度低    Jinja2:   Jinja2:是Python下一个被广泛应用的模板引擎,是由Python实现的模板语言

流程控制语句

拈花ヽ惹草 提交于 2019-12-01 07:53:47
第一章 流程控制 概述 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。 顺序结构 在main方法中:开始执行main方法中的代码,从上往下逐行执行。在执行的过程中,JVM遇到不同的关键字,需要做不同的事情。程序是按照顺序结构在执行。程序中大多数的代码都是这样执行的。 public static void main(String[] args){ //顺序执行,根据编写的顺序,从上到下运行 System.out.println(1); System.out.println(2); System.out.println(3); } 注意:程序在执行的过程中,不可能完全按照行的方式,每行都执行。在执行的过程中执行其他的程序或者还有一种情况就是重复的一直执行某块代码。 第二章 判断语句 判断语句--if 程序在执行的过程中,需要加入一些条件,然后根据条件的真假,确定应该执行哪些代码,不应该执行哪些代码, 要完成这个需求,就必须使用Java中的判断结构。 if语句第一种格式: if if(判断条件){ 语句体; } 执行流程 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体

Java控制结构

别说谁变了你拦得住时间么 提交于 2019-12-01 07:05:44
if结构 if(条件表达式){ //执行代码 }else if(条件表达式){ //执行代码 }else{ //执行代码 } 条件表达式的结果是true|false,具体的形式: 1、直接的布尔变量 2、比较运算符得到的结果或逻辑运算符的结果 3、在Java中,非零的数值类型或非空字符串不能用于返回布尔值 switch结构 switch(变量名){ case 字面常量1: //执行代码 break; case 字母常量2: //执行代码 break; default: //执行代码 } 1、变量的类型包括整型、char和String类型 2、case中的字面常量应与变量类型一致:整型3、char类型'a'、String类型"Hello" 3、break,用于跳出switch结构;default,定义默认执行代码,当没有break跳出时,将在最后执行该代码。实际上,break和default都不是必须的。 4、执行switch语句时,先将变量的值与case值逐一比较,如果匹配,则从该处将执行所属代码。 如果匹配之后没有break语句,则将不再进行匹配而直接执行后续代码,直到遇到break语句或执行完所有代码才跳出switch。 在switch中没有break时,将在最后执行default语句。 while结构 while(循环条件){ //执行代码 } do……while结构 do{

php的xdebug的配置、调试、跟踪、调优、分析

烈酒焚心 提交于 2019-11-30 03:49:56
xdebug 的 profiler 是一个强大的工具,它能分析 PHP 代码,探测瓶颈,或者通常意义上来说查看哪部分代码运行缓慢以及可以使用速度提升。Xdebug 2 分析器输出一种兼容 cachegrind 文件格式的分析信息。这允许你能使用出色的 KCacheGrind 工具(Linux,KDE)来分析你的 profiling 数据。在 Linux 可以使用你最喜欢的包管理器安装 KCacheGrind。 在 windows 系统上,有预编译的 QCacheGrind 二进制程序(QCacheGrind 是没有 KDE 绑定的 KCacheGrind)。 在 Mac OSX 系统上,这里也有怎样安装 QCacheGrind 的 说明 。 Windows 用户可以选择性的使用 WinCacheGrind 。它的功能不同于 KCacheGrind,所以 这个页面的 KCacheGrind 使用文档章节不适用于这个程序。WinCacheGrind 目前不支持 Xdebug 2.3 引入的 cachegrind 文件格式的的文件和函数压缩。 这也有一种可替代 profile 信息演示的工具叫做 xdebugtoolkit 。一款基于 web 前端叫做 Webgrind ,和一款基于 java 的工具叫做 XCallGraph 。 如果你不能使用 KDE(或者不想使用 KDE)的

Shell编程-控制结构 | 基础篇

别说谁变了你拦得住时间么 提交于 2019-11-30 03:18:49
if-then-else分支结构 if-then-else是一种基于条件测试结果的流程控制结构。如果测试结果为真,则执行控制结构中相应的命令列表;否则将进行另外一个条件测试或者退出该控制结构。 if-then-else语法格式: if 条件1 then 命令列表1 elif 条件2 then 命令列表2 else 命令列表3 fi 执行逻辑流程图 说明:当条件1成立时,则执行命令列表1并退出if-then-else控制结构;如果条件2成立,则执行命令列表2并退出if-then-else控制结构;否则执行命令列表3并退出if-then-else控制结构。在同一个if-then-else结构中只能有一条if语句和一条else语句,eilf语句可以有多条。其中if语句是必须的,elif和else语句是可选的。 Shell脚本首先判断文件test1是否可读,如果是,则输出 is readable !的提示信息;否则不进行任何动作。 [root@localhost 20190105]# vi test.sh filename=test1 if [ -r $filename ] //输出test1可读则输出信息 then echo $filename' is readable !' fi [root@localhost 20190105]# sh test.sh test1 is

java中的流程控制语句总结

故事扮演 提交于 2019-11-29 19:27:52
java中的流程控制语句总结 程序的结构分类 :   顺序结构:按照写代码的顺序 一次执行   选择结构:根据条件的不同有选择的执行不同的代码   循环结构:在一定条件下 反复执行某一片代码 选择结构 :   也叫分支结构 根据条件的不同,有选择的执行某一片代码 ,Java提供了两种 if结构 switch结构 if分为三种格式 : if的第一种格式   if(条件){     语句块   } 执行流程: 先判断条件, 如果为真 则语句块执行, 否则 语句块不执行 代码演示: 1 public static void main(String[] args) { 2 System.out.println("开始"); 3 // 定义两个变量 4 int a = 10; 5 int b = 20; 6 7 if (a == b) { 8 System.out.println("a等于b"); 9 } 10 11 int c = 10; 12 if (a == c) { 13 System.out.println("a等于c"); 14 } 15 16 System.out.println("结束"); 17 } if的第二种格式: if(条件){   语句块 1 }else{   语句块2 } 执行流程: 先判断条件的真假, 如果为真 则只执行语句块1, 否则, 只执行语句块2

周总结 + for 循环 + 内置方法(day06整理)

回眸只為那壹抹淺笑 提交于 2019-11-29 11:37:42
目录 周总结 一 计算机基础之编程 (一) 什么是编程语言 (二) 什么是编程 (三) 为什么编程 二 计算机五大组成 (一) CPU (1) 运算器 (2) 控制器 (二) 存储器 (1) 主存 (2) 内存 (三) 输入设备 (四) 输出设备 (五) 32位和64位 (六) 多核CPU (七) 机械硬盘工作原理 (1) 机械手臂 (2) 磁道 (3) 扇区 (4) 平均寻道时间 (5) 平均延迟时间 (6) 平均寻找数据时间 三 计算机操作系统 (一) 什么是文件 (二) 操作系统有什么用 (三) 操作系统的启动 (四) 应用程序的启动 四 编程语言的分类 (一) 机器语言 (二) 汇编语言 (三) 高级语言 (1)编译型语言 (2) 解释性语言 五 网络瓶颈效应 六 python执行程序的两种方式 (一) 交互式 (二) 命令行式 七 变量 (一) 什么是变量 (二) 变量的三大组成 (三) 变量名的命名规范 (四) 变量名的两种命名方式 八 常量 九 python变量内存管理 (一) 引用计数 (二) 垃圾回收机制 (三) 小整数池 十 变量的三种打印方式 十一 花式赋值 (一) 链式赋值 (二) 交叉赋值 十二 布尔类型 十三 解压缩 十四 python与用户交互 十五 格式化输出的三种方式 (二) % 占位符 (三) format格式化 十六 基本运算符 (一)