自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

转载 mysql锁的种类

1) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。       2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。       3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 三种锁各有各的特点,若仅从锁的角度来说,表级锁更适合于以查询为主,只有少量按索引条件更新...

2018-04-18 19:43:11 271

转载 死锁是如何产生的

死锁产生的四个必要条件:何为必要条件?产生死锁,必然四个条件成立;四个条件成立,不一定为死锁1 互斥只有互斥才可以产生死锁,两个进程共同操作一个资源,那么,同一时间只能一个进程来操作,那么另一个进程必须等待,此进程不释放,另一个永远等待。产生死锁2 不可以强占两个进程,一个进程占有某一个资源,另一个不可以强行占有我的资源,如果可以占有,那么两个进程都可以操作资源,那么就不会产生死锁。 3请求保持我...

2018-04-18 19:42:55 1170

转载 http中的get和post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。1,http中...

2018-04-18 19:42:03 171

转载 TCP和UDP区别,各自连接过程 三次握手四次挥手

转自:https://blog.csdn.net/xiaobangkuaipao/article/details/767937021、TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校...

2018-04-18 19:41:52 612

翻译 装饰器

# 函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。def now(): print('2018-1-23')f = nowprint(f())# 函数对象的__name__属性可以拿到函数的名字print (now.__name__)print (f.__name__)'''装饰器:如果要增强now()函数的功能,但是又不希望修改now函数...

2018-04-18 19:41:31 106

转载 一次完整的HTTP请求

一次完整的HTTP请求所经历的7个步骤HTTP通信机制是在一次完整的HbTTP通信过程中,We浏览器与Web服务器之间将完成下列7个步骤:1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高...

2018-04-18 19:41:16 228

转载 sql server中的join

主要来介绍下Inner Join , Full Out Join , Cross Join , Left Join , Right Join的区别。Inner Join:筛选两边都有的记录 Full Out Join:两边都筛选出来,匹配能匹配的,不能匹配的用NULL列出 Cross Join:列出两边所有组合,也称为笛卡尔集 A×B Left Join:以左边的表为主表,列出主表所有记录,匹配能...

2018-04-18 19:40:55 237

转载 mysql中的索引类型

如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的是,在数据量...

2018-04-18 19:40:11 195

原创 sorted

# python内置的sorted()函数可以对list进行排序print (sorted([1,43,45,2,3,65,36]))# sorted() 是一个高阶函数,可以接受key函数实现自定义的排序,如按绝对值排序print (sorted([1,4,3,9,-45,-5,-34],key=abs))# 字符串排序 按照ASCII大小比较print (sorted(['bob...

2018-04-18 19:39:52 126

转载 sql命令如何进行优化

与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤。以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词、表达式、运算符和标识符)并生成查询树,最后查询优化器将分析所有可以访问数据库的源表的方法,从中选择一组返回结果集最快且消耗资源较少的步骤。查询树随即进行更新以准确记录这个步骤,接着交由数据库引擎开始执行,然...

2018-04-18 19:39:03 377

转载 select和epoll 原理概述&优缺点比较

转自:http://blog.csdn.net/jiange_zh https://blog.csdn.net/jiange_zh/article/details/50811553这个问题在面试跟网络编程相关的岗位的时候基本都会被问到,刚刚看到一个很好的比喻:就像收本子的班长,以前得一个个学生地去问有没有本子,如果没有,它还得等待一段时间而后又继续问,现在好了,只走一次,如果没有本子,班长就告诉大...

2018-04-11 19:45:34 1793 2

转载 socket的长连接和短连接

转自:http://www.cnblogs.com/lcplcpjava/p/6581179.html长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接,是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。 比如http的,只是连接、请求...

2018-04-11 18:55:27 610

转载 range和xrange区别

range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。比如:1>>> range(5)2[0, 1, 2, 3, 4]3>>> range(1,5)4[1, 2, 3, 4]5>>> range(0,6,2)6[0, 2, 4]xrang...

2018-04-11 17:36:37 128

转载 协程、线程、进程

来源:https://blog.csdn.net/kobejayandy/article/details/41412305

2018-04-11 17:28:16 97

转载 进程间通信的几种方式

1)管道管道分为有名管道和无名管道无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系一般指的是父子关系。无明管道一般用于两个不同进程之间的通信。当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式。有名管道也是一种半双工的通信方式,但是它允许无亲缘关系进程间...

2018-04-11 16:57:07 708

转载 CPU密集型和I/O密集型

转自: http://blog.csdn.net/q_l_s/article/details/51538039CPU密集型: cpu密集型也称为计算密集型,在多重程序系统中,大部分时间用来计算、逻辑判断等CPU动作的程序就是CPU密集型的程序,比如计算圆周率、对视频进行高清解码等等。 I/O密集型: I/O密集型指的是系统的CPU效能相对于硬盘/内存要好很多,大部分时间都是CPU在等I/O的读写操...

2018-04-11 16:11:36 215

转载 多进程与多线程的区别

对比维度多进程多线程总结数据共享、同步数据共享复杂,需要用IPC;数据是分开的,同步简单因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂各有优势内存、CPU占用内存多,切换复杂,CPU利用率低占用内存少,切换简单,CPU利用率高线程占优创建销毁、切换创建销毁、切换复杂,速度慢创建销毁、切换简单,速度很快线程占优编程、调试编程简单,调试简单编程复杂,调试复杂进程占优可靠性进程间不会互相...

2018-04-11 15:51:45 168

转载 python垃圾回收机制

转自:http://blog.sina.com.cn/s/blog_12c7a20b00102wrhn.html关于对象的内存回收方式,会从垃圾回收,分代回收以及孤立引用环三个方面来介绍。内存的回收方式一.垃圾回收    1.垃圾回收的条件        Python解释器对正在使用的对象保持计数。当对象不再被引用指向的时候,垃圾收集器可以释放该对象,获取分配的内存。        从基本原理上,...

2018-04-11 15:08:49 965

转载 什么是闭包,闭包的优缺点

转自:https://www.cnblogs.com/cxying93/p/6103375.html闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。1、变量作用域要理解闭包,首先要理解javascript的特殊的变量作用域。变量的作用域无非就两种:全局变量和局部变量。javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在...

2018-04-11 10:31:19 166

转载 python装饰器实现单例模式

1、闭包的实现[python] view plain copy#coding:utf-8  [python] view plain copydef A():      s1=2      def B():          sum1=s1+2          return sum1      return B    if __name__ == '__main__':      f1=A()  ...

2018-04-11 10:20:25 405

转载 python中的编码和解码

python中的解码和编码转载:https://www.cnblogs.com/shine-lee/p/4504559.html在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,u.encode...

2018-04-10 21:22:37 795

转载 常见的设计模式

单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接策略模式: 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作。注册模式: 提供了在程序中有条理的存放并管理一组全局对象 (object),例如ZF框架中的Zend_Registry::set。适配器模式: 将不同接口适配成统一的API接口,例如数...

2018-04-10 21:15:46 130

转载 __new__和__init__区别

解释一:首先要知道在面向对象编程中,实例化基本遵循创建实例对象、初始化实例对象、最后返回实例对象这么一个过程。Python 中的 _new_ 方法负责创建一个实例对象,_init_ 方法负责将该实例对象进行初始化;_new_() 方法的特性:new() 方法是在类准备将自身实例化时调用; -new() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器 ;继承自object的新式类才有new;...

2018-04-10 21:07:11 132

转载 python中的深浅拷贝

在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出现一些问题。所以,在这里按个人的理解谈谈它们之间的区别。一、赋值(assignment)在《Python FAQ1》一文中,对赋值已经讲的很清楚了,关键要理解变量与对象的关系。12345>>> a = [1, 2, 3]>>> b = a>>&...

2018-04-10 18:21:04 93

转载 python可变与不可变类型

Python的每个对象都分为可变和不可变,主要的核心类型中,数字、字符串、元组是不可变的,列表、字典是可变的。对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收)不可变类型以int类型为例:实际上 i += 1 并不是真的在原有的int对象上+1,而是重新创建一个value为6...

2018-04-10 17:55:58 84

翻译 汉字机内码

汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位是1。计算机中,补码第一位是符号位,1表示为负数,所以 汉字内码的每个字节表示的十进制数都是负数。统计输入字符串含有几个汉字,只需求出字符串中小于0的字符有几个,将它除以2就得到答案。...

2018-03-21 14:16:55 14351

转载 c++函数调用参数传递

在C++中,参数传递的方式是“实虚结合”。按值传递(pass by value) 地址传递(pass by pointer) 引用传递(pass by reference) 按值传递的过程为:首先计算出实参表达式的值,接着给对应的形参变量分配一个存储空间,该空间的大小等于该形参类型的,然后把以求出的实参表达式的值一一存入到形参变量分配的存储空间中,成为形参变量的初值,供被调用函数执行时使用。这种传...

2018-03-13 14:58:29 421

原创 __solts__

# 创建一个class实例class Student(object): pass# 给实例绑定一个属性s=Student()s.name = 'Micheal' # 动态给实例绑定一个属性print(s.name)# 给实例绑定一个方法def set_age(self,age): self.age = agefrom types import MethodTyp

2018-02-01 20:42:30 206

原创 property

'''@property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性'''# 限制score的范围class Student(object): def get_score(self): return self._score def set_score(self,value):

2018-02-01 20:38:29 118

原创 偏函数

# int()函数可以将字符串转换成整数 两个参数:1.字符串,2.base 默认是10(即十进制)a = int('123',base=8)print(a)# 定义一个int2函数,将传入的二进制字符串转换成十进制def int2(x,base=2): return int(x,base)a = int2('11000')print (a)# 使用偏函数实现上面的功能

2018-02-01 20:28:44 154

原创 匿名函数

# 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。# 如map函数中传入匿名函数。# 关键字lambda表示匿名函数,冒号前面的x表示函数参数a = map(lambda x:x*x,[1,2,3,4,5,6,7,8,9])print (list(a))# 匿名函数可以用变量来接收 f = lambda x:x*x# 匿名函数可以作为返回值返回 retu

2018-02-01 20:25:00 95

原创 枚举类

from enum import Enum,uniqueMonth = Enum('Month',('Jan','Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))# 获得Month类型的枚举类,可以 直接使用Month.jan来应用常量,或者枚举它的所有成员for name ,member

2018-02-01 20:04:39 231

原创 map\reduce函数

# 高阶函数map() 两个参数:1.函数 2.Iterable# map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回def f(x): return x*xr = map(f,[1,2,3,4,5])# Iterator是一个惰性序列,因此通过list()函数把整个序列都计算出来并返回一个listprint (list(r))# 把list

2018-02-01 20:03:53 184

原创 获取对象信息

print (type(123)==int)print (type('abc')==str)import typesdef fn(): passprint(type(fn) == types.FunctionType)print(type(abs) == types.BuiltinFunctionType)print(type(lambda x:x) == types.Lam

2018-02-01 19:55:20 147

原创 filter

# Python内建的filter()函数用于过滤序列# filter()函数:接收两个参数:1.函数 2.序列 ;返回的是Iterator序列,需要用list()函数获得所有结果,并返回list# filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素# 在list中删除偶数只保留奇数def is_odd(n): if n%

2018-02-01 19:52:35 163

原创 Python学习第三天--json解析

1.准备url(api接口)2.将url在浏览器打开,复制数据到json在线解析的网站(http://json.parser.online.fr/)3.根据解析后的数据,提取需要的内容# url统一资源定位符# 在python中发送请求# 下载requests包,使用requests发送请求import requests#python 内置的json包import jso

2018-01-05 18:54:48 1965

原创 第二天

list相当于一个容器,里面的内容是可变的。用方括号存储元素,元素之间用逗号隔开,元素类型可以是任意的list = [1,'as','A']%s数据类型是字符型的占位符,用%连接rename = raw_input('请输入修改后的名字(%s):'%old_name)1.使用pop()函数(不填索引时默认弹出最后一个元素)# 取出列表中的数据,会把数据从列表中移除list_

2018-01-04 19:25:43 122

原创 第一天

#coding:utf-8   国际编码#单行注释'''多行注释'''input()函数输入数字/raw_input()函数输入字母for循环:for x in range(1,10)if... else/if... elif...elif......else...while循环:跳出break,import random / random.randint(0,100)

2018-01-04 19:13:00 113

转载 JSP中文件的上传与下载示例

转自:http://www.2cto.com/kf/201406/312486.html一、文件上传的原理1、文件上传的前提:a、form表单的method必须是postb、form表单的enctype必须是multipart/form-data(决定了POST请求方式,请求正文的数据类型)注意:当表单的enctype是multipart/form-data,传统的获取请求参数

2017-05-01 16:24:54 549

转载 synchronized(this)

记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。     一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。     二、然而,当一个线程访问

2016-08-23 17:30:20 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除