2013年10月20日

一维指针与一位数组的关系(转载\整理)

摘要: 若有如下定义:inta[10],*pa;pa=a;则pa=&a[0]是将数组第1个元素的地址赋给了指针变量pa。实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:pa=&a[0]或pa=a。这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a++、++a或语句a+=10,而pa++、++pa、pa+=10则是正确的。由此可见,此时指针与数组融为一体。 一维数组是一个线形表,它被存放在一片连续的内存单元中 阅读全文

posted @ 2013-10-20 09:32 夜月升 阅读(344) 评论(0) 推荐(0) 编辑

SQL select语句 执行顺序(转载)

摘要: 转自http://bbs.csdn.net/topics/320252452中fredrickhu的回答:SQL Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、使用order by对结果集进行排序。另外:一个查询语句各个部分的执行顺序:--8) SELECT (9) DISTINCT (11) --(1) FROM --(3) JOIN --(2) ON --(4) WHERE --.. 阅读全文

posted @ 2013-10-20 09:31 夜月升 阅读(212) 评论(0) 推荐(0) 编辑

2013年8月22日

强类型、弱类型、静态、动态语言定义(转载)

摘要: 静态类型定义语言一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。Java和C是静态类型定义语言。动态类型定义语言一种在执行期间才去发现数据类型的语言,与静态类型定义相反。VBScript和Python是动态类型定义的,因为它们是在第一次给一个变量赋值的时候找出它的类型的。强类型定义语言一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串(在本章后面会有更多如何去做的内容)。弱类型定义语言一种类型可以被忽略的语言,与强类型定义相反。VBScript 阅读全文

posted @ 2013-08-22 14:59 夜月升 阅读(208) 评论(0) 推荐(0) 编辑

What is a non-trivial constructor in C++?(转载)

摘要: 转自stackoverflow:http://stackoverflow.com/questions/3899223/what-is-a-non-trivial-constructor-in-cAnswer 1:In simple words a "trivial" special member function literally means a member function that does its job in a very straightforward manner. The "straightforward manner" means d 阅读全文

posted @ 2013-08-22 10:26 夜月升 阅读(758) 评论(0) 推荐(0) 编辑

2013年6月27日

面试准备之面试题(C++) (一)

摘要: 1. 条件比较语句 假设flag为布尔型变量,则下面两种写法:if(flag==TRUE)if(flag==FALSE)if(flag)if(!flag) 下面一种更好,根据布尔类型的定义,零值为假(记为FALSE),而任何非零值为真(记为TRUE)。然而TURE的值究竟是什么并没有统一的标准,例如在Visual C++中将TRUE定义为1,而Visual Basic则将TRUE定义为-1。因此最好不要将布尔变量直接与TRUE或FALSE进行比较 假设x为浮点型变量,则下面两种写法:if(x == 0.0)if(x != 0.0)if((x>=-EPSINON)&&(xE 阅读全文

posted @ 2013-06-27 15:25 夜月升 阅读(556) 评论(0) 推荐(0) 编辑

2013年5月28日

C++中前自增和后自增的区别(转载\整理)

摘要: 几乎所有有“++”语法的语言都一样:例,++i 是先加1后使用i;i++是先使用i后加1。C++中的区别: 前自增生成左值,再给操作数加1后,返回改变后的操作数值;后自增生成右值,给操作数加1,但返回未改变的操作数原值。(左值:可以出现在赋值操作符左边的值,非const左值可读可写。右值:只能用在赋值操作符的右边,右值只能读不能写) 对于自定义类型,前自增返回的是自增后的“自己”,而后自增返回的是自增前“自己的副本”(临时变量),以对象为例,前自增先对对象作加1操作,然后返回对象的引用;后自增用一个临时变量保存对象,然后对对象作加1操作,返回临时变量即对象本身。此时,因后自增要生成临时变量要返 阅读全文

posted @ 2013-05-28 12:51 夜月升 阅读(3564) 评论(0) 推荐(0) 编辑

2013年5月26日

Java动态代理实现(转载\整理)

摘要: 在深入解析MapReduce架构设计与实现原理一书中读到动态代理这个东东。代理是一种常用的设计模式,其目的是为其他对象提供一种代理一控制对这个对象的访问。代理类负责为委托类进行预处理(如安全检查、权限检查等)或者执行完后的后续处理(如清理对象或转发给其他代理等)。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在 阅读全文

posted @ 2013-05-26 12:35 夜月升 阅读(224) 评论(0) 推荐(0) 编辑

2013年5月24日

java接口、抽象类(转载\整理)

摘要: 转自:http://bbs.csdn.net/topics/330148155luffyke:1.接口(interface),接口被用来建立类与类之间关联的标准。public interface ITest{ public void test();}public class TestImpl implements ITest{ public void test(){ System.out.println("test"); }}2. 抽象类(abstractclass),只要类中有一个抽象方法,此类就被标记为抽象类。实际上抽象类除了被继承之外... 阅读全文

posted @ 2013-05-24 11:09 夜月升 阅读(178) 评论(0) 推荐(0) 编辑

2013年5月21日

使用ant制作hadoop1.1.2的eclipse插件(转载)

摘要: 转自http://www.oschina.net/question/256028_1108901.修改%hadoop%\src\contrib\build-contrib.xml文件: 添加hadoop版本和eclipse安装根目录: <property name="version" value="1.1.2"/><property name="eclipse.home" location="%eclipse%"/>2. 修改%hadoop%\src\contrib\eclipse-plug 阅读全文

posted @ 2013-05-21 10:29 夜月升 阅读(541) 评论(0) 推荐(0) 编辑

2013年5月6日

读鸟哥私房菜之Linux账号与身份管理(转载/整理)

摘要: 首先,Linux是如何辨别每一个使用者的呢?使用者身份的辨别是通过UID和GID实现的,虽然我们在登入Linux主机的时候是以账号的形式,但对于Linux主机来说,他并不会直接认识你的账号,他仅认识ID,其实账号只是为方便用户记忆。而你的ID与账号的对应就在/etc/passwd中。每个登入的使用者至少都会获得两个ID,一个是使用者ID(User ID),一个是群组ID(Group ID)。如何登入Linux取得UID和GID?当我们在Linux的登入界面输入账号和密码后,Linux会执行下列动作:1. 先找寻 /etc/passwd 里面是否有这个账号?如果没有则跳出,如果有的话则将该账号对 阅读全文

posted @ 2013-05-06 10:25 夜月升 阅读(183) 评论(0) 推荐(0) 编辑

导航