strcpy的实现: //GNU-C中的实现(节选): */ char* strcpy(char *d, const char *s) { char *r=d; while((*d++=*s++)); return r; } /* while((*d++=*s++)); 的解释:赋值表达式返回左操作数,所以在复制NULL后,循环停止 */ 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容…
随笔: # 可变类型:# 列表(可以存放多个值,可以按索引取值,是有序的),# 字典(字典里面是KEY:VALUE类型,key必须是不可变类型,不能按索引取值 因为它们是无序的,按KEY取值),# 集合(集合里面的元素必须是不可变类型)#不可变类型:# 数字,# 字符串,# 元组(可以存放多个值,可以按索引取值,是有序的,但是不能改变值,更多的用来做查询),# 布尔# 集合:集合里面的 元素必须都是不可变类型,并且不能存在重复的元素,无序的,不能按索引取值 移除空白:strip name.str…
Java抽象类和接口的区别(好长时间没看这种文章了) abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领…
//public class BaseAction extends ActionSupport{ public static HttpServletRequest getRequest(){ return ServletActionContext.getRequest(); } public static HttpServletResponse getResponse(){ return ServletActionContext.getResponse(); } public static Ht…
Java中的枚举类型有getClass()和getDeclaringClass()两个方法,在通常情况下这两个方法返回的类型一样,在某些场景下会有不同的表现 参照 http://stackoverflow.com/questions/5758660/java-enum-getdeclaringclass-vs-getclass…
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #define LL long long using namespace std; LL mod; LL a[][]; ],js[]; void exgcd(int a,int b,int &x,int &…
两者都是优秀的序列化框架: Avro创造之初是Hadoop之父Doug为了创造一种更加快捷的序列化方案(此时已经有了thrift),用于Hadoop的HDFS的文件序列化问题. Thrift一个成熟的序列化+RPC的解决方案:也是一种高效传输的方案,代价就是它采用的是静态的IDL的方式,根据定义的接口文件生成stub,放入到项目中:这意味着每次数据结构的变化都会导致项目的重新部署: 说到了序列化框架,就要提一下protocal buffer,google的序列化方案,在谷歌内部使用15年,一直到…
strcpy ,strncpy ,strlcpy的用法 好多人已经知道利用strncpy替代strcpy来防止缓冲区越界. 但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式. 1. strcpy strcpy 是依据 /0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow.strcpy 常规的实现代码如下(来自 OpenBSD 3.9): char * strcpy(char *to, const char *from) { char *save…
在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间.构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行.构造函数:运行时间比构造代码块时间晚,也是在对象初始化的时候运行.没有返回值,构造函数名称和类名一致.普通函数:不能自动调用,需要对象来调用,例如a.add();如果只看代码运行先后顺序的话:构造代码块>构造函数>普通函数下面给一个程序 public class Test1 { public static void main(Strin…
win10怎么查看激活到期时间如何看是否永久激活     我们知道Windows系统需要激活后才可以使用全部功能,那么你的Windows10激活了吗?如何查看激活时间呢?是不是永久激活的?带着这些问题,下面我们就一个一个逐一查看一下吧.     工具/原料   Windows10 方法/步骤     如果想查看Windows10系统是否激活,非常简单,只需要在Windows10桌面,右键点击“此电脑”图标,然后在弹出菜单中选择“属性”菜单项     接下来就会打开Windows10系统属性窗口了…