锁、信号量和资源互斥分别指什么?请用python程序举例说明。
摘要:锁既是给公共资源增加限制。如果是死锁的必须满足以下四个条件,互斥,不可剥夺,请求与保持, 循环等待,只要系统出现死锁,这四个条件必须成立。 信号量,有时被称为信号灯。是在多线程环境下使用的一种设施,他负责协调各个线程,以保证他们能够正确、合理的使用公共资源。 互斥:是指某一资源同时只允许一个访问者对
阅读全文
简述with语句的用法以及底层实现了什么?
摘要:使用with语法更优雅,更敏捷。不仅可以避免读取文件时异常的发生而没有关闭问题的处理,而且代码更短一些。 #with的实现 with open(r'c:\test.txt', 'r') as f: data = f.read() # 一般访问文件资源时我们会这样处理 f = open( 'c:\te
阅读全文
提供一个python函数,其输入为字符串,输出为整数。例如:输入“12”,则返回整数12。要求不能调用已有的库函数和第三方组件(如int)。
摘要:这个题是一道笔试题,没有思路,回来查资料整理出来,分享给大家。 def func(x): s = x[::-1] num = 0 if s.isdigit(): for i, v in enumerate(s): for j in range(10): if v == str(j): num +=
阅读全文
python代码实现单利模式
摘要:一、单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的
阅读全文
python的内存管理机制
摘要:一、python是一个什么样类型的语言 1、python是一种动态解释性强类型定义的高级、通用性编程语言。 解释型:执行的时候,才一条一条的解释成机器语言给计算机来执行。如:python、js、ruby、PHP等 编译型:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以
阅读全文
快速理解进程、线程、协程的概念,它们的区别和共同点,以及应用场景。
摘要:一、进程、线程、协程的概念 1、进程: 教科书上最经典的一句话解释:——进程是资源分配的最小单位 实质上的理解:——先加载程序A的上下文,然后开始执行A,保存程序A的上下文,调入下一个要执行的程序B的程序上下文,然后开始执行B,保存程序B的上下文。进程的生命周期有调入,执行,保存的过程。 2、线程:
阅读全文
GIL锁的理解
摘要:一、什么是GIL锁 GIL锁的英文全称:Global Interpreter Lock ,中文意思是:全局解释器锁。由于全局解释器锁的存在,在同一时间内,python解释器只能运行一个线程的代码,这大大影响了python多线程的性能。而这个解释器锁由于历史原因,现在几乎无法消除。 二、Python语
阅读全文
事务隔离怎么保证
摘要:一、什么是事务 事务:在数据库操作中事务就是一条或者多条SQL语句组成的一个不可分割的工作单元。 特点:在事务当中的所有操作都正常完成时,整个事务才被提交到数据库当中,如果有一项操作没有完成,那么整个事务会被回滚。 二、事务的四大特性(ACID) A : 原子性: 同一个事务中可能有多条sql语句,
阅读全文
简述MVCC机制
摘要:MVCC概念: 被称为多版本并发控制,是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问;与大多数的MySQL事务型存储引擎的行级锁配合使用 MVCC实现原理: MVCC是通过保存数据在某个时间点的快照来实现的,MVCC主要是为Repeatable-Read(可避免脏独,不可重复读
阅读全文
什么是数据库范式
摘要:数据库范式 首先,我们先要了解什么是数据库,数据库简单来说就是数据集合。它有以下几个特点:以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余度,与应用程序彼此独立的数据集合。我们可以视为电子化的文件柜——存储电子文件的处所。用户可以对文件的数据进行新增,查询,更新,删除等操作。 其次,什么是
阅读全文
mysql的存储引擎有那些? 它们的区别是
摘要:引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 在文件系统中,MySQL将每个数据库(也可以称之
阅读全文
select count(*),count(1),count(name)哪个性能好,为什么
摘要:1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)要比使用count(*)用时多! 从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时要少一些(1w以内数据量),
阅读全文
Mysql 的索引有哪些
摘要:MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。MySQL索引常用有:主键索引、唯一索引、普通索引、全文索引和组合索引。还有一些 单列索引、多列索引的说法. 主键索引: 主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。 唯一索
阅读全文
数据库范式
摘要:一、什么是数据库? 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作 二、什么是范式? 范式来自英文Normal form,简称NF。要想设计—个好的
阅读全文
部署图书管理系统,安装配置redis数据库,uWSGI命令学习与使用,supervisor工具的安装与使用
摘要:1. 熟悉linux操作 cat /etc/redhat-release 查看系统版本cat /etc/os-release 查看系统版本 2. 配置阿里云的源 2.1 备份所有repo cd /etc/yum.repos.dmkdir repobakmv * repobak/ 2.2 下载阿里云源
阅读全文
DJango的初识 ,什么是Django?
摘要:什么是Django? Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式。 Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模板引擎、缓存、Session等诸多功
阅读全文
常见的HTTP状态码有哪些?
摘要:一、什么是HTTP状态码 ? 当用户在浏览网页的时候,浏览器会返回一个htttp状态码,主要是用来响应浏览器的请求。 二、常见的HTTP状态码有哪些 ? 200 OK 请求正常处理完毕 204 No Content 请求成功处理,没有实体的主体返回 301 Moved Permanently 永久重
阅读全文
HTTP与HTTPs的区别
摘要:HTTP与HTTPs的区别呢?有人可能说,不就多了个s么!对,确实只是多了个s,但是因为这个s,后者比前者功能更强大,而且前者免费,后者收费。 一、HTTP是什么 HTTP是超文本传输协议(Hyper Text Transfer Protocol)。是用于从万维网(WWW:World Wide We
阅读全文
简述MVC和MTV模型
摘要:一、MVC模型 用一句话来描述他们之间的关系:Controller负责将Model的数据用View显示出来,换句话说就是在Controller里面把Model的数据赋值给View。 那么具体是怎么实现的,我们先上图 斯坦福大学公开课上的这幅图来说明,这可以说是最经典和最规范的MVC标准。 V:Vie
阅读全文
cookie与session的区别
摘要:一、什么cookie?以及cookie的由来 故名思意,cookie就是我们曾今吃过的小饼干。但是我这里的cookie不是指库奇牌儿饼干,而是网络编程中的一门技术。 由于http协议是一种无状态保存的超文本传输协议,因此用户登录网站后,无法保存登录状态,需要携带用户信息去访问。 为了解决这个问题,就
阅读全文