05 2017 档案

摘要:问题描述 一张圆桌上坐着5名哲学家,每两个哲学家之间的桌上摆一根筷子,桌子的中间是一碗米饭,如图2-10所示。哲学家们倾注毕生精力用于思考和进餐,哲学家在思考时,并不影响他人。只有当哲学家饥饿的时候,才试图拿起左、 右两根筷子(一根一根地拿起)。如果筷子已在他人手上,则需等待。饥饿的哲学家只有同时拿 阅读全文
posted @ 2017-05-27 11:24 mximo 阅读(274) 评论(0) 推荐(0)
摘要:操作系统的很多核心组件都是相互关联的,比如虚拟内存管理,物理内存管理,文件系统,缓存系统,IO,设备管理等等,都要放在一起来看才能从整体上理解各个模块到底是如何交互和工作的。这个系列的目的也就是从整体上来理解计算机底层硬件和操作系统的一些重要的组件是如何工作的,从而来指导应用层的开发。这篇讲讲文件系 阅读全文
posted @ 2017-05-27 09:55 mximo 阅读(286) 评论(0) 推荐(0)
摘要:系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境,但是计算机系统的各种硬件资源是有限的,因此为了保证每一个进程都能安全的执行。处理器设有两种模式:“用户模式”与“内核模式”。一些容易发生安全问题的操作都被限制在只有内核模式下才可以执行,例如I/O操作,修改基址寄存器内容 阅读全文
posted @ 2017-05-26 15:26 mximo 阅读(3444) 评论(0) 推荐(0)
摘要:1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 F 阅读全文
posted @ 2017-05-26 15:22 mximo 阅读(3194) 评论(0) 推荐(0)
摘要:简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。 HTTPS和HTTP的区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的 阅读全文
posted @ 2017-05-26 15:16 mximo 阅读(222) 评论(0) 推荐(0)
摘要:★ 先说一个通俗的例子 考虑到证书体系的相关知识比较枯燥、晦涩。俺先拿一个通俗的例子来说事儿。 ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办捏?常用的办法是带公司开的一张介绍信,在信中说:兹有张三先生前往贵 阅读全文
posted @ 2017-05-25 14:41 mximo 阅读(184) 评论(0) 推荐(0)
摘要:线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如 阅读全文
posted @ 2017-05-25 14:39 mximo 阅读(184) 评论(0) 推荐(0)
摘要:先来个概述,第二部分的画述才是厉害的。 Garbage collection(GC) 现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可以任意申请内存,但如同一把双刃剑,为大量内存泄露,悬空指针等bug埋下隐患。对于一个字 阅读全文
posted @ 2017-05-25 11:33 mximo 阅读(320) 评论(0) 推荐(0)
摘要:免费开源、跨平台、解释型语言、可移植性、可嵌入性。面向对象、可扩展性(部分可以用c++实现) 阅读全文
posted @ 2017-05-25 11:30 mximo 阅读(186) 评论(0) 推荐(0)
摘要:首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数 阅读全文
posted @ 2017-05-10 17:16 mximo 阅读(172) 评论(0) 推荐(0)
摘要:存储过程:存储过程就是编译好了的一些sql语句。1.存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。2. 可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。3.可 阅读全文
posted @ 2017-05-10 15:10 mximo 阅读(255) 评论(0) 推荐(0)
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句 阅读全文
posted @ 2017-05-10 11:23 mximo
摘要:MySQL监控 MySQL服务器硬件和OS(操作系统)调优: 1、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多。 2、全力避免 Swap 操作 — 交换(swapping)是从磁盘读取数据,所以会很慢。 3、使用电池供电的 阅读全文
posted @ 2017-05-10 10:29 mximo
摘要:转自:http://www.jincon.com/archives/120/ 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 阅读全文
posted @ 2017-05-10 10:09 mximo
摘要:相同点: 1.truncate和不带where子句的delete、以及drop都会删除表内的数据。 2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依 阅读全文
posted @ 2017-05-10 09:41 mximo
摘要:一、首先什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤 阅读全文
posted @ 2017-05-06 18:37 mximo 阅读(246) 评论(0) 推荐(0)
摘要:1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached 阅读全文
posted @ 2017-05-06 17:10 mximo
摘要:最近系统多次因对数据库锁使用不当引起问题,故从基础上学习一下mysql锁机制。基本概念:共享锁共享锁的代号是S,是Share的缩写,共享锁的锁粒度是行或者元组(多个行)。一个事务获取了共享锁之后,可以对锁定范围内的数据执行读操作。 排它锁排它锁的代号是X,是eXclusive的缩写,排它锁的粒度与共 阅读全文
posted @ 2017-05-06 16:56 mximo
摘要:一、首先什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤 阅读全文
posted @ 2017-05-06 16:54 mximo
摘要:1.只查看该进程:ps -ef | grep 113452.查看该进程打开的文件:lsof -p 113453.查看内存分配:lcat /proc/11345/maps4.查看堆栈:pstack 113455.查看发出的系统调用:strace -p 113456.查看调用库函数:ltrace -p 阅读全文
posted @ 2017-05-06 10:14 mximo 阅读(154) 评论(0) 推荐(0)
摘要:首先,协程实现可以通过send(None)启动,send(n)调用,close()关闭。 asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。 @asyncio.coroutin 阅读全文
posted @ 2017-05-05 15:25 mximo 阅读(551) 评论(0) 推荐(0)
摘要:在Linux中,我们可以使用select函数实现I/O端口的复用,传递给select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间。(我们可以等待无限长的时间,等待固 阅读全文
posted @ 2017-05-03 15:41 mximo
摘要:点击进入:https://launchpad.net/~damien-moore/+archive/ubuntu/codeblocks-stable To install Code::Blocks from this PPA, open a terminal and type: sudo add-a 阅读全文
posted @ 2017-05-02 21:24 mximo 阅读(303) 评论(0) 推荐(0)
摘要:临界区和互斥锁的区别1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用 临界区: 阅读全文
posted @ 2017-05-01 21:27 mximo 阅读(2099) 评论(0) 推荐(0)
摘要:主要是通过application函数来响应http请求,environ包含http请求的dict对象,start_response为http响应函数 hello.py server.py 阅读全文
posted @ 2017-05-01 20:19 mximo 阅读(130) 评论(0) 推荐(0)
摘要:Python的GIL是什么鬼,多线程性能究竟如何 前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程划上等号。本着不光要知其然,还要知其所以然的研究态度,博主搜集了各方面的资料,花了一周内几个小时的闲暇时间深入理解了下GIL,并归纳成此文, 阅读全文
posted @ 2017-05-01 17:28 mximo 阅读(378) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示