自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DKarthas的专栏

我的技术blog

  • 博客(57)
  • 收藏
  • 关注

转载 面向海量服务的设计原则和策略总结

<br />      互联网服务的特点就是面向海量级的用户,面向海量级的用户如何提供稳定的服务呢?这里,对这几年的一些经验积累和平时接触的一些理念做一个总结。<br />      一、原则<br />      1.Web服务的CAP原理<br />      CAP指的是三个要素:一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP原理指的是这三个要素最多只能同时实现两点,不可能三者兼顾,对于海量级服务,一般这是一条常记心中

2010-11-18 16:48:00 2495

转载 最全的HTTP头部信息分析

最全的HTTP头部信息分析 HTTP 头部解释1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。 2. Accept-Charset:   浏览器申明自己接收的字符集   Accept-Encoding:  浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法  (g

2010-05-11 19:08:00 5243

转载 MySQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询缓存

2010-04-23 15:28:00 2439

转载 可伸缩性最佳实践:来自eBay的经验

在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消 耗

2010-04-23 15:19:00 2409

转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值 2、阻塞模式与非阻塞模式下write的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:返回值 3、阻塞模式下read返回值 非阻塞模式下read返回值 0表示接收到数据。 这

2010-04-16 15:10:00 4400

原创 突然发现,已经好久没更新blog了...

加油。

2010-04-06 11:43:00 2697

原创 nshead read的错误类型。

超时的话,会返回timeout错误,如果返回interrupted system call则表明select成功,但是read的时候返回0,两种原因:1,对端关闭连接,client长连接,server短连接就是这样。2,server端写了一些长度为0的栋栋。

2009-03-25 15:33:00 4155

原创 链接优先选择动态链接库so

makefile里面使用-lmemcached,没想到却使用了memcached.so.2。而不是想象中的.a库。原来连接的时候优先选择动态库。

2009-02-05 17:50:00 2859

原创 memcached c api 真郁闷。

 如果server没有启动,或者启动有问题,api在连接的时候报的错是25:SYSTEM ERROR。调了好久,还以为是调用出了问题。  

2009-02-05 16:01:00 3753

原创 记我的google电面

电话面试很不爽,感觉有些问题很难说的清楚。一开始是一个自我介绍,当然是中午的了,简单的说了两句,大约半分钟的意思,然后就开始说项目了。他让我说一个感觉不错的,我就说我们的垃圾邮件那个了。感觉他兴趣不大,简单介绍,其中问了写简单问题,还没说到重点呢,他就不让继续说了。然后就是我这次面试最大的败笔了。 电话面试里面竟然让写完整的程序,然后一句一句念给他听。靠,真是恶心,本来及其简单的程序却没有写好。我

2007-11-05 19:39:00 4875 1

原创 记我的百度三面

真是验证了一句话,面试时,你自我感觉良好的未必是好事,让你感觉很郁闷的也未必是坏事。二面刚结束的当天晚上就接到了三面的通知,真的是意料之外的事,二面后我都基本上放弃了。没想到竟然得到了人家的肯定。电话打来,让我明天下午两点老地方见。还要我推荐几个人,王俊刚好在旁边,叫来让他接电话,当场拿到了明天早上面试的通知。真是帮了他大忙了,不请我吃饭都说不过去啊。也不确定这第三面到底是什么形式,没办法

2007-11-05 19:35:00 10013 1

原创 记我的百度二面

  百度办事还真是有效率,白天刚第一面结束,晚上就打电话来要明天下午就二面了。晚上就好好睡了一觉,睡的还算安稳,起的不早不晚,来到实验室想想该准备些什么,总结上面的经验,查了下linux命令grep,find,后来证明这些真的不重要。又看了下多线程,事实证明,这个倒还是明智的,接下来,就看了看字符串匹配的算法,刘景的书真是烂,代码都是错的,根本看不懂,也许是我不够冷静了。也就大致看了下KMP ,B

2007-11-05 19:32:00 12523 3

原创 记我的第一次面试

本想正式面试自己想去的公司前先找其他的公司练练,没想到我的第一场面试就碰上了baidu。笔试了一天后就来了电话了,可惜我没接到,等我打回去,就说是要把我安排到了明天了。感觉挺好的,没接到电话,却因此推迟了一天,让我有点时间准备一下。开始忙了,先看了看百度面经,还算是有点用,按照上面说的,我能在短时间能补上的也就是多线程、socket、多进程、数据库、linux了,于是就疯狂的上网查,先看了

2007-11-05 19:30:00 3432 1

原创 c语言中的时间处理函数集合

首先是几个struct: time_t 整形数,表示从1970年到现在的秒数。另一种是tm:           struct tm {                      int     tm_sec;         /* seconds */                      int     tm_min;         /* minutes */        

2007-10-10 17:34:00 3578

原创 set and multiset

Associative ContainerAn Associative Container is a variable-sized Container that supports efficient retrieval of elements (values) based on keys. It supports insertion and removal of elements, but

2007-09-09 15:46:00 2773

原创 vector and bvector.

A bit_vector is essentially a vector: it is a Sequence that has the same interface as vector. The main difference is that bit_vector is optimized for space efficiency. A vector always requires at le

2007-09-09 14:36:00 2763

原创 difference between slist and list.

The main difference between slist and list is that lists iterators are bidirectional iterators, while slists iterators are forward iterators. This means that slist is less versatile than list; fre

2007-09-09 14:29:00 2619

原创 synmantics of stl iterator invalidation .

 deque:    The semantics of iterator invalidation for deque is as follows. Insert (including push_front and push_back) invalidates all iterators that refer to a deque. Erase in the middle of a dequ

2007-09-09 13:53:00 2659

转载 解析“extern”

 、 声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件: //A.cpp int i

2007-09-04 19:03:00 2407

转载 面试英语

面试英语-应聘理由篇 1、Why are you interested in working for our company?  为什么有兴趣在我们公司工作? 2、Because your company has a good sales record.      因为你们公司有良好的销售记录 。 3、Because your operations are global, so I feel I

2007-09-02 19:55:00 3020

原创 求职路上英语面试问答大全

想找一份满意的工作吗?面试中面对外国老板连珠炮似的提问,有没有觉得心慌意乱、无所适从?求职过程中面试尤为重要,回答问题,如果能简明扼要,真诚中肯,合乎老外口味,那么录取机会必定大大增加。当然,有的问题,也要轻描淡写,以免言多必失。本篇摘录了若干面试中出现频率较高的问题及精彩回答,希望能在您求职路上助您一臂之力。Q: Can you sell yourself in two minutes? G

2007-09-02 18:56:00 1482

转载 RMI简单实例

分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件。在应用系统框架的支撑下,开发者可以将软件功能封装为更易管理和使用的对象,这些对象可以跨越不同的软、硬件平台进行互操作。目前,分布式互操作标准主要有Microsoft的COM/DCOM标准、Sun公司的Java RMI标准和OMG组织的CORBA标准。    Java RMI简介    远程方法调用(RMI,Remot

2007-08-21 11:01:00 1017

转载 RMI远程方法调用讲解教程

1、RMI概述RMI(Remote Method Invocation)RMI是分布式对象软件包,它简化了在多台计算机上的JAVA应用之间的通信。必须在jdk1.1以上RMI用到的类java.rmi.Remote所有可以被远程调用的对象都必须实现该接口java.rmi.server.UnicastRemoteObject所有可以被远程调用的对象都必须扩展该类什么是RMI远程方法调用是一种计算机之间

2007-08-21 10:33:00 1035

原创 sqlplus 远程连接oracle语法

1、sqlplus  asicdb/asicdb@"(DESCRIPTION  =(ADDRESS_LIST  =(ADDRESS  =  (PROTOCOL  =  TCP)(HOST  =  192.168.1.201)(PORT  =  1521))  )(CONNECT_DATA  =  (SID  =  orcl)))"  2、sqlplus usr/pwd@//host:port/si

2007-07-17 23:28:00 9195 1

原创 thingking in java 读书笔记---对象集合和容器

 对象集合:数组初始化:聚集初始化:Weeble [] d ={new Weeble(),new Weeble(),new Weeble()}; //实际上是隐式的调用new在堆上建立数组。动态的聚集初始化:f(new Weeble []{new Weeble(),new Weeble()});//只能直接作为参数传递。 数组可以直接存储基本数据类型,其他的容器不能。数

2007-05-12 21:39:00 1152

原创 thingking in java 读书笔记---RTTI

 RTTI,看完了这一章,我才算是明白了java的强大之处,运行时刻类型检查,我想MFC中对RTTI的实现应该是模仿的java吧,至少它们的机理是一样的,不过java中RTTI功能工强大一些。RTTI可以分两种类型,一种就是传统的RTTI,它假定我们在编译期就知道所有的类型,基本上多数的应用程序都属于这一种。另外一种更牛,是reflection发射机制,它能在我们的程序中没有这个类的定义源

2007-05-11 21:35:00 1472

原创 thingking in java 读书笔记---异常处理

 抛出异常:throw new Exception e (“description”); 可以不带参数。异常说明:public void f () throws aException,bException{} java的标准异常:最上层的基类是Throwable,下面分Error表示你不必关心的编译期和系统错误,Exception是可以抛出的异常的基类。Exception分为Run

2007-05-10 22:59:00 1067

原创 thingking in java 读书笔记----接口和内部类

 接口的使用,可以模仿c++中的多重继承,有一个限制,一个类只能继承一个类,却可以实现多个接口,用implements关键字。接口中可以有变量,但都默认是public static final的。所以可以用作c++中的enum。 用作enum时候,使用方法是把它的packet import进来,然后直接用 接口的名字.变量 来引用。如:interface month{      

2007-05-10 21:21:00 1169

原创 thingking in java 读书笔记---复用和多态

ri protected 访问权限同时也具备包访问权限,同一个包内的其他类也可以访问,不过包外的其他类不能访问,除非是继承这个类。super 关键字,指的是这个类的父类,可以显示的调用父类中的函数,在子类中重写这个函数时有用。一般调用这个类的静态函数的时候,用不着super,直接用类的名字就可以了。子类中的构造器将首先(第一句)调用父类的构造器,如果你不指定,那么就会调用父类的缺省构造

2007-05-09 22:43:00 975

原创 thingking in java 读书笔记---初始化和清除

 函数重载:对于基本的数据类型的重载,能自动从一个较小的类型提升为一个较大的类型,但反过来的话就需要手动强制转换。如果你的类没有构造器,编译器就会给你一个缺省的没有参数的构造器,但是如果你有自己的构造器,编译器就不会给你缺省的。跟c++中一样。this的用法与c++中一样,在一些时候可以用来消除歧议,但是多了一种用法,就是在构造器中调用构造器,例如:class A {     

2007-04-24 19:32:00 1222

原创 google 笔试感悟

感觉很郁闷,考试好像完全不在状态,本来说是7.30考试,却托到了8.30,心里有点紧张,做题的过程中曾有要放弃的想法,最后现在已知的是错了一个选择题, 写程序的题忘记了一个细节地方,在遍历的时候,忘了给遍历过的结点mark,真是不应该。最后一个题没办法,当时硬是没想出来,还是水平问题,总体说来得到了些经验,也算没 白花那100人民币。说说做错的题吧。选择:  int f(int

2007-04-24 15:59:00 2390

原创 thingking in java 读书笔记---控制程序流

  所有的运算符只能操作基本数据类型,例外的是:=,==,!=。它们能操作所有对象,除此外,String能使用+,+=。=:=有些东西需要说明一下,a=b,这种,当a,b都是基本变量类型的时候,其作用跟c++中的一样,是值拷贝,但是当a,b都是对象的引用的时候,这种赋值只是引用的改变,就像别名一样。结果两个引用都指向同一个对象上。而各自的对象还存在原来的堆中,只是如果有的对象没有引用指向它,就

2007-04-19 21:53:00 1118

转载 你会用sizeof吗?(vc篇)

 本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用sizeof会出现什么结果呢?sizeof(MyS

2007-04-19 14:19:00 833

原创 java中模拟c中对sizeof的实现

 这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字。实现的想法是这样的:java.lang.Runtime类中有一些简单的能涉及到内存管理的函数:Every Java application has a single instance of class Runtime that allo

2007-04-19 14:16:00 2413

原创 ant简介

Ant 是一个纯Java工具,所以,要运行它,首先需要安装一个Java虚拟机(JVM)。你可能已经安装了一个JVM,但是如果还没有,你可以从 http://java.sun.com/j2se/1.4/download.html 上面免费下载一个。然后,从 http://www.apache.org/dist/jakarta/jakarta-ant/release/v1.4.1/bin/ 下载Ant

2007-04-18 20:59:00 1132

原创 thingking in java 读书笔记----一切都是对象

对象都存储在堆中,用引用来操作对象,例如String s;对象还不存在,只是引用已经存在了。其初始化一般用new。一般定义引用的同时初始化:String s=new String("abc");String类有一个特殊的地方,可以直接用下面的方法初始化:String s="abc"。性质是一样的。对象的存贮:对象都是动态创建的。其本身都存储在堆上,而其引用都存储在堆栈里

2007-04-18 20:44:00 1017

原创 thingking in java 读书笔记---对象引论

c++ 使用virtual关键字来实现动态邦定(后期邦定),而在java中,动态绑定是默认的。不需要virtual关键字来实现多态性。第一章里面有一段程序。Circle c = new Circle();Triangle t = new Triangle();Line l = new Line();doStuff(c);doStuff(t);doStuff(l);也显示出了java

2007-04-17 19:57:00 1012

原创 thinking in c++读书笔记------introduction to templates

container、templates、iterator、algorithm相互联系,是构造stl的基础。内容太多,没有需要特别要提的地方,想要快速的复习,主需要看看这一章最后的一个例子就可以了,基本上涵盖了所有的内容。就是why iterators?一节里面的例子。 p795

2007-03-29 12:23:00 859

原创 thinking in c++读书笔记-------多态与虚函数

虚函数我就不介绍了,其实现的关键就在虚函数表VTABLE,每个类(前提是有虚函数)一个,每个对象有一个指向虚函数的指针VPTR。如图: 这里要说的是:如果类中有纯虚函数,这个类也就称为抽象类,抽象类的对象在作为一个函数的参数时,不能用值传递,只能用地址或者引用.原因我认为时这样的,如果采用值传递,在拷贝的过程中,如果传入的是基类的派生类,那么可能有数据丢失,产生切片,不过在函数里面

2007-03-16 16:19:00 1052

原创 thinking in c++读书笔记---------继承与组合

名字隐藏: class A...{public :   void func ();   void func (int );   float func (float);    }class B: public class A ...{public :int func (double);} 在上面这段程序中,只是普通的继承,B类中,有一个函数func,这个函数将掩盖基类A中所有同名

2007-03-16 15:58:00 908

空空如也

空空如也

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

TA关注的人

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