01 2011 档案
摘要:最近把lightportal代码down下来一份,运行了一把,看的不多,但是被系统中一个小小的功能点吸引住了,感叹作者优秀的设计能力的同时,也在反思自己设计上的问题。 先来看下这个小小小小的东东是什么,做过项目的同学都知道,有些资源是需要在系统加载时就要被启动起来的,而且这些东西只需要启动一次,运行时程序只要直接读取就可以了,在j2ee中,一般都用Listener来实现(实现ServletContextListener)将初始化操作写在对应的contextInitialized方法中,大家常用的用于启动Spring容器的org.springframework.web.context.C...
阅读全文
摘要:看了一些设计模式的书籍和文章,结合先前做过的一个真实的项目,对责任链模式作个小结 1.项目需求和背景 先前做过一个人力资源管理的产品,产品中有部分功能就是要实现员工请假审批流程,员工提交请假申请比较简单,无非就是填写一些请假单的基本信息,如请假的起至日期,请假类型(年假,病假),请假的天数,但是系统中的审批流程却比较纠结,审批的流程分为业务小组长审批->部门经理审批->副总裁审批->总裁审批->流程结束,就这样审批一层一层的传递下去,小组长只能审核1天以内的请假,部门经理能审批3天以下的请假,副总裁能审批5天以下的请假,总裁可以审批所有的请假条 2.BadPractic
阅读全文
摘要:首先时类中的的不同类型的数据分配例如:class a{ int a1; double a2;}类的声明时不分配内存,当生成对象才分给内存。一般int为4个字节,double为8个字节,但这里如果定义,开辟内存,系统会给16个字节空间,这里存在一个虚拟的问题,就是int要实现和double内存的对齐。又如:int * p = new int(5);这里p是一个指针,此时系统将p放在栈中,在堆中开辟一个5*int的空间,此时p指向这个空间。
阅读全文
摘要:其实scanf函数也可完成这样的功能,而且还更强大. 这里主要介绍一个参数,%[ ] ,这个参数的意义是读入一个字符集合. [ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符, 比如 %[A-Z] 是输入大写字母,一旦遇到不在此集合的字符便停止. 如果集合的第一个字符是" ^ ", 这说明读取不在" ^ " 后面集合的字符,既遇到" ^ " 后面集合的字符便停止.注意此时读入的字符串是可以含有空格的.Eg. 输入一个字符串, 这个字符串只含有小写字符.遇到第一个不是小写字符时停止. scanf("%[a-z],
阅读全文
摘要:c++中string可以通过string.length()来获得string的长度,当对与一个数组来说就不是这么容易了。如一个int型的数组:int a[] = {1,2,3,5,6,9};如何获得呢?可以通过sizeof的特殊用法,都知道sizeof()是获得所占的空间的大小,所以可以:int length = sizeof(a)/sizeof(int);来得到a数组的元素个数。1.vector 的数据的存入和输出:#include<stdio.h>#include<vector>#include <iostream>using namespace std
阅读全文
摘要:1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的16位CPU中的寄存器相一致。4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息.寄存器AX和AL通常称为累加器(Accumula
阅读全文
摘要:今天在用java编写图片上传浏览器的时候,我发现了一个小小的细节,JTextField的返回值是string,开始我判断是否为空,用的是if(this.txt_name.getText()==null){}但后来总是达不到预期的效果,经过反复测试,很巧合让我看到了null好像有问题,从帮助文档上只能看到getText()返回的是string,按照平时所想,此处用null没什么不恰当(估计是惯性思维),但后来仔细想想还是有区别的,返回是string类型说明有返回值,而null指的是空没有引用,相当与什么也没有,而""有空间没东西。还有在判断string类型是否为"&
阅读全文
摘要:c++中string可以通过string.length()来获得string的长度,当对与一个数组来说就不是这么容易了。如一个int型的数组:int a[] = {1,2,3,5,6,9};如何获得呢?可以通过sizeof的特殊用法,都知道sizeof()是获得所占的空间的大小,所以可以:int length = sizeof(a)/sizeof(int);来得到a数组的元素个数。1.vector 的数据的存入和输出:#include<stdio.h>#include<vector>#include <iostream>using namespace std
阅读全文
摘要:汇编中数据段的定义中经常用到:buffer db 9,0,9 dup('$')来定义一个缓冲区来存放数据,这里的buffer如何理解呢?首先我们了解下这句话的意思,buffer就是一个名字,相当于我们高级语言中的数组的名字,它是这段空间的首地址,(这里和数组很相似)。db:Define Byte是一个类型,意思是说这个buffer的单元形式是字节的,8位。第一个9的意思是buffer的单元总个数存放在buffer中,0的意思是当前的单元位数,存放在buffer+1中,接下来的意思是开辟一个大小为9个字节的缓冲区,每个单元中存放$标记。 基本就是这样,如有错误请大家指出。
阅读全文
摘要:原来的不用了,今天开始从新起点,新的轨道,my further,I am coming!
阅读全文