摘要:
一个进程的内存区域分为静态存储区,代码区,动态数据区和一块存放常量的区域1,静态存储区是从小到大的地址增长的,一般全局变量和静态变量就放在这里,初始化的全局变量和静态变量在一块区,未初始化的在另外一块区2,动态存储区分为堆和栈两种,栈是由编译器自动分配释放的,在栈上存取数据比通过指针在堆上存取数据快些,栈是先入后出的,一般是由高地址向低地址生长堆一般有程序员控制,程序结束时由os回收堆和栈的分配如下图 阅读全文
摘要:
2,HashTable和HashMap的区别HashMap:允许将null作为一个entry的key或者value;有containsKey和containsValue方法,没有contains方法;多个线程访问HashMap时,必须为之提供外同步HashTable:不允许有null值,Hashtable的方法是Synchronize的,多个线程访问 Hashtable时,不需要自己为它的方法实现同步4,动态INCLUDE用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 静态INCLUDE用include伪码实现,不会检查所含文件的变化,适. 阅读全文
摘要:
1,关于const的一些基本概念const char * p1;//p1指向的内容不可变char const * p2;//p2指向的内容不可变char * const p3;//p3不可变,但其指向的内容可变2,字符串的函数返回值不能再函数体里面声明创建,最好是函数传参进去,比如一个复制字符串的函数char *copyString(const char* source)就不是很好了,比较好的应该是void copyString(char *target , const char* source); 阅读全文