`
文章列表
  非常感谢分享这篇文章的大虾..但是我忘了几下您的blog地址,因此无法注明原文地址...见谅哈    存盘 Ctrl+s(肯定知道)  注释代码 Ctrl+/  取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)  代码辅助 Alt+/  快速修复 Ctrl+1  代码格式化 Ctrl+Shift+f  整理导入 Ctrl+Shift+o  切换窗口 Ctrl+f6 <可改为ctrl+tab方便>  ctrl+shift+M 导入未引用的包  ctrl+w 关闭单个窗口  F3 跳转到类、变量的声明  F11 运行上次程序  Ctr ...
  1、代理模式   所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。   生活中的例子:过年加班比较忙,没空去买火车票,这时可以打个电话到附近的票务中心,叫他们帮你买张回家的火车票,当然这会附加额外的劳务费。但要清楚票务中心自己并不卖票,只有火车站才真正卖票,票务中心卖给你的票其实是通过火车站实现的。这点很重要!   上面这个例子,你就是“客户”,票务中心就是“代理角色”,火车站是“ ...
  hashcode:独一无二地代表了一个对象,并且通过hashcode可以找到这个对象。(比价不准确的说法) 在java.lang.Object的规范中,对hasCode有如下的约定:  1 在一个应用程序执行期间,如果一个对象的equals方法做比较所用到的信息没有被修改的话,那么对该对象调用多次hashCode方法,它必须返回相同的整数。在同一程序的多次执行过程中,这个整数方法可以不同。 2 如果两个对象根据equals方法是相等的,那么调用这两个对象的hashCode方法必须产生同样的整数结果。 3 如果两个对象根据equals方法是不相等的,那么调用这两个对象的hashCod ...
      在C及C++语言中允许用一个标识符来表示一个字符串,称为宏,该字符串可以是常数、表达式、格式串等。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。若字符串是表达式,我们称之为函数式宏定义,那函数式宏定义与普通函数有什么区别呢?我们以下面两行代码为例,展开描述:   函数式宏定义:#define MAX(a,b) ((a)>(b)?(a):(b))
  多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。    本文总结了一个C++优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。    阶段 1    《Essential C++》    这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。    《C++ Primer ...
C中typedef的用法我是知道的,它可以是程序员自定义更加适合情景的类型名,基本用法     typedef 类型名 新类型名    但是最近碰到个小问题,枚举类型该怎么自定义呢?  一个例子   typedef enum Status{FAULSE,TRUE} Status  只是不知道上面的写法对不对,结构体中,类似的这种语法是对的,比如:   typedef struct ArcCell{ double adj; char *info; }ArcCell      为了谨慎,可以用这种写法:   enum Status{FAULSE,TRU ...
我们经常看到main函数不带参数。因此main后都是空括号。 C代码   main()   {   ...   }   实际上,main函数必须带参数,这个参数可以认为是main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc ...
   原型:extern void *memcpy(void *dest, void *src, unsigned int count);    用法:#include <string.h>    功能:由src所指内存区域复制count个字节到dest所指内存区域。    说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针 ...
  一、为什么用动态内存分配     但我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组。比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数组:     float score[30];     但是,在使用数组的时候,总有一个问题困扰着我们:数组应该有多大?     在很多的情况下,你并不能确定要使用多大的数组,比如上例,你可能并不知道该班级的学生的人数,那么你就要把数组定义得足够大。这样,你的程序在运行时就申请了固定大小的你认为足够大的内存空间。即使你知道该班级的学生数,但是如果因为某种特殊原因人数有增 ...
今天在用java编程时遇到一个小问题,记下来备忘: Iterator迭代器是遍历List等容器时经常用到的,在使用时一定要注意,如果为Iterator对象进行了初始化或者赋值,那么一旦与Iterator对象关联的容器对象发生变化,则原来的Iterator对象失效,需要重新赋值。 下面举例说明:   ArrayList<Integer> list=new ArrayList<Integer>(); //创建一个ArrayList对象 Iterator<Integer> iterator=list.iterator() //创建Iterator ...
    一直以来,我是采用Java编程的,在Java中函数作为另一函数的参数很简单,只需要将作为参数的函数所属的对象作为参数传给相关的函数即可,举个例子,有对象   class Temp1{ private int a; private int b;   public void function1(){ ...... } }       现在需要将function1  传给function2.则可采用如下写法:   class Temp2{ private int c; private int d; public void function2(T ...
Global site tag (gtag.js) - Google Analytics