自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 iPad界面设计基本规范

平台特点1 大屏幕,分辨率 1024x7682 再次强调没有固定的方向,必须四个方向都支持。3 可以外接键盘4 可以放置设备,与台式机同步iPhone与iPad的共同特点- 内存有限- 同时运行单个程序- 在设置功能里放置程序选项- 设备方向可以改变- 最小化的帮助,让用户直接就能看懂- 程序响应手势而不是鼠标- 运行源生程序、Web程序或者二者兼备- 图片深度24位(RGB各8位),另带8位a...

2010-11-08 17:48:25 365

原创 Xcode shortcut key

        总的来说Xcode快捷键并不是非常丰富灵活,但熟悉了下面为数不多的几个快捷键以后工作效率马上可以提高不少。Command相当于pc键盘的win键,Option相当于Alt,Control相当于Ctrl,键值一样,系统偏好设置里面可以更改。Control-/ or Tab: 切换到下一个占位符(自动完成的时候)Control-...

2010-11-06 16:40:06 121

原创 观察者模式(Observer)

        用户通常通过调用对象的方法来收集该对象的信息。但是当这个对象发生变化的时候,就会出现这样的一个问题:依赖该对象的用户如何才能知道对象的信息已经发生了变化?        我们可能通过这样一种设计:创建一个对象,每当用户所关心的对象某个方面发生变化的时候,该对象负责通知相关对此消息感兴趣的用户。这种设计的问题在于只有用户自己才知道他关心的某对象的哪些方面,因而这个受关注的对象不应...

2010-09-27 15:25:16 130

原创 工厂模式(Factory)

        在开发中其实我们已经不知道用到了设计模式中的很多模式 ,只是有些我们还未知它具体是哪种模式来着。如工厂模式,单例,适配,外观模式等一些常见模式。        1.工厂模式         1)简单工厂模式(simple factory)        也叫静态工厂模式,一般是具体产品的继承类或者是接口的实现,如下拿一个司机开多种车的例子。    ...

2010-09-27 15:19:26 135

原创 装饰模式(Decorator)

        为了扩展代码库,通常给它添加新类或者新方法。有时候,你也许不希望在运行时候使用新行为来组合对象。Interpreter模式允许你组合可执行对象,这个对象的行为可能变化会非常快。在有些情况下,你也许需要行为上的小变化,并且希望能够把这些变化事例起来,decorator模式可以满足这个需求。         Decorator的意图就是在运行时组合操作的新变化     ...

2010-09-27 15:17:34 101

原创 观察者模式(Observer)

        用户通常通过调用对象的方法来收集该对象的信息。但是当这个对象发生变化的时候,就会出现这样的一个问题:依赖该对象的用户如何才能知道对象的信息已经发生了变化?        我们可能通过这样一种设计:创建一个对象,每当用户所关心的对象某个方面发生变化的时候,该对象负责通知相关对此消息感兴趣的用户。这种设计的问题在于只有用户自己才知道他关心的某对象的哪些方面,因而这个受关注的对象不应...

2010-09-27 15:14:03 114

原创 策略模式(Strategy)

java设计模式 写道      策略模式在在给定的输入条件下,实现某个目标的计划或者方案。策略与算法类似;算法是定义好的过程,它能够提供一组输入产生一个输出。而策略是一个计划,它也涉及如何从一组输入到一组输出。在通常情况之下,与算法相比,策略是能够提供更大范围的可选方案。因而,策略通常是代表一组或一簇相互替换的方案。 当计算机程序存在多种策略时,程序代码会比较复杂。当有多个策略可用时,与策略...

2010-09-27 15:09:08 105

原创 面向对象的设计原则

  索引  1. SRP(单一职责原则)  2. OCP(开-闭原则)  3. LSP(里氏替换原则)  4. DIP(依赖倒置原则)  5. ISP(接口隔离)  6. LoD(迪米特法则) 1. SRP(单一职责原则)         定义:就一个类而言,应该仅有一个引起它变化的原因。        好处:提高内聚,降低耦合。        缺点:造成资源文...

2010-09-27 12:10:58 334

原创 基础数据结构——图

      图(Graph)G由两个集合V(Vertex)和E(Edge)组成,记为G=(V,E),其中V是顶点的有限集合,记为V(G),E是连接V中两个不同顶点(顶点对)的边的有限集合,记为E(G)。 图一般可以采用三种方式来表示:使用一个二维数组;使用邻接表;使用边数组。图的遍历一般有深度优先的方式和广度优先的方式。       所谓深度优先:从图中某个初始顶点v出发,首先访问初始顶点v,然后...

2010-09-20 15:49:03 123

原创 基础数据结构——树

      树:T={K,R}。K是包含n个结点的有穷集合(n>0),关系R满足以下条件:        (1)有且仅有一个结点k0∈K,它对于关系R来说没有前驱结点,结点k0称作树的根。        (2)除结点k0外,K中的每个结点对于关系R来说都有且仅有一个前驱结点。        (3)K中每个结点对于关系R来说可以有多个后继结点。       我这里主要讨论的是二叉树,因为这个是...

2010-09-20 15:48:05 72

原创 基础数据结构——栈和队列

      所谓的栈,是一个含有至少两个基本操作的抽象数据类型:插入新的元素;删除最近时间插入的元素。遵循FILO(First in,last out,先进后出)的原则。       所谓的队列,也是一个含有至少两个基本操作的抽象数据类型:插入新的元素;删除最久时间插入的元素。遵循FIFO(First in,first out,先进先出)的原则。       关于栈和队列的具体实现,我们即可以...

2010-09-20 15:40:12 77

原创 基本数据结构——数组和链表

      数组的这个可以说是大家最广泛使用的数据结构了。数组的最主要的特点是可以支持随机存取,也就是说,我们查询一个值时,可以在O(1)时间内完成。如果我们在数组中删除一个元素,一般都是把后面元素向前移动,返回被删除的元素,如果插入一个新元素,我们把元素向后移动,留出一个空位,插入新元素。可见,删除和插入的时间复杂度为O(n)。       数组的特点是,我们在使用时需要先指定空间的大小(其实,...

2010-09-20 15:38:12 93

原创 集合框架——Map

      Map集合为映射类型,映射与集和列表有明显的区别,映射中的每个对象都是成对存在的。映射中存储的每个对象都有一个相应的键(Key)对象,在检索对象时必须通过相应的键对象来获取值(value)对象,类似于在字典中查找单词一样,因此要求键对象必须是惟一的。键对象还决定了存储对象在映射中的存储位置,但并不是键对象本身决定的,需要通过一种散列技术进行处理,从而产生一个被称作散列码的整数值,散列码...

2010-09-20 15:28:21 73

原创 集合框架——Set

      Set集合为集类型,集是最简单的一种集合,存放于集中的对象不按特定方式排序,只是简单地把对象加入集合中,类似于向口袋里放东西。对集中存在的对象的访问和操作是通过对象的引用进行的,因此在集中不能存放重复对象。Set集合包括Set接口以及Set接口的所有实现类。因为Set接口继承了Collection接口,所以Set接口拥有Collection接口提供的所有常用方法。 1. 使用Has...

2010-09-20 15:19:10 135

原创 集合框架——List

      List集合为列表类型,列表的主要特征是存放其中的对象以线性方式存储,没有特定的顺序,只有一个开头和结尾,当然,它与根本没有顺序的集类型时不同的。 1. List集合的用法       List集合包括List接口以及List接口的所有实现类。因为List接口继承了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所...

2010-09-20 15:16:05 132

原创 集合框架——Collection

      Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用,不过Collection接口中定义了一些通用的方法,通过这些方法可以实现对集合的基本操作,因为List接口和Set接口继承了Collection接口,所以这些方法对List集合和Set集合是通用的,Collection接口定义的常用方法及功能如下表1所示: 1. addAll(Collectio...

2010-09-20 15:12:29 107

原创 Object

java.lang.Object类是所有Java类的最高层次父类,该类中没有定义任何属性,方法也只有几个,但正是这些方法提供了面向对象编程技术的基本机制,下面将分别介绍: 1、hashCode()方法 hashCode()方法的格式如下: Java代码 public int hashCode()  public int hashCode()其功能是返回当前...

2010-09-20 12:09:20 121

原创 Java的7个基础问题

问题一:我声明了什么! Java代码 String s = "Hello world!";   String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是"Hello world!"。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的...

2010-09-20 12:08:00 115

原创 堆和栈的区别

栈与堆都是Java用来在Ram中存放数据的地方。 与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。 这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。 堆是由垃圾回收来负责的。 堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它...

2010-09-20 12:06:03 130

原创 Comparable和Comparator

public interface Comparable<T>此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序,类的 compareTo 方法被称为它的自然比较方法。 实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定...

2010-09-20 09:22:44 103

原创 如何使用异常的原则(转)

作者:Bill Venners著,chenkw  译 摘要   本文是设计技术专栏文章,讨论有关异常设计的问题。本文关注何时使用异常,并举例演示异常的恰当使用。此外,本文还提供一些异常设计的基本原则。   五个月前,我开始撰写有关设计对象的文章。本文是设计文技术系列文章的延续,讨论了有关错误报告和异常的设计原则。我假设读者已经知道什么是异常,以及异常是如何工作的。你若想回顾一下异常方面的知识,请阅...

2010-09-17 15:00:01 98

原创 异常的捕获与抛出原则(转)

在可能会出现exception的地方,要使用try-catch或者throws或者两者都要。我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-catch掉这个exception;如果希望外部知道,则在catch到之后把exception直接抛出或者抛出自定义的exception。   一、异常的种类   java异常可以分成两大类:Excepti...

2010-09-17 14:58:18 479

原创 J2EE系统异常的处理准则(转)

J2EE系统异常的处理准则 异常的处理是每个Java程序员时常面对的问题,但是很多人没有原则,遇到异常也不知道如何去处理,于是遇到检查异常就胡乱try...catch...一把,然后e.printStackTrace()一下了事,这种做法通常除了调试排错有点作用外,没任何价值。对于运行时异常,则干脆置之不理。 原因是很多开发者缺乏对异常的认识和分析,首先应该明白Java异常体系结构...

2010-09-17 11:43:10 69

原创 J2EE项目的异常处理(转)

为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”。笔者在初学java时也是这样认为的。如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成unchecked Exception ,何...

2010-09-17 11:18:37 57

原创 集合框架——简介

  一、初识:      集合类是 Java基础技术中十分重要的内容。 Java集合类封装了集合中常用数据结构和算法,所以在Java的学习过程中得好好学习Java的集合类。         首先,看一张关于Java集合类的表   Implementations Hash Table Resizable Array ...

2010-09-16 14:46:48 319

原创 异常那点事

[size=small]一、概述 在Java程序设计语言中,异常对象都是派生自java.lang.Throwable类的一个实例!所有派生于Error类或RuntimeException类的异常称为未检查(unchecked)异常,所有其他的异常称为已检查(checked)异常。 异常处理的方法有二种:1. 声明异常 2. 捕获异常 Throwa...

2010-09-16 14:05:26 130

原创 内部类详解

[size=small]内部类详解 [b]1、定义 [/b] 一个类的定义放在另一个类的内部,这个类就叫做内部类。 Java代码 public class First { public class Contents{ public void f(){ System.out.println("In Class First's inner Cl...

2010-09-16 13:11:55 112

原创 优化JVM参数提高eclipse运行速度(转)

[size=small]性能优化从身边做起。 首先建立评估体系,将workspace里所有的项目close掉,关闭eclipse。优化的用例就是启动eclipse,open一个项目,eclipse会自动build这个项目,保证没有感觉到明显的卡,也就是没有full GC。 开始: eclipse.ini里加入打印gc情况的参数: -XX:+PrintGCTimeSt...

2010-09-16 12:59:01 72

原创 四个有害的java编码习惯

[size=small]John O'Hanley 的这篇文章列举了四个有害的java编码习惯,并提出了改正方案。这四个习惯普遍存在于java程序员中,并且已经被广泛接受,大家都习以为常,流毒甚远。1.对局部变量(local variables),字段(fields),参数(method arguments)这三种变量的命名没有区分,造成了代码的阅读困难,增加了代码的维护成本。 ...

2010-09-15 19:16:45 57

原创 hashCode()和equals()

[size=small] Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是 Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时...

2010-09-15 17:08:29 124

原创 抽象类和接口(转)

  在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很...

2010-09-15 16:48:57 78

原创 Java泛型

[size=small]泛型是JAVA SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 在JAVA SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而...

2010-09-15 16:17:54 57

原创 反射机制

[size=small][b]一、Class类:[/b]Class:java.lang包下的;没有公开的构造方法;不允许直接创建对象;只能通过具体类获得;用来描述其他的一个类型 Class 类的实例表示正在运行的 Java 应用程序中的类和接口 获得一个Class对象的方式: 1) Class c1=Class.forName("(类名=)Student"); 2)...

2010-09-15 15:26:33 55

原创 Java编程规则

[size=small]本附录包含了大量有用的建议,帮助大家进行低级程序设计,并提供了代码编写的一般性指导: (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMetho...

2010-09-15 15:15:58 52

原创 java.lang.Class类

[size=small]Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 Class 没有公共构造方法。Class 对象是...

2010-09-15 15:10:09 59

原创 String、StringBuffer和StringBuilder

[size=small]StringBuffer 线程安全的可变字符序列。类似于 String 的字符串缓冲区,但不能修改。可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。 每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长...

2010-09-15 11:52:13 65

原创 重写和重载

[size=small]一、只要拥有一个继承超类方法的类,就有机会重写该方法(除非方法被标识为final或static)。重写的主要好处是具有能够定义某个子类型特定行为的能力。 以下是重写方法的规则: 1. 参数列表必须与被重写的方法的参数列表完全匹配,或者就成重载了; 2. 返回类型必须与超类中被重写方法原先声明的返回类型或其...

2010-09-15 11:15:07 200

原创 多态性

[size=small]Java中除了static和final方法外,其他所有的方法都是运行时绑定的。private方法都被隐式指定为final的,因此final的方法不会在运行时绑定。当在派生类中重写基类中static、final、或private方法时,实质上是创建了一个新的方法。 可以传递多个IS-A测试的任何Java对象都可以被看作是多态的。除了Objec...

2010-09-15 10:40:17 52

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除