摘要:
[TOC] MySQL mysql是什么: 数据库管理软件分类 下载安装 mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。 "mysql的安装、启动和基础配置 —— linux版本" (https://www.cnblogs.com/Eva J/art 阅读全文
摘要:
[TOC] 协程 协程:基于单线程来实现并发,即只用一个主线程(可以利用的cpu只有一个)情况下实现并发。并发:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更 阅读全文
摘要:
[TOC] GIL全局解释器锁 这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython,Pypy GIL 本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是讲并发运行变成串行,以此来控制同一 阅读全文
摘要:
线程 什么线程 线程的创建开销小 为何要用多线程 多线程指的是,在一个进程中开启多个线程,简单的讲:如果多个任务共用一块地址空间,那么必须在一个进程内开启多个线程。 开启线程的两种方式 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 线程的其他方法 守护线程 死锁现象与递归锁 进 阅读全文
摘要:
[TOC] 进程间的通信 我们知道进程之间数据是相互隔离的,要想实现进程间的通信(IPC机制),就必须借助于一些技术才可以。 multiprocessing模块中的:队列和管道,这两种方式都是可以实现进程间数据传输的。 队列 基于队列实现进程间通信 生产者消费者模型 在并发编程中使用生产者和消费者模 阅读全文
摘要:
[TOC] 进程互斥锁 总结: 加锁可以保证多个进程修改同一块数据时,同一时间只能有一个任务可以进行修改,即串行的修改,没错,速度是慢了,但牺牲了速度却保证了数据安全。 阅读全文
摘要:
[TOC] 创建进程的多种方式 multiprocess模块 multiprocess是python中一个操作、管理进程的包。 Process类介绍 Process类创建进程的两种方式 进程中的其他知识 进程间数据隔离 守护进程 会随着主进程的结束而结束 主进程创建守护进程 阅读全文
摘要:
进程 多道技术 空间上的复用: 将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。 时间上的复用: 当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的 统筹方法 。(操作系统采用 阅读全文
摘要:
[TOC] 网络编程 软件开发架构: 我们了解的设计到两个程序之间通讯的应用大致可以分为两类: 应用类:QQ,微信,优酷等这一类都属于安装在桌面的应用。 web:百度,知乎,博客园等使用浏览器访问就可以直接使用的应用。 这些应用的本质其实都是两个程序之间的通讯,对应了两个软件开发的架构: c/s架构 阅读全文
摘要:
[TOC] 面向对象进阶 ,`__init__` 负责对象的创建, 负责对象的初始化 中类的定义分为新式定义和老式定义两种。老式类定义时不继承 object 基类,而新式类在定义时显示继承 object 类。 注意:实例化对象是object类底层实现,其他类继承了object的 才能够实 阅读全文
摘要:
[TOC] 反射 反射的概念:指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。 反射是用字符串来操作类或者对象的属性,其中反射有以下四个内置函数: 和`__repr__` 改变对象的字符串显示 ,`__reper__`,这俩方法的返回值必须是字符串,否则抛出异常。 item系列 , 阅读全文
摘要:
[TOC] 类的多态 一,什么是多态 多态指的是一类事物有多种形态。 例如,动物的多种形态:人,狗,猪 二,多态性 多态性:是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生 阅读全文
摘要:
[TOC] 封装 什么是封装 封装在python中指的就是把数据与功能都整合到一起,将类的某些部分(属性、方法)隐藏起来,称为私有属性/方法,实例化的对象不能直接使用被封装的方法和属性,具有一定的保护作用,隐藏对象的属性和方法实现细节,仅对外提供公共的访问方式。 私有变量和私有方法 在pyt 阅读全文
摘要:
[TOC] 类的继承 什么是继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父类的属性或方法 继承是类与类之间的关系 为什么用继承 使用继承可以减少代码的冗余 如何用继承 注意: 在 python 3中如果一个类没有继承任何类,则默认继承 object 类 阅读全文
摘要:
[TOC] 面向对象编程 面向过程编程 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。 面向对象编程 面向对象的程序设计:核心是对象二字,对象是特征与技能的结合体,基于面向对象设计 阅读全文