Spring Context

XmlBeanFactory  引用资源 用XmlBeanFactory(不能实现多个文件相互引用)        Resource resource = new ClassPathResource("appcontext.xml"); BeanFactory factor...

2014-05-12 09:18:15

阅读数 481

评论数 0

linux下core文件调试方法

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 1.core文件的生成开关和大小限制  (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表...

2013-11-05 21:41:20

阅读数 283

评论数 0

程序内存分布

在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有...

2013-11-05 12:16:52

阅读数 368

评论数 0

TCP非阻塞accept和非阻塞connect

非阻塞accept     当一个已完成的连接准备好被accept的时候,select会把监听socket标记为可读。因此,如果用select等待外来的连接时,应该不需要把监听socket设置为非阻塞模式,因为如果select告诉我们连接已经就绪,accept就不应该被阻塞。不过这样做的时候有一...

2013-10-15 10:29:32

阅读数 523

评论数 0

socketpair 进程间传递描述符

我们知道父进程在子进程被fork出来之前打开的文件描述符是能被子进程继承下来的,但是一旦子进程已经创建后,父进程打开的文件描述符要怎样才能传递给子进程呢?Unix提供相应的技术来满足这一需求,这就是同一台主机上进程间的文件描述符传递,很美妙而且强大的技术。     想象一下我们试图实现一个服务器...

2013-10-15 10:22:18

阅读数 643

评论数 0

Linux用户空间与内核空间

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU...

2013-10-09 23:55:53

阅读数 649

评论数 0

操作系统为什么要分用户态和内核态

在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。如果所有的程序都能使用这些指令,那么你的系统一天死机n回就不足为奇了。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会...

2013-10-09 19:23:42

阅读数 435

评论数 0

非阻塞(nonblock)socket接口会否出现EINTR错误

对于socket接口(指connect/send/recv/accept..等等后面不重复,不包括不能设置非阻塞的如select),在阻塞模式下有可能因为发生信号,返回EINTR错误,由用户做重试或终止。  但是,在非阻塞模式下,是否出现这种错误呢?  对此,重温了系统调用、信号、sock...

2013-10-09 16:29:34

阅读数 488

评论数 0

c++中的explicit关键字及隐式类型转换

c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢? 如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的...

2013-10-07 16:12:35

阅读数 385

评论数 0

C++隐式类型转换 operator T

对于operator关健字用于运算符重载这我们都知道,其实operator还有另外一种作用:强制类型转换。上一周为了对应项目中一个问题,同事帮助写了一个类,使用到了operator的强制类型转换作用,后来source review的时候几个leader也不明白其作用,问我是怎么回事,当时我也只是一...

2013-10-07 15:59:15

阅读数 685

评论数 0

常量折叠 Constant folding

常量折叠:在编译时期用常量的具体取值代替所有用到常量的地方。 例如 const int a = 8; cout  经过编译器扫描后,变为: cout  常量一般分为两种:可以常量折叠的常量和不可以常量折叠的常量。下面具个不可以常量折叠的常量的例子: int test(){ return 8; }...

2013-10-06 20:32:16

阅读数 1019

评论数 0

c++有关编译期和运行期的访问

先要引用一一段,相信不少人看过:看这样一段代码。 #include using namespace std; class A{ public: virtual void f(){cout<<"A"<<endl;} }...

2013-10-05 12:00:51

阅读数 306

评论数 0

虚析构函数的一点理解

千万不要将析构函数和虚函数混淆起来。 不管析构函数是不是虚函数,将析构函数设为虚函数是希望在通过基类指针删除派生类对象时调用派生类的析构函数。 如果析构函数不是虚函数,派生类对象没有Vptr,编译器会调用基类的析构函数(在编译时就确定了)。   这样,用户在派生类析构函数中填写的代码就不...

2013-10-05 11:00:42

阅读数 280

评论数 0

访问控制是在编译期间处理

该题写的是考查应聘者对于C++中的存取权限的理解,但经我稍微的分析,觉得不完全如是,现把它公开出来,希望各位能够畅所欲言,发表自己的看法 有类A,它被定义在a.h中,A有private成员i,如下: class A { private: int i; // ... }; A的实现...

2013-10-05 10:52:11

阅读数 439

评论数 0

指针轻松破除访问属性

例1: #include using namespace std; class B{ int x; int y; public: B():x(1),y(2){ } }; int main() { B b; int *p=reinterpret_cast(&...

2013-10-05 09:58:17

阅读数 372

评论数 0

c++模板函数声明定义分离编译错误详解

今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下:   ? /////  Vec.h   #ifndef GUARD_VEC_H #define GUARD_VEC_H...

2013-10-04 16:31:30

阅读数 427

评论数 0

类与类之间的关系图(Class Diagram,UML图)

一、简介 二、类的构成 三、类之间的关系(Relationship) 1、单向关联 2、双向关联 3、自身关联 4、多维关联(N-ary Association) 5、泛化(Generalization) 6、依赖(Dependency) 7、聚合(Aggregation) ...

2013-10-04 13:10:43

阅读数 419

评论数 0

SYN Cookie原理及其在Linux内核中的实现

概述 在目前以IPv4为支撑的网络协议上搭建的网络环境中,SYN Flood是一种非常危险而常见的DoS攻击方式。到目前为止,能够有效防范SYN Flood攻击的手段并不多,而SYN Cookie就是其中最著名的一种。SYN Cookie原理由D. J. Bernstain和 Eric Schen...

2013-09-30 14:36:06

阅读数 1167

评论数 0

套接字类型 - socket type

1、数据流套接字(Stream Socket) 数据流式是一种面向连接的Socket,针对于面向连接的TCP服务应用,使用使用比较高质量的TCP协议。它有以下一些特点: (1) TCP提供可靠的连接。当TCP向另外一端发送数据时,它要求对方返回一个确认回答。如果没有收到确认,则会等待一...

2013-09-30 13:48:53

阅读数 626

评论数 0

poj 2449 Remmarguts' Date(第K短路 A*)

题意:大意是 有N个station 要求从s点到t点 的第k短路 (不过我看题意说的好像是从t到s 可能是出题人写错了) 思路: 这是一道 经典的第k短路算法,只要你会就能过。PS:这也是我第一k短路题 学到了很多新的东西 因为没学过A* 算法 所以在网上找了好久,但讲了都不是清楚 解题报告...

2013-09-29 21:38:37

阅读数 407

评论数 0

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