自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Serializability vs Linearizability

Serializability vs Linearizability

2016-01-06 23:52:38 418

原创 cache coherency VS memory consistency

一个很形象的比喻 Cache coherency is relevant in a multicore system where each processor has a private L1 cache and at least one other level is shared. Memory consistency is relevant whether there are caches

2015-12-29 22:50:46 487

原创 deadlock vs livelock vs Starvation

一个比较形象的比喻: Deadlock: “Me first, Me first” Livelock: ” You first, You first” Starvation: “Some first, Others never”Deadlock基本定义 In concurrent programming, a deadlock is a situation in which t

2015-12-26 15:53:32 778

原创 Lock-Free

什么是lock-free People often describe lock-free programming as programming without mutexes, which are also referred to as locks. That’s true, but it’s only part of the story. The generally accepted defi

2015-12-26 13:36:30 456

原创 thread safe vs reentrant

thread safe vs reentrant基本概念 通过阅读参考资料可以了解thread safe和reentrant的基本概念,并包括re-enrant 和 thread saft之间关系的举例 re-entrant but not thread saft的例子:https://en.wikipedia.org/wiki/Reentrancy_(computing)http://st

2015-12-24 23:50:04 280

原创 Linux下执行定时任务

记得老大说过这样的一句话,“程序员同样的事情不应该做三遍”,感觉颇有道理。但是如何不做同样的事情呢,应该就是靠脚本来搞定了。 由于某种需求,需要每个周末在网页上做个登记;这个功能我通过以下两个命令来解决:curlcrontab这里主要介绍一下我对crontab的使用:编辑自己的crontab文件crontab -e #编辑crontab文件crontab -l #查看我的crontab

2015-12-20 20:57:34 387

原创 i++与++i的区别

众所周知的区别i++和++i的区别应该是众所周知的,每一本c语言和c++的入门教程都会提及:对于i++,编译器会先取得i的值进行计算,然后再进行加1操作而对于++i,编译器会先进行加1操作,然后拿着加1之后的值进行计算本质区别参与运算的情况源代码 int i = 9; int a = i++; int b = ++i;汇编 movl $9, -20(%rbp)

2015-12-13 17:47:30 369

原创 RSS初体验

每天都需要关注各种各样的信息,例如:时事新闻,娱乐体育,技术论坛,数码科技等等吧。以前的方式是在浏览器上加入各种各样的书签,各种保存;移动端就是微信、微博、腾讯新闻、进入头条。总是根据十分的别扭,首当其冲的是以下几点:没有阅读信息的同步,最好手机端和pc端能够同步手机端总是在各种APP中切换,麻烦!!!微信和微博的阅读体验总是感觉不太好于是乎决定体验一下RSS,经过在网上的寻找,最后决定使用

2015-12-13 13:44:03 290

原创 如何请其他小组同事排查问题

在工作中难免会去同其他小组的成员打交道,即便是同一个团队的小组,在协作方面也达不到同一个小组内的层度(PS:同一小组成员天天厮混在一起,都快成基友了)。当真的需要其他小组来配合排查问题时,又该怎样做。小小的经验,分享一下:求助他人寻找 帮助前,先尽可能的确认问题不是出现在自己的小组内部只有当保证自己没有问题的前提下,再去寻找其他小组帮助当请别人排查问题后,一定要注意问题进度的跟踪问题是我自己的,

2015-11-21 14:45:10 447

原创 如何提问

对于新人来说,提问是在所难免的事情,但是如何提问又有着很强的技巧性;一个好的提问不仅可以节省双方的时间,也会使提问者和被提问者尽可能的收益。以下是我的经验之谈,如有不妥之处,不吝赐教。提问之前的准备找到提问点在哪里,让回答者能够很容易的理解你的问题提问点要尽可能的细化,越细化,回答者就越能够精确的回答问题最好能够给问题回答者提供问题答案的选项如何心里有一些答案,那则要继续思考,相应答案的后续工

2015-11-21 14:12:43 379

原创 class中static const int的使用

传统认识我们都知道,对于class 中static const int 的变量,可以在类中进行初始化,并省去外部的定义,向下面的这种方式;此时,编译,执行均是正确的。class test{ static const int tmp_int = 1; public: void print() { printf("%d", tmp_int); // foo(tmp_int);

2015-11-15 12:28:56 2994

原创 GCOV简易使用

在工作中如果涉及到代码的覆盖率,那么gcov是很好的选择,同时可以配合lcov和gcov。下面就对这个星期使用的gcov做个小小的总结GCOV概述

2015-11-01 14:49:34 557

原创 如何面对新需求

在工作中,老大突然给你了一个需求(bug也算在内),这时应该三思而后行,将问题想明白了在动手,否则后患无穷。这些道理非常简单,每个码农都知晓,但是在真正的工作中却往往容易被忽略分析任务的需求弄清需求是如何描述的: 如果你做的是一款数据库系统,又搞mysql兼容,那么一定要想清楚mysql的表现是什么样的。这可以查文档来获得,文档中描述不够清晰的,又可以通过mysql进行验证。理解需求: 需求

2015-10-31 12:50:19 566

原创 数据库索引

索引的分类顺序索引与散列索引顺序索引 基于值的顺序排序散列索引 基于值的平均分布到若干散列桶中。一个值所属的散列桶是由一个函数决定的。顺序索引的分类聚集索引和非聚集索引(辅助索引) 1. 聚集索引 如果包含记录的文件按照某个搜索码指定的顺序排序,那么该搜索码对应的索引称为聚集索引。 2. 非聚集索引(辅助索引) 搜索码指定的顺序与文件中记录的物理顺序不同的索引称为非聚集索引

2015-04-19 12:08:36 320

原创 Emacs添加行号

目前最流行的方法是用linum.el文件,在网上下载linum.el后将linum.el拷贝到emacs的site-lisp目录下,完成后在用户主目录里新建一个文件,文件名为: .emacs,在.emacs文件里添加如下内容: (add-to-list ‘load-path “/usr/share/emacs/site-lisp”) (require ‘linum) (global-linum

2015-04-15 23:06:04 512

转载 Hints详解

在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用。基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从

2015-04-15 19:54:40 1171

转载 MySQL 当记录不存在时插入,当记录存在时更新

第一种: 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: INSERTINTOclients (client_id,client_name,client_type) SELECTsupplier_id,supplier_name,’advertising’ FROMsuppliers WHEREnotexists(select*

2015-04-15 19:42:26 454

转载 相关子查询 和 非相关子查询

我们先来看两个表的定义:CREATE TABLE USER ( USERID INTEGER NOT NULL,#—用户ID COMPANYID INTEGER,#—公司ID TELNO VARCHAR(12)#—用户电话 ); CREATE TABLE COMPANY ( COMPANYID INTEGER NOT NULL,#—公司ID TELNO VARCHAR(12)#—公

2015-04-15 09:45:15 801

转载 用Option当作Meta键

在MacBook的Terminal中远程登陆了其他的Linux机器,然后运行Emacs,发现M-x键失效,原来需要绑定一下。鼠标在Terminal窗口左上方悬停,等待出现顶层菜单,选择:Terminal/Preferences/Keyboard,勾选“Use Option As Meta Key”好了,可以用Option当作Meta键了。

2015-04-14 22:24:46 1163

转载 exists 与 in

exists做为where 条件时,是先对where 前的主查询询进行查询,然后用主查询的结果一个一个的代入exists的查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出比如如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是一对多的关系 A.ID

2015-04-14 15:34:36 339

原创 网站总结

SQL http://blog.csdn.net/hudashi/article/details/7451584

2015-04-14 15:33:38 286

原创 SQL基本语句

基本模式定义 1.createcreate table r (A1 D1, A2 D2, ... An Dn <完整性约束1> <完整性约束2> ...);2.alteralter table r add A D;alter table r drop A D;3.dropdrop table r;4.descdesc r;#查看表结构

2015-04-11 11:27:36 291

空空如也

空空如也

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

TA关注的人

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