小白的CTF学习之路1——程序与CPU】的更多相关文章

刚刚注册了这个博客园,尽量保持每日一更(*/ω\*) 今天看了po学院的教学视频,了解了程序是什么,如何在CPU当中工作的等各种之前未曾想过的问题,特此记录,以防忘记 首先我们学习程序与CPU之前需要了解这么几个问题: 1.什么是程序? 2.程序是由什么组成? 3.什么是机器语言? 3.运行中的程序存储在什么位置? 4.什么是内存地址? 5.程序的解释和运行的计算机部件叫什么? 我们带着问题来学习,将会有很大的效果 首先我们需要了解CPU是什么? CPU(Central Processing U…
今天的第二更,被我拖到了傍晚,嘿嘿,二进制这方面让本就数学不好的我很头疼,所以研究了一段时间 在学习之前我们先了解几个问题: 32位是几个字节? 01011100对于十进制是多少? 00001111向左位移两位结果是多少?有什么规律? 以补码形式表示的8位二进制数11111111,十进制为多少? 二进制和十进制有什么区别? 在学习前肯定会对问题里的一些属于感到蒙蔽,不要急,按照我写的一步一步往下看,再回头看这些问题,就会迎刃而解 为什么要用二进制? 可能有些人不了解我们放着好好地十进制不用为什么…
今天第二更,废话不说上干货 上一章我们学习了内存和cpu间的互动方式,了解到内存的空间非常有限,所以这样就需要我们在编程的时候尽可能的节省内存空间,用最少的空间发挥最大的效果,以下是几种节约内存的方法: 函数共用 被调用方清理栈 数据压缩 函数公用: 假设有两个程序a,b,他们中有一个共同的代码都是用来发出显示指令的,这样就用了双倍的内存空间 windows有一个dll(动态加载)工具,把很多共有的指令集合到了一起,这样在软件需要的时候只需用函数调用就可以了,省去了写一长串代码的麻烦 被调用方清…
前天去网吧跟朋友包宿,导致昨天一整天都报废,今天早上研究了一下nethunter导致手机成功变砖,感冒不停地咳嗽,这些理由应该足够我前两天拖更了吧,下面开始正题 磁盘学习路线 虚拟缓存 虚拟内存 节约内存的编程方式 函数公用 被调用方清理栈 数据压缩 让我们带着问题来学习: 存储程序方式是指什么? 如何通过内存来提高磁盘的访问速度? windows为例,他为了节约内存用了哪些手段? 首先我们来了解下磁盘这个部件 磁盘是我们电脑中必不可少的硬件,他近几年的发展非常迅猛,但同时磁盘也是我们现在计算机…
很衰的一天,各种意料之外的问题,但都挡不住我每日一更的步伐 内存的逻辑结构大致分为以下几种: 数组 栈与队列 链表 二叉树 以上,数组,栈,链表是我这章要说明的 在学习前需要了解的两个问题: 1.内存的一次存入仅能放8bit大的空间,那么我们想要存入32bit的内存怎么办呢? 2.什么样的操作是更适合(更快)我们内存呢? 学习前需要明白的两个术语: char=1byte int=4byte 我们上一章说过,内存就好比一栋楼房,每一层存着相应的数据,但内存的物理条件仅能限制我们每一层存入1char…
刚才考了自己一次,下面我把题和答案放到下面 CPU中不含有以下选项中的  C A:     运算器 B:      寄存器 C:     内存 D:     时钟 这是一道送分题,CPU包含以下几种原件 寄存器 控制器 运算器 时钟 CPU中负责计时的部件是  F E:      程序计数寄存器 F:      时钟 G:     控制器 H:     靠人来计时 答案已解决,妈的,错的离谱,选的F,时钟相当于我们的计算频率,时钟脉冲:CPU内部有个石英晶振,它的正常振动频率就是你CPU的主频,…
明天要进行二模考试了,沉住气,加油,能过 内存是学C路上必不可少的一环,一定要非常认真的去学 内存的物理结构: ROM:只读内存——早期的手机 RAM:读写(数据断点既消) DRAM:经常更新 SRAM:不常更新 以上内容了解便可 顾名思义,内存就是我们电脑存放数据的地方,那么他是怎么实现能够存放数据的呢?下面我们来一探究竟 内存同样是有许多集成电路(IC)组成的IC具体是怎么运作的呢?可以看下我下面放出的图片 emmmm,这是我画的一张非常简易的集成电路,大致就是我们电脑内存条的这个部分 看不…
处理了二进制的整数运算,下面我们来进行令人绝望的浮点数运算 我们先来看一下float事列程序: #include<"stdio.sh"> int main() { float sun=0; for(int i=0;i<100;i++) { sun+=0.1; } printf("%f",sun); return 0; } 这是一个比较简单的C语言循环,可能有没接触过C语言的同学,不要紧,这个程序的大致意思是让这个sum值循环100次,每次加0.1,…
大家好,我是一个零基础的新手小白,在此和大家分享一下新手小白的学习之路.欢迎各位大神指教!谢谢 Linux简介: Linux操作系统诞生于1991年10月,由芬兰赫尔辛基大学的在校生Linus Torvalds所编写.在介绍常见的Linux系统版本之前,首先需要区分Linux系统内核与Linux发行套件系统的不同.Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层.硬盘及文件系统控制及多任务功能的系统核心程序.而Linux发行套件系统是我们常说的Linux操作系统…
刚接触mapbox,只是简单记下自己的学习之路,如有错误,欢迎大神指正 1-头部引入链接 2-body中定义一个div块,用来显示地图 3-在script中创建一个map对象,并设置相关参数 mapboxgl.accessToken = 'pk.eyJ1IjoiYWx5c3NhLTE5OTciLCJhIjoiY2tiajRmNG96MGxxNjJxbWJ1MXBnZzIwbiJ9.SRp4xEaZP7rHmStuLyuugA'; var map = new mapboxgl.Map({ cont…
循环: 重复得做某一件事情 举例: 打印50份试卷 沿操场跑10圈 做100道编程题 循环结构的特点: 循环条件 (50,10,100) 循环操作 (打印试卷,沿操场跑圈,做编程题) while 循环结构: 语法: while(循环条件){ 循环操作 } 特点: 先判断循环条件,再执行循环操作 案例: 实现打印50份试卷 public class Demo01 { public static void main(String[] args) { //i:表示当前正在打印第几份试卷 ; ){ //…
一.for 循环 语法: for(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二:执行表达式二进行循环条件的判断 步骤三:如果循环条件为true则执行循环操作,如果为false则退出循环执行以下代码 步骤四:当循环操作执行完毕后执行表达式三,更新循环变量 表达式三执行完毕后继续执行表达式二进行循环判断,如果为真则执行循环操作,如果为假则执行以下代码,以此类推..........…
一.※ 万物皆对象 二.对象的两个特征: 属性:对象具有的各种特征 方法:对象执行的操作 对象:用来描述客观事物的一个实体,由一组属性和方法构成 三.封装: 对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割 四.类 类是对象的类型 五.类和对象的关系 类是抽象的概念,仅仅是模板 比如说:“人” 对象是一个你能够看得到.摸得着的具体实体 ※ 类是对象的类型,对象是类的实例 JAVA是面向对象的语言 面向对象的程序设计的优点如下: 1.与…
二重循环: 1.什么是二重循环: 一个循环体内又包含另一个完整的循环结构 语法: while(循环条件1) { //循环操作1 while(循环条件2) { //循环操作2 } } do { //循环操作1 do { //循环操作2 }while(循环条件1); }while(循环条件2); for(循环条件1) { //循环操作1 for(循环条件2) { //循环操作2 } } while(循环条件1) { //循环操作1 for(循环条件2) { //循环操作2 } } ※各种循环可以相互…
数组 一.什么是数组: 数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 二.数组基本要素: 标识符:数组的名称,用于区分不同的数组 数组元素:向数组中存放的数据 元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问 元素类型:数组元素的数据类型 注意:数组长度固定不变,避免数组越界 三:使用数组的步骤: 1.声明数组:告诉计算机数据类型是什么 语法: int [] a; 数据类型 数组…
switch 选择结构: 为什么使用switch选择结构: switch选择结构可以更好地解决等值判断问题. switch选择结构的四个关键字: switch    case    default    break switch选择结构语法: switch (key) { case value: break; case value: break; case value: break; default: break; } 根据key去匹配value的值,如果value的值跟key相同则走case块…
if选择结构: if选择结构是根据条件判断之后再做处理的一种语法结构. 1.if选择结构的语法: public class Demo{ public static void main(String[]args){ //语句1; //语句2; if(条件){ //语句3; } //语句4; } } 案例:如果Java考试成绩大于98分则奖励MP4 public class Demo02 { public static void main(String[] args) { Scanner input…
一.变量: 1.什么是变量? 变量是一个数据存储空间的表示 变量由:变量名  变量类型  变量的值 2.创造变量的两种方法: 1.声明-->赋值-->取值 //声明变量 int money; //存钱 //=:赋值运算符(将右边的值赋值给左边) //赋值变量 money=1000; //+:用于连接 //调用变量 System.out.println("存储"+":"+money); 2.声明+赋值-->取值 double price=99.99;…
定一个字符串可以使用string类和stringbuffer类. string类提供了大量的操作字符串的方法,常用的如下: 获得字符串的长度: length(). 比较字符串:equals(). 链接字符串:concat(). 提取字符串:substring(). 搜索字符串:indexOf(). 拆分字符串:spilt(). 常用的stringbuffer类提供的方法如下: 转换成string类型:tostring(). 链接字符串:append(). 插入字符串:intsert(). 一些案…
一.带参数的方法: 1.1 语法: <访问修饰符> 返回类型 <方法名>(<形式参数列表>) { //方法的主体 } 1.2 案例: 榨汁机 public class ZhazhiJi { //带参数的方法 public String zhazhi(String fruit){//形参 String juice=fruit+"汁"; return juice; } } public class ZhazhijiTest { public static…
Java注释: //:单行注释 /**/:多行注释 /** */:JavaDoc注释语法: 访问修饰符 返回值类型 方法名(){ 方法体 } 举例: public void run(){ System.out.println(""); } public String robball(){ String ball="球"; return ball; } 方法的返回值: 1.如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型 ret…
来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache,但由于系统架构的不断完善,在分布式系统架构中只依靠Cache明显不够,无法实现分布式管理,所以后期我们采用了Memcached高性能分布式内存缓存服务器. 一.应用程序缓存对象Cache 一开始,我们只处理了数据的缓存,缓存和应用程序在一台服务器: 应用程序先去读缓存,若没有数据则去读数据库,然后存…
游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. Github miloyip/game-programmer 检视/下载中文版 SVG / PDF 「真诚赞赏,手留余香」 赞赏 15 人赞赏   程序员游戏开发书籍推荐 分享 举报 977   文章被以下专栏收录 Milo的编程 进入专栏 97 条评论 写下你的评论 trycatch 这是劝退吧…
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序运行的状态.本文主要介绍了调试工具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例.N年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象.我们先使用ProcDump在生产环境中抓取异常进程的Dump文件,然后在不了解代码的…
转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html CY7C68013含有4个大端点,可以用来处理数据量较大的传输,如数据采集.视频等方面的应用.每个大端点都可以独立配置对应的FIFO,同时,也提供了相应的标志位,分别是FLAGA.FLAGB.FLAGC.FLAGD.这四个标志位彼此独立,可以分别指示4个大端点FIFO的状态,如非空.满等状态,为我们编程带来方便. 这4个标志位的配置,是由两个8位寄存器来设定的,…
写这篇文章的目的是总结自己学习大数据的经验,以为自己走了很多弯路,从迷茫到清晰,真的花费了很多时间,希望这篇文章能帮助到后面学习的人. 一.配置思路 安装linux虚拟机--->创建三台虚拟机--->配置Hadoop环境--->配置zookeeper--->配置HBase--->配置mysql--->配置hive--->配置sqoop 上面的过程只是简要的,中间还有一些小的配置过程,我没有写出,后面详细的配置过程中会提到. 二.详细配置过程 1.安装linux虚拟…
Hello word ! 一直想写博客,但是都拖延了,正好两天有假期就开始弄这个事情了.开始觉得写博客也没有什么,一路学习以来都是看别人的博客进行学习,也收藏了不少博客,学到了不少东西,所以我觉的博客有必要写写,一来给自己做下笔记,二来可以给后来之人铺下一条小道,更方便于行走. 计算机学习之路永无止境,自己记录下来的林林总总也是自己的一种激励吧! 也许若干年后看到自己的博客也会感慨万分吧!…
话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在做项目的时候在看代码生成工具的时候看到了许多生成工具都内置了企业库的数据库访问及一些相关模块,才突然顿悟了,可能企业库应该还是有点用的,于是就试着使用了企业库的一些模块(当时版本是4.1),果然觉得企业库还是很不错的,微软在企业库中为我们封装了许多日常经常使用的模块,如:数据库访问,缓存,日志,异常…
这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个非Java程序员对Android操作系统的理解以及一个Android工程的目录结构,为进一步学习做准备. 1 缘起 智能手机的出现与普及为人们的生活.工作带来了极大的便利,我们可以用手机随时随地.随心所欲地购物.玩游戏.聊天.听音乐等等.一个个精心设计.体验良好的移动客户端应用,让用户们爱不释手,人…
@ 目录 java基础怎么学? 学完基础学什么? 几个常用框架学完学什么? MQ JVM的知识跑不掉 微服务等等 其他 数据结构和算法 java基础怎么学? 当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java.有了c++的基础,其实学java确实感觉挺容易上手.如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!! 推荐几本可以入门的书籍: Head First Java 简…