- 浏览: 23154 次
-
最新评论
文章列表
发表于2013-08-29 09:27| 25337次阅读| 来源《程序员》| 79 条评论| 作者杨光辉
《程序员》杂志2013年9月刊特别策划互联网系统架构技术架构性能系统
摘要:多终端接入、开放平台给互联网带来了前所未有的用户数量和访问规模,信息之多、传播速度之快,是传统网站难以想象的。本文将从发展演进的角度,解读高性能互联网系统架构。
多终端接入、开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快、传播范围之广是传统网站难以想象的,海量数据的计算存储也一直是近年互联网领域的热点。本文将从发展演进的层面探讨 ...
一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库。功能很不错。下面记录下它的编译和安装过程。
log4cxx的官方下载地址是http://logging.apache.org/log4cxx/index.html,我用的是0.10.0版本。
为了编译它,还需要两个辅助库,apr,和apr-util,可以在这里下载http://apr.apache.org/download.cgi,我用的版本分别是apr-1.3.8.tar.gz和apr-util-1.3.9.tar.gz。
第一步安装apr-1.3.8,顺序不能错,它必须 ...
http://www.it165.net/os/html/201209/3238.html
log4cxx在linux下的编译使用
Linux系统编译及测试l 最近在linux下使用log4cxx库,按照其官方文档提供的方法来进行编译,不能成功,又利用google搜索了好几个中文博客上讲述在linux下编译使用log4cxx库的方法,依然不能成功,在这里我奉劝写博客或是转载博客指导人的朋友们,首先您起码得自己按照您写的或是转载的编译通过了再发表文章吧,其中有几处明显的低级错误,另外,建议您把你编译时的具体的linux系统及版本附带上,这样才能够成一条完整的信息链,一定要对自己或是转载 ...
最近把cpp代码从开发机放到编译机去,遇到了不少路径问题。
安装boost的时候,其实很简单
wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz
tar -xzvf boost_1_54_0.tar.gz
cd boost_1_54_0
./bootstrap.sh --prefix=/usr/local
./b2 install --with=all
boost库被安装在/usr/local/lib下面
编译时
g++ syslogem.cpp -lboost_system
出现
...
Boost ASIO proactor 浅析前情提要:Boost asio 的socket的异步非阻塞模式才有的是proactor模式,当IO操作介绍后回调相应的处理函数。ASIO在Linux平台下的实现基于epoll,但是epoll只支持reactor模式,ASIO通过封装在epoll上实现了proactor。提到ASIO proactor,ASIO中的所有异步操作都是基于io_service实现的,io_service是ASIO中的任务队列,并且他负责调用epoll_wait等待IO事件到来,对io_service的实现参加前边的blog:http://www.cnblogs.com/zhi ...
首先让我们对异步 I/O 做一些基本的了解。异步 I/O 模型大体上可以分为两种,反应式( Reactive )模型和前摄式( Proactive )模型:
传统的 select / epoll / kqueue 模型,以及 Java NIO 模型,都是典型的反应式模型,即应用代码对 I/O 描 ...
public OrderDataBaseUtil(Context ctx, String tbname, String cols[], String cons[]) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
// super(context, name, factory, version);
/**
* context to use to open or create the database
* name of the database file, or null for an in-memory d ...
2011-03-04 12:49 SQLite判断表是否存在 今天刚好用到sqlite来存放一些数据,但是需要检测表是否已经存在;
其实很简单,只要查看sqlite_master表中是否存在这条数据就可以知道了
SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tableName'
android判断sqlite中数据库的某个表是否存在 final String CREATE_BASE_TABLE ="create table if not exists login (" + "i ...
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
setContentView(R.layout.activity_main);这句是设置和activity对应布局文件的
你要让一个Activity对应一个布局文件就在该Ac ...
DDMS工作机制
DDMS全称Dalvik Debug Monitor Service.DDMS为IDE和emultor及真正的android设备架起来了一座桥梁,Android DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的
1)每一个Android应用都运行在一个Dalvik虚拟机实例里,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制,内存分配和管理,Mutex等等都是依赖底层操作系统而实现的。所有Android应用的线程都对应一个Linux线程。
2)DDMS启动时会与ADB之间建立一个device monitoring ser ...
Android 多线程:使用Thread和Handler
您的评价: 收藏该经验
文件夹 请选择... ------------- 新增文件夹...
新增文件夹
标签
(多个标签用逗号分隔)
当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。
比如说从网上获取一个图片,在一个ImageView中将其显示出来,这种涉及到网络操作的程序一般都是需 ...
原文:http://blog.csdn.net/shallwake/article/details/5265287
首先,介绍几种常见的I/O模型及其区别,如下:
•blocking I/O
•nonblocking I/O
•I/O multiplexing (select and poll)
•signal driven I/O (SIGIO)
•asynchronous I/O (the POSIX aio_functions)
blocking I/O ...
anychat 跨平台的音视频 sdk (client/server), 手机测试效果很好
AnyChat,跨平台的音视频解决方案
支持一对一、多对多的实时音视频交互
P2P技术、文字聊天、文件传输、数据通道、音视频录制
佰锐科技
linux c/c++ 编辑器 source insight / vs2008 / eclipse