摘要:
1.什么是POJOPOJO的名称有多种,pure old java object、plain ordinary java object等。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。POCO的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样。所以POCO的解释就是“Plain Old C# Object”。2.为什么会有POJO?主要 阅读全文
摘要:
异常形式:Class org.apache.struts2.json.JSONWriter can not access a member of *或是Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*第一种是struct2.1.8与json结合时的异常,第二种是struct2.1.6与json结合的异常。具体:Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver 阅读全文
摘要:
1、管理方式不同:栈(stack)由编译器管理;堆(heap)由程序员管理。2、空间大小不同:win32中,堆(heap)可达4G;VC中栈默认1M(可以修改)。3、碎片问题:堆(heap)易产生;栈(stack)不会。4、生长方向不同:堆(heap)生长方向是向上的,也就是向着内存增加的方向;栈(stack)相反。5、分配方式不同:堆(heap)是动态的,没有静态的堆;栈(stack)有两种:动态和静态。6、分配效率不同:栈(stack),系统提供底层支持,有专门的寄存器存放栈地址,效率高;堆(heap),由库函数提供支持,效率底。一般认为在c中分为这几个存储区1栈 - 有编译器自动分配释放 阅读全文
摘要:
使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的。这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类型的二进制存储方式不一样,读出的数据就是错误的。所以,为求稳妥,在使用printf,fprintf,scanf,fscanf在类型不一致时还是手动转化吧! printf("%f\n",1.3); printf("%d %f\n",1.3,1.3);打印结果:1.300000-858993459 -92559653408872784000000000000000 阅读全文
摘要:
指向字符串常量的指针和字符串数组在使用时是有区别的。看下面两个函数//执行通过,返回“hello world”char *PtrChar(){ char *pc = "hello world"; return *r;}//执行错误,不能返回局部变量char *ArrChar(){ char ac[] = "hello world"; return ac;}出现上面的原因在于指针pc指向的字符串“hello world”存放在文字常量区,而数组ac中存放的字符串存放在栈区,当函数结束时,栈中的数据自动释放。再看下面:char* r = "hell 阅读全文
摘要:
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE 'utf8_general_ci';2、建表的时候 CREATE TABLE `database_user` ( 阅读全文
摘要:
语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0<< 左移 用来将一个 阅读全文
摘要:
CRect 就是一个普通的数据结构(类?)HRGN是资源句柄(由操作系统管理,数量有限)1 构造出异形HRGN(这个HRGN必须有效,并且不为空)2 SetWindowRgnCRect顾名思义,只是个矩形HRGN是区域,有各种api函数可以创建任意形状的区域创建区域后,使用SetWindowRgn改变窗体区域不规则窗口在Windows下有两种方式可以实现,一种是用Region,一种是用Layered Window.看样子你用的是第一种.用这种方式,你只要生成一个适合的Region并SetWindowRgn就可以了.你说用CRgn是对的,而直接使用HRGN不对,那应该是你用的不对.再仔细检查一下 阅读全文
摘要:
define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。宏的定义在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串 阅读全文
摘要:
ALTERNATE WINDING参数iMode:其有两种填充模式:ALTERNATE和WINDING;在默认情况下为ALTERNATE; 模式ALTERNATE:其从封闭区域中的一个点向无穷远处水平画一条射线,只有当该射线穿越奇数条边框线时,封闭区域才被填充,如为偶数,则不填充该区域; 模式WINDING:方法一样,如为奇数,填充该区域;如为偶数则要根据边框线的方向来判断:如果穿过的边框线在不同方向的边框线数目相等,则不填充,如不等,则填充。一直看不明白,直到看见原版的,才知道翻译有问题:at first, the difference between alternate and win.. 阅读全文