03 2020 档案
摘要:1、把登录与注册的密码都换成密文形式 import hashlibusername = input('请输入账号: ').strip()password = input('请输入密码: ').strip()re_password = input('请再次输入密码: ').strip()if pas
阅读全文
摘要:一、什么是哈希(hash) hash一类算法,该算法接受传入的内容,经过运算得到一串hash值 hash值的特点: I 只要传入的内容一样,得到的hash值必然一样 II 不能由hash值返解成内容 III 不管传入的内容有多大,只要使用的hash算法不变,得到的hash值长度是一定 二、hash的
阅读全文
摘要:一、用途 操作配置文件使用的模块 配置文件:(a.cfg) # 注释1; 注释2[section1]k1 = v1k2:v2user=egonage=18is_admin=truesalary=31[section2]k1 = v1 读取操作: config.section() config.o
阅读全文
摘要:一、xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 <?xml version="1.0"?><data> <co
阅读全文
摘要:一、序列化和反序列化 1、什么是序列化&反序列化 内存中的数据类型 >序列化 >特定的格式(json格式或者pickle格式) 内存中的数据类型< 反序列化< 特定的格式(json格式或者pickle格式) 2.为何要有序列化 序列化得到结果=>特定的格式的内容有两种用途 1、可用于存储=》用于存档
阅读全文
摘要:import sysimport timeimport os 1、检索文件夹大小的程序,要求执行方式如下 python3.8 run.py 文件夹 path = sys.argv[1]sum = 0for line in os.listdir(path): path2 = os.path.join
阅读全文
摘要:os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs
阅读全文
摘要:1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模块的搜索路径,初始化时使用PYTH
阅读全文
摘要:高级的 文件、文件夹、压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 1 import shutil2 3 shutil.copyfileobj(open('old.xml','r'), open('new.xml',
阅读全文
摘要:import randomprint(random.random())#(0,1) float 大于0且小于1之间的小数print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数print(random.randrange(1,3)) #[1,3) 大
阅读全文
摘要:一、时间的三种形态 1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 print(time.time()) # 显示从1970年1月1日00:00:00开始到现
阅读全文
摘要:一 软件开发目录规范 -bin -start # 启动软件入口 -conf -settings # 配置文件 -core -src # 核心业务逻辑代码 -db -db.txt # 用于存放数据文件的 -db_hanlder #用于存放操作数据的源代码 -lib -common # 存放公共的
阅读全文
摘要:一、什么是包 随着模块数目的增多,把所有模块不加区分地放到一起也是极不合理的,于是Python为我们提供了一种把模块组织到一起的方法,即创建一个包。包就是一个含有init.py文件的文件夹,文件夹内可以组织子模块或子包,例如 pool/ #顶级包├── __init__.py ├── futures
阅读全文
摘要:一、模块的使用 import语句 首次导入模块会做三件事: 1、执行源文件代码 2、产生一个新的名称空间用于存放源文件执行过程中产生的名字 3、在当前执行文件所在的名称空间中得到一个名字foo,该名字指向新创建的模块名称空间,若要引用模块名称空间中的名字,需要加上该前缀,如下 import foo
阅读全文
摘要:面向过程的编程思想: 核心是"过程"二字,过程即流程,指的是做事的步骤:先什么、再什么、后干什么 基于该思想编写程序就好比在设计一条流水线 优点:复杂的问题流程化、进而简单化 缺点:扩展性非常差 面向过程的编程思想应用场景解析: 1、不是所有的软件都需要频繁更迭:比如编写脚本 2、即便是一个软件需要
阅读全文
摘要:1、文件内容如下,标题为:姓名,性别,年纪,薪资 egon male 18 3000 alex male 38 30000 wupeiqi female 28 20000 yuanhao female 28 10000 要求: 从文件中取出每一条记录放入列表中, 列表的每个元素都是{'name':'
阅读全文
摘要:1、def用于定义有名函数 func=函数的内存地址 def func(x,y): return x+y 2、lamdab用于定义匿名函数 print(lambda x,y:x+y) 3、调用匿名函数 方式一: res=(lambda x,y:x+y)(1,2)print(res) 方式二: fun
阅读全文
摘要:需求:有一个按照从小到大顺序排列的数字列表 需要从该数字列表中找到我们想要的那个一个数字 如何做更高效??? nums=[-3,4,7,10,13,21,43,77,89]find_num=10# 若列表无序可使用sort方法nums=[-3,4,13,10,-2,7,89]nums.sort()
阅读全文
摘要:1、文件内容如下,标题为:姓名,性别,年纪,薪资 egon male 18 3000 alex male 38 30000 wupeiqi female 28 20000 yuanhao female 28 10000 要求: 从文件中取出每一条记录放入列表中, 列表的每个元素都是{'name':'
阅读全文
摘要:一:递归的定义 函数的递归调用:是函数嵌套调用的一种特殊形式 具体是指: 在调用一个函数的过程中又直接或者间接地调用到本身 1、直接调用本身 def f1(): print('我调我自己') f1()f1() 2、间接调用本身 def f1(): print(' >f1') f2()def f2(
阅读全文
摘要:1、列表生成式 l = ['alex_dsb', 'lxx_dsb', 'wxx_dsb', "xxq_dsb", 'egon']new_l=[]for name in l: if name.endswith('dsb'): new_l.append(name) 简化操作: new_l=[name
阅读全文
摘要:x=yield 返回值 def dog(name): print('道哥%s准备吃东西啦...' %name) while True: # x拿到的是yield接收到的值 x = yield # x = '肉包子' print('道哥%s吃了 %s' %(name,x))g=dog('alex'
阅读全文
摘要:def deco1(func1): # func1 = wrapper2的内存地址 def wrapper1(*args,**kwargs): print('正在运行 >deco1.wrapper1') res1=func1(*args,**kwargs) return res1 return wr
阅读全文
摘要:1、编写课上讲解的有参装饰器准备明天默写 def outter(db_type): def auth(func): def wrapper(*args, **kwargs): name = input('请输入姓名; ') pwd = input('请输入密码: ') if db_type == '
阅读全文
摘要:1、什么是迭代器 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复 都是基于上一次的结果而继续的,单纯的重复并不是迭代 2、为何要有迭代器 迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型 有:列表、字符串、元组、字典、集合、打开文件 l=['egon','liu','alex
阅读全文
摘要:如何得到自定义的迭代器: 在函数内一旦存在yield关键字,调用函数并不会执行函数体代 码 会返回一个生成器对象,生成器即自定义的迭代器。 def func(): print('第一次') yield 1 print('第二次') yield 2 print('第三次') yield 3 print
阅读全文
摘要:一:知识储备 由于语法糖@的限制,outter函数只能有一个参数,并且该才是只用来接收被装饰对象的内存地址 def outter(func): # func = 函数的内存地址 def wrapper(*args,**kwargs): res=func(*args,**kwargs) return
阅读全文
摘要:一:编写函数,(函数执行的时间用time.sleep(n)模拟) import timedef fuc1(name): time.sleep(2) print('%s大帅B,你好'%name)fuc1('egon') 二:编写装饰器,为函数加上统计时间的功能 import timedef ou
阅读全文
摘要:1、什么是装饰器 器指的是工具,可以定义成成函数 装饰指的是为其他事物添加额外的东西点缀 合到一起的解释: 装饰器指的定义一个函数,该函数是用来为其他函数添加额外的功能 2、为何要用装饰器 开放封闭原则 开放:指的是对拓展功能是开放的 封闭:指的是对修改源代码是封闭的 装饰器就是在不修改被装饰器对象
阅读全文
摘要:装饰器储备知识 1、 *args, **kwargs def index(x,y): print(x,y)def wrapper(*args,**kwargs): index(*args,**kwargs) # # index(y=222,x=111)wrapper(y=222,x=111) 2
阅读全文
摘要:一:大前提: 闭包函数=名称空间与作用域+函数嵌套+函数对象 核心点:名字的查找关系是以函数定义阶段为准 二:什么是闭包函数 "闭"函数指的该函数是内嵌函数 "包"函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域) 闭包函数:名称空间与作用域的应用+函数嵌套 def f1(): x =
阅读全文
摘要:1、函数的嵌套调用:在调用一个函数的过程中又调用其他函数 def max2(x,y): if x > y: return x else: return ydef max4(a,b,c,d): # 第一步:比较a,b得到res1 res1=max2(a,b) # 第二步:比较res1,c得到res
阅读全文
摘要:精髓:可以把函数当成变量去用 func=内存地址 def func(): print('from func') 1、可以赋值 f=funcprint(f,func)f() 2、可以当做函数当做参数传给另外一个函数 def func(): print('from func') def foo(x):
阅读全文
摘要:global: 如果再局部想要修改全局的名字对应的值(不可变类型),需要用global x=111def func(): global x # 声明x这个名字是全局的名字,不要再造新的名字了 x=222func()print(x) # x >222 可变类型一般不需要使用global l=[11
阅读全文
摘要:一:名称空间namespacs:存放名字的地方,是对栈区的划分 有了名称空间之后,就可以在栈区中存放相同的名字,详细的,名称空间 分为三种 1.1 内置名称空间 存放的名字:存放的python解释器内置的名字 存活周期:python解释器启动则产生,python解释器关闭则销毁 print<buil
阅读全文
摘要:一、形参与实参 形参:在函数的定义阶段使用的参数称之为形式参数,简称形参,类似与变量名。 def func(x, y): # x,y都是形参 print(x, y) 实参:在函数的调用阶段使用的参数称之为实际参数,简称实参,类似与变量值。 func(1,2) # 1,2都是实参 形参于实参的关系:
阅读全文
摘要:总结: 1、什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用 2、为何要用函数 1、组织结构不清晰,可读性差 2、代码冗余 3、可维护性、扩展性差 3、如何用函数 先定义 三种定义方式 后调用 三种调用方式 4.函数的返回值 三种返回的形式 一、函数的定义 #
阅读全文
摘要:要点: 指针的移动都是以bytes为单位的,但是只有在t模式下的read(n),这里的n代表的是字符个数。 with open('aaa.txt',mode='rt',encoding='utf-8') as f: res=f.read(4) print(res) # 读取四个字符 一、f.seek
阅读全文
摘要:```python # 方式一:文本编辑采用的就是这种方式 # 实现思路:将文件内容发一次性全部读入内存,然后在内存中修改完毕后再覆盖写回原文件 # 优点: 在文件修改过程中同一份数据只有一份 # 缺点: 会过多地占用内存 with open('c.txt',mode='rt',encoding='
阅读全文
摘要:一、读取相关操作 1.readline() (一次性只读取一行) with open(r'g.txt',mode='rt',encoding='utf-8') as f: res1=f.readline()# 第一行的代码 res2=f.readline()# 第二行的代码 print(res1)
阅读全文
摘要:1.模式介绍 t: 1、读写都是以字符串(unicode)为单位 2、只能针对文本文件 3、必须指定字符编码,即必须指定encoding参数b:binary模式 1、读写都是以bytes为单位 2、可以针对所有文件 3、一定不能指定字符编码,即一定不能指定encoding参数 总结:1、在操作纯文本
阅读全文
摘要:# 2.1:编写用户登录接口 #1、输入账号密码完成验证,验证通过后输出"登录成功" #2、可以登录不同的用户 #3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定) user_name=input('请输入用户名: ') password=input(
阅读全文
摘要:#1、编写文件copy工具 oldpath=input('请输入源文件地址:') newpath=input('请输入新文件存放地址: ') with open(oldpath,mode='rt',encoding='utf-8')as file1,\ open(newpath,mode='wt',
阅读全文
摘要:一、with的使用with open('a.txt',mode='rt') as f1: res=f1.read() print(res)# f1=open('a.txt',mode='rt')with方法可以在执行完子代码后自动关闭文件,节约内存空间。二、指定字符编码强调:t和b不能单独使用,必须跟r/w/a连用t文本(默认的模式)1、读写都以str(unicode)为单位的2、...
阅读全文
摘要:一、打开文件 1.路径分隔符转义问题 ① open(r'C:\a\nb\c\d.txt') ②open('C:/a/nb/c/d.txt') 2.打开方法 file1=open(r'aaa/a.txt',mode='rt')#这里的file1是一个变量名,占用应用程序内存空间 3.操作文件 应用程序
阅读全文
摘要:一.关系运算 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合 pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'} linuxs={'wupeiqi','old
阅读全文
摘要:ps:元组就是"一个不可变的列表" 1、作用:按照索引/位置存放多个值,只用于读不用于改2、定义:()内用逗号分隔开多个任意类型的元素 # x=(10) # 单独一个括号代表包含的意思 # print(x,type(x)) #10 <class 'int'> # t=(10,) # 如果元组中只有一
阅读全文
摘要:一.列表 1.作用:按位置存放多个值 2.定义 L=[1,2,’a’,[123,456]] 3.类型转换 res=list('hello') print(res) #['h', 'e', 'l', 'l', 'o'] res=list({'k1':111,'k2':222,'k3':3333}) p
阅读全文
摘要:字符编码介绍以下内容全是搬的:https://zhuanlan.zhihu.com/p/108805502太长了可以直接看最后总结 1.什么是字符编码?人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等 而计算机只能识别二进制数,详解如下。#二进制数即由0和1组成的数字
阅读全文
摘要:1.集合的作用 集合的作用就是更好的存取数据。 2.集合的关系运算 3.定义 1. 集合内元素必须为不可变类型 2. 集合内元素无序 3. 集合内元素没有重复 4. ps: s={} 默认是空字典 s=set() 可以定义空集合 4.类型转换 1.字符串转化集合 2.字典转化集合 3.列表转化集合
阅读全文
摘要:1、有列表['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量 list1=['alex',49,[1900,3,18]] name=list1[0] age=list1[1] year=list1[2][0] mon=list1[2][1]
阅读全文
摘要:1.作用:记录一组数据2.定义:{}内用逗号分隔开多个key:value,其中value可以使任意类型,但是key必须是不可变类型,且不能重复2.1新建一个字典的四种方式#方式一:d={'k1':111,(1,2,3):222} # d=dict(...) print(d['k1']) print(
阅读全文
摘要:一:for循环 1.1 for循环嵌套之打印99乘法表 for i in range(1,10): for j in range(1,i+1): print('%s %s=%s'%(i,j,i j),end=' ') print(' ') 1.2 for循环嵌套之打印金字塔 提示分析如下 ''' m
阅读全文
摘要:1. find.rfind,index,rindex,count 作用:找到起始索引 msg='hello world' msg.find('e') 1 rfind(反方向) ps:index与rindex的用法与find类似,但是若找不到时,find返回 1,index会异常 conut 用法:统
阅读全文
摘要:1. strip(移除两边的符号) msg=' abc ' msg.strip( ) 'abc' 1.2 lstrip(用法和strip相同但只能移除左边的符号) 1.3 rstrip(用法和strip相同但只能移除右边的符号) 2. lower(将字符串全部转化为小写) msg.lower(msg
阅读全文
摘要:索引: msg='hello world' 正向取 a=msg[1] 反向取 b=msg[ 1] ps:只能取不能改 切片: msg='hello world' res=msg[0:5](hello) 切片的步长: res=msg[0:5:2](hlo) 反向步长: res=msg "5:0: 1"
阅读全文
摘要:int:将数字类型转化为整型 float:将数字类型转化为浮点型 str:可以将任意类型转化为字符串 使用方法: int(x) float(x) str()
阅读全文
摘要:Markdown在线编辑器 www.MdEditor.com 1.什么是for循环for循环就是重复的去做某件事情,for循环是python中的第二种循环机制。2.为何要有for循环从理论上出发for循环可以做的事,while训话你都可以完成。但是for循环的循环取值(遍历取值)要比while循环更
阅读全文
摘要:作业(必做题): 1. 使用while循环输出1 2 3 4 5 6 8 9 10 n = 1 while n < 11: if n == 7: n += 1 continue else: print(n) n += 1 2. 求1 100的所有数的和 sum = 0 n = 1 while n <
阅读全文
摘要:while 条件: 代码一 代码二 条件可以为显式布尔值,也可以为隐式布尔值。 死循环: 没有io的纯计算死循环会导致致命的效率问题 退出循环的两种方式tag,break 例: tag=True while tag: if : print(' ') tag=0 tag方式可以一次性结束多个循环。 例
阅读全文
摘要:需求:想拷贝原列表,产生一个新的列表,而且想让两个列表完全区分开,互不影响,针对改操作,而不是读操作。 浅copy: list1=['jake','rose',[1,2]] list2=list1.copy() list1和list2的内存地址不同 但是list1[0]与list2[0]的内存地址是
阅读全文
摘要:if 条件1: 代码1 elif 条件2: 代码2 else: 代码3
阅读全文
摘要:in:用来判断是否存在 例: 'a'in'abcd' (True) 1 in [1,2,3,4,5] (True) name in{name:'jake',age:18} (True) ps:字典中我们只能判断key的存在 not in:用法类似in is:用于判断id是否相等
阅读全文
摘要:not,and,or not:将紧跟其后的那个值取反 例:not 31 (True) 2==1 and 5 1 (false) True and false (false) 35 and True and 5==5 (false) ps:两侧都为真的情况下是真,任意一侧为假即为假。(同真为真,一假为
阅读全文
摘要:可变类型:值改变了,id不变。 不可变类型:值变了,id也变了。 int,str,float都是不可变类型 list,dic都是可变类型 ps:在字典中,key必须是不可变类型,value可以是不可变类型,也可以是可变类型。
阅读全文
摘要:作业: 0、分别画出下面两个列表在内存中是如何存放的 l1=[11,22,[333,444]] l2=[11,22,[33,{'name':'egon','age':18}]] 1、 用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式 info of Egon Name : Egon Age :
阅读全文
摘要:1.算数运算符 print(10+3) print(10+3.4) 加法运算 print(10/3)结果保留小数 print(10//3)结果不保留小数位 print(10%3)取余运算 print(10 3)十的三次方 2.比较运算符 , =(大于和大于等于) <,<=(小于和小于等于) ==,!
阅读全文
摘要:先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度] 10:右对齐,总共10个字符,不够的用 号填充 print('{0: 10}'.format('开始执行')) ( 开始执行 ) ^10:居中显示,总共10个字符,不够的用 号填充 print('{0: ^10}'.format(
阅读全文
摘要:接收用户输入: input('') 例: name=input('请输入用户名: ') password=input('请输入密码: ') 在python3中,用户输入的所有信息都是字符串类型。 在python2中,用户输入的类型是什么型就是什么型。 例: n=input('输入你想输入的') 若用
阅读全文
摘要:1.引用计数 x=10(直接引用) list=['a','x'] (间接引用) ps:1.不管任意方式,只要数据可以被访问到,他都可以算为一种引用。 2.当引用计数为0时,python会回收该垃圾。 2.标记清除 用来解决循环引用的情况下,引用计数无法消除的垃圾。 ps:循环引用会导致内存泄漏。 3
阅读全文
摘要:1:day01日考、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理 path = r'C:\a\b\c\adhsvc.dll.system32' 2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名
阅读全文
摘要:布尔值的作用:记录真与假 显式布尔值: 例:3 5 false 3<5 true 3==5 false 3==1+2 true false/true 隐式布尔值: 除了0,none,空其他都为True
阅读全文
摘要:what:字典的定义 字典是储存数据的一种方式。 why:为什么要使用字典 为了更好的存取数据。 how:如何定义一个字典 一个Key对于一个value,每一对数据之间用逗号分隔。 例子: scores={ 'name'='jake', 'math_score'=80, 'histo_score'=
阅读全文
摘要:what:列表是什么 列表是逗号分隔的不同的数据项 why:为什么使用列表 可以更加方便的存取数据 how:如何使用 使用方括号括起来即可 例: scores=[80,85,90,100,89] ps:我们用列表来记录了小Y同学的五次考试成绩 如何从列表中取出想要的值(索引) 例: 我们想取出该同学
阅读全文
摘要:1.整型(int) 作用:用来记录年龄,号码,个数等 2.浮点型(float) 作用:记录一些有小数的数:身高,体重等 3.字符串型(str) 作用:记录描述,或者是一段话,名字等 用引号包含在内,单引号,双引号,甚至三引号都可 例: a='xxx' a=''xxx'' a='''xxx''' 数据
阅读全文
摘要:what:什么是变量 变量就是可以变化的量,事物的状态,年纪,大小,玩家等级... why:为什么使用变量 为了让计算机像人一样记住一种特征或者是状态(可变) how:如何使用变量 1:如何定义一个变量 例: name='doinb' 2:引用这个变量 例: print('name') 终端:doi
阅读全文
摘要:1.启动python解释器 2.解释器将文件的内容读入到内存中(从硬盘—— 内存) 3.解释器开始解释运行读到内存种的文件内容 程序都是将硬盘中的内容读入到内存,差别就是他们对读入内存的文件的处理方式的不同。
阅读全文
摘要:编程语言分为三种: 1.机器语言 2.汇编语言 3.高级语言(高级语言可细分为:编译型,解释性) 执行效率:机器语言 汇编语言 高级语言 开发效率:机器语言<汇编语言<高级语言 机器语言:使用二进制来写代码,计算机可以直接理解,所以执行效率高。 汇编语言:使用英文字母来代替二进制编写代码,相对机器语
阅读全文
摘要:1.双击了快捷方式(xxx.exe) 2.操作系统根据它提供的绝对路径找到了exe程序的硬盘位置, 控制其代码从硬盘加载到内存。 3.操作系统控制cpu从内存中读取该程序的代码并完成执行。
阅读全文
摘要:1.计算机通电 2.BIOS运行,检测硬件(cpu,内存,硬盘等等) 3.BIOS读取CMOS存储器中的参数,选择启动设备。 4.从启动设备上读取第一个扇区的内容 (MBR主引导记录512字节,前446为引导信息,后64字节为分区信息,最后两个字节是标志位) 5.根据分区信息读入BootLoader
阅读全文
摘要:以7200转速的机械硬盘为例 7200转/min,转一圈的时间就是8ms。 平均寻道时间: 机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘(5ms) 平均延迟时间: 转半圈需要的时间8/2=4ms(受限于硬盘的转速) I/O延迟=平均寻道时间+平均延迟时间 优化程序运行的核
阅读全文
摘要:RAM:内存 ROM:只读内存 (存放BIOS系统————计算机出厂时写死的一段程序) CMOS:存取速度慢,断电丢失数据,但是耗电量极低(电脑的时间等) 硬盘: 机械硬盘:磁道的一圈数据对等于一串二进制(1bit=一个二进制位) 8bit(比特位)=1Bytes(字节) 1024Bytes=1KB
阅读全文
摘要:例: 2核4线程: 2核就是有两个CPU,4线程是指每个cpu都有两个线程,可以理解为伪4核。 强于2核2线程,弱于4核四线程 4核8线程: 4核就是有四个CPU,8线程是指每个cpu都有两个线程,可以理解为伪8核。
阅读全文
摘要:##0.CPU的分类 x86-64 x86-32 cpu具有向下兼容性:即64位的cpu可以运行32位的程序,也可以运行64位的程序。 但32位的cpu只能运行32位的程序,无法运行64位的程序。 内核态与用户态:代表了cpu的两种工作状态 ###1.内核态:操作系统运行程序,所以可以操作计算机硬件
阅读全文

浙公网安备 33010602011771号