摘要: char *c="chenxi";书上说: "chenxi"这个字符串被当作常量而且被放置在此程序的内存静态区。那一般的int i=1;1也是常量,为什么1就不被放置在此程序的内存静态区了呢?请高手指点!所有的字符窜常量都被放在静态内存区因为字符串常量很少需要修改,放在静态内存区会提高效率例:char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc";const char str4[] = "abc";c 阅读全文
posted @ 2012-09-07 11:39 城之空天 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全了,那么为什么还要引入新的StringBuilder类干吗?相信大家都有此疑问,我也如此。下面,我们就来看看引入该类的原因。 为什么会出现那么多比较String和StringBuffer的文章? 原因 阅读全文
posted @ 2012-06-28 11:30 城之空天 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bind());3:将套接字设置为监听模式等待连接请求(listen());4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());5:用返回的套接字和客户端进行通信(send()/recv());6:返回,等待另一连接请求;7:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。客户端编程的步骤:1:加载套接字库,首先通过服务器域名获得服务器的 阅读全文
posted @ 2012-06-04 11:18 城之空天 阅读(860) 评论(0) 推荐(1) 编辑