- 博客(44)
- 资源 (13)
- 收藏
- 关注
原创 SVN凌乱知识点
svn基本配置操作方法--创建库1.首先安装svn服务器,并且将其bin目录配置到path下。配置完毕后,通过cmd,输入svn,看是否配置成功。2.在一个磁盘上创建一个目录,用于存储。如:d:\mysvn\code.3.使用命令:svnadmin create d:\mysvn\code来初始化目录(创建仓库)。--import(check in)4.如果要将客户端的某个
2012-06-13 14:25:10 392
原创 看英语书记录的单词-5
1, run across 偶然遇到;跑着穿过 run across: 偶然碰见 | 撞见 | 偶然碰到2, flavors n. 风味调料(flavor复数) v. 添加味道(flavor的三单形式) Flavors: 味道 | 风味 | 风味调料3, be capable of v. 能够 be capable of: 有能力 | 能够 | 有能力干
2012-01-11 17:33:12 2208
原创 学习effective java-24泛型之消除非受检警告
该知识点是自己从书籍中学习的笔记。如果IDE提示编写的代码有unckecked warnings,你应该尽量去消除这些警告。这些警告有可能是说明有类型转换失败的可能。如果你确信这些警告都是安全的话,那么你可以使用“@SuppressWarnings("unchecked")”注解来消除警告。最好不将“@SuppressWarnings("unchecked")”注解放到整个类上,你可以放到方法
2012-01-11 17:27:12 595
原创 学习effective java-23泛型之在新代码中不要使用原生类型
该知识点是自己从书籍中学习的笔记。从jdk1.5版本开始,java就引入了泛型。在没有泛型之前,从集合中取出的对象都必须经过转型,才能够达到使用。在jdk1.5之前,如果往集合中插入了不同类型的对象的话,那么在遍历的时候就可能引起运行时转型失败。泛型定义:A class or interface whose declaration has one or more type paramete
2012-01-11 17:05:18 601
原创 看英语书记录的单词-4
1, date [deit]n. 日期;约会;年代;枣椰子 vi. 过时;注明日期;始于(某一历史时期) vt. 确定…年代;和…约会2, immutable [i'mju:təbl]adj. 不变的;不可变的;不能变的3, inheritance [in'heritəns]n. 遗产;继承;遗传4, a number of 若干,一些;许多5, c
2012-01-11 15:58:12 1999
原创 学习effective java-22类和接口之优先考虑静态成员类
该知识点是自己从书籍中学习的笔记。嵌套类就是在类中定义的类,嵌套类仅仅是为它的外部类服务的。如果还需要给其他外部的类服务的话,那么就需要将该嵌套类提升一个层次。目前有四种嵌套套:静态成员类,非静态成员类,匿名类,局部类。除第一种类外,其他都可以成为内部类。静态成员类可以看作仅仅是外部类的一个静态成员,如果静态成员类被声明为private的,那么该类就只能够在外部类的内部中使用。静态成员类只
2012-01-11 15:37:50 757
原创 学习effective java-21类和接口之使用功能对象表示策略
该知识点是自己从书籍中学习的笔记。函数指针是其他一些语言的专利,如c。c语言通过函数指针,可以对数组中的数据进行排序。函数指针就代表了排序规则。这就相当于就是策略设计模式。在java是没有函数指针的,但是可以通过对象引用方式来实现。这种设计模式叫做策略模式。为了实现策略模式,需要首先定义一个接口(该接口是策略接口),然后一个类实现了该接口(作为具体策略)。如果具体策略类仅仅是使用一次的
2012-01-11 15:37:18 379
原创 学习effective java-20类和接口之类层次优于标签类
该知识点是自己从书籍中学习的笔记。1.标签类是指类中定义了一个变量,使用该变量的值控制着该做什么动作。如下:public class Figure { enum Shape { RECTANGLE, CIRCLE }; final Shape shape; double height; double width; doub
2012-01-11 15:36:37 552
原创 Java I/O学习笔记
以下看视频学习的java I/O笔记。1.File类是表示磁盘上的一个文件或者一个目录。File类没有指定信息怎样从文件读取或者写入,仅仅对文件或者目录的描述。File与平台无关。2.Java的IO从功能上划分为:输入流和输出流。从结构上划分:字节流和字符流。输入和输出都是相对于程序来说的,如果从文件到程序,则是输入;从程序到文件,则是输出。3.字节流的输入、输出的顶层类:Inpu
2012-01-09 14:58:24 580
原创 设计模式之装饰模式
定义: 装饰模式又叫包装模式。以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式把客户端的调用委派到被装饰类。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式的角色: 1. 抽象构件角色(Component) 2. 具体构件角色(ConcreteCompo
2012-01-09 10:36:08 381
原创 学习effective java-19类和接口之接口只是用来定义类型
该知识点是自己从书籍中学习的笔记。 当一个类实现了一个接口的时候,这个接口被用作一个类型,通过该类型可以引用这个类的实例。常量接口,在接口中全是public static final的。如果一个类实现了这样的接口,那么就可以不通过类名+常量的模式来访问常量了。最好不要使用接口来导出常量,这种方式不好,比如说当接口增加某些常量或者删除某些常量的话,对于实现了该接口的类就需要做一些更改
2012-01-06 17:33:24 405
原创 学习effective java-18类和接口之接口优于抽象类
该知识点是自己从书籍中学习的笔记。 如果一个方法是抽象方法的话,那么该类一定是抽象类,并且该类的类名前必须加abstract。抽象类中的抽象方法也必须加abstract。 接口可以多继承,而抽象类不能够。将抽象类和接口混合使用,可以构建出骨架类。 接口和抽象各有各自的好处与缺点:当接口增加一个方法的时候,那么它的实现类也必须增加对该方法的实现,这会打破原有的类设计,
2012-01-06 17:32:59 373
原创 学习effective java-17类和接口之要么为继承而设计,并提供文档说明,要么就禁止继承
该知识点是自己从书籍中学习的笔记。第16条告诉了我们对一个不是继承而设计并且没有文档的类是很危险的。那么一个为了设计而使用继承并且有很好的文档则应该做以下事情:该类的文档必须精确地说明每个改写的方法作用以及影响。好的API文档:应该是描述该方法做了什么工作,而不是如何做的。一个为了继承而设计的类(超类)应该是:a.为了允许被继承,无论是直接还是间接,构造方法都不能够调用非final
2012-01-06 16:34:12 702
原创 学习effective java-16类和接口之复合优于继承
该知识点是自己从书籍中学习的笔记。与方法调用不同,继承打破了类的封装特性。使用继承估计会出现以下问题:1. 如果父类发生了变化,那么子类也需要检查是否需要更新。2. 开始时,子类有一个方法,而后父类增加了与子类一摸一样的方法,那么这个时候就相当于是子类重写了父类的方法,有可能并不是客户想要的结果。如果仅仅是返回类型不一致的话,还会造成编译错误。如果要编写一个类的话,最好是将其要
2012-01-06 16:33:48 1547
原创 学习effective java-15类和接口之使可变性减少
该知识点是自己从书籍中学习的笔记。 不可变类是一个其类实例不能够被修改的简单类。Java平台提供了很多不可变类:String、装箱好的原始数据类型、BigInteger、BigDecimal。使用不可变类是更安全的。为了使一个类成为不可变类,需要以下几个条:a. 不提供任何修改该对象状态的方法。b. 确保该类不能够继承,在该类上加final即可。这样可以防
2012-01-06 16:33:17 454
原创 看英语书记录的单词-3
unambiguous [,ʌnæm'bigjuəs] adj. 不含糊的;清楚的;明白的back and forth反复地,来回地whether or not不论,是否judiciously [dʒu:'diʃəsli] adv. 明智而审慎地;明断地1, date [deit]n. 日期;约会;年代;枣椰子 vi. 过时;注明日期;始于(某一历史时期) vt. 确
2012-01-06 10:34:32 1744
原创 设计模式之观察者模式
定义 一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知,即对象做了某个动作,多个观察者都会接收到触发,并选择做出各自的动作。 在观察者模式中,主要有:观察者对象、被观察对象。 观察者对象:负责自身动作的实施。 被观察对象:负责观察者的注册,删除,通知观察者。 观察者模式在消息调用方面用的很
2012-01-06 10:27:05 269
原创 学习effective java-14类和接口之在公有类中使用可访问的方法,而不是使用公有域
该知识点是自己从书籍中学习的笔记。对于下面的代码:public class Test14 { public int x; public int y;}这是很不好的表现,因为该类的x、y可以被任意访问和修改,直接就暴露了信息给客户,没有做到封装的效果。你应该使用setter和getter的方式来设置和访问其中的值,修改代码如下:public class Test1
2012-01-05 17:07:01 747
原创 学习effective java-13类和接口之使类和成员的可访问性减少到最小
该知识点是自己从书籍中学习的笔记。 一个好的设计就在于它与其他模块的交互仅仅是通过api来交互的,从不关心其具体实现细节。就是说信息隐藏和封装性较好。 通过修饰符可以做到信息的封装,目前有四种修饰符: 私有(private)--仅仅本类可以访问。 保护(protected)--仅仅本类以及子类可以访问。
2012-01-05 16:39:21 366
原创 学习effective java-12对所有对象共同的方法之考虑实现Comparable
该知识点是自己从书籍中学习的笔记。 先说明compareTo方法并不包含在Object中,它是Comparable接口中唯一的一个方法。该方法和Object的equals有很多相似之处。 实现Comparable可以帮助我们很快的查询到想要的值、提高运算效率等等好处。具体好处可以需要根据业务而定。 对于对象中的数据类型是引用类型进行比较的话,则需要引用调用c
2012-01-05 15:47:58 305
原创 学习effective java-11对所有对象共同的方法之覆写clone方法时请慎重考虑
该知识点是自己从书籍中学习的笔记。 Cloneable接口最开始设计目的是打算作为最小的clone接口,如果对象实现了它的话,那么就说明该对象具有clone的权限。但是实际上该接口并没有达到此要求,因为该接口里面什么也没有。但是Object中有clone方法,并且是protected。 不能够因为一个对象实现了Cloneable接口,就可以通过反射的方式来调用clone方法。
2012-01-05 15:08:28 542
原创 Practical Java(重点版)之对象(完)
1. 运用interfaces 支持多重继承(multiple inheritance)。Java的接口是支持多继承的。Java是不支持实现上的多继承。2. 避免interfaces 中的函数发生冲突。如果两个接口具有相同的方法名字,但是其返回类型不一样,那么其实现类不能够同时实现这两个接口,编译会报错。如果两个接口的具有相同的方法名字,并且返回类型也一致,那么其实现类可以同时实现
2012-01-05 11:43:28 381
转载 转载:Java语言编码规范
声明:原文出处:http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html,译文出处:http://morningspace.51.net/,moyingzz@etang.com 1.介绍(Introduction)1.1 为什么要有编码规范(Why Have Code Conventions)编码规范对于程序员而言尤
2012-01-04 16:59:24 354
原创 Practical Java(重点版)之多线程
1. 面对instance 函数,synchronized 锁定的是对象(objects)而非函数(methods)或代码(code)。 Synchronized既可以作用于方法修饰,也可以用于方法内的修饰。对于instance 函数,关键词synchronized 其实并不锁定方法或代码,它锁定的是对象(至于synchronized 对statics 的影响,请见下面)。记住,每个对象只
2012-01-04 16:47:58 339
转载 Java中的synchronized总结
该文章中的内容是学习某个人的blog来对synchronized进行的认识,该blog地址:http://blog.csdn.net/soartju/article/details/2840491。在java编程思想中对synchronized的一点解释:1、synchronized关键字的作用域有二种:1)是某个对象实例内,synchronized aMethod
2011-12-31 17:37:24 298
原创 学习effective java-10对所有对象共同的方法之覆写toString方法
该知识点是自己从书籍中学习的笔记。 在大多数情况下,Object提供的toString方法代表的内容并不能够满足用户的需要,因此需要覆写。Object的toString方法如下: public String toString() { return (new StringBuilder()).append(getClass().getName()).app
2011-12-31 14:19:29 387
原创 Practical Java(重点版)之性能
1. 先把焦点放到设计、数据结构和算法上。2. 不要依赖编译期优化技术。编译期优化是指:在调试阶段,把编译优化给关闭掉,当调试完毕后,再打开编译优化让编译优化来选择最便捷的代码,这样程序运行性能就很好。Java编译器对产生优化后的bytecode不是很启作用。3. 理解运行期(runtime)代码优化技术4. 要使字符串拼接结合,请尽量使用StringBuffer,而不是Strin
2011-12-31 10:50:16 352
原创 注解学习笔记代码
以下学习注解时的代码,直接粘贴就可以运行。注解几点 1.自定义的注解在默认情况下自动继承了Annotation接口。 2.Annotation是个接口,不是注解。 3.自定义的注解是注解,而不是接口。 4.自定义的注解是不能够其他注解所继承的。 5.注解可以修饰注解。 6.使用注解可以提取类的信息。 7.很多框架都是以注解来实现的。 8.
2011-12-30 14:27:04 321
原创 设计模式之单例、策略模式、代理模式
单例定义:一个类在运行期间只能够拥有一个实例。类图:具体实现的两种方式如下:a方式package com.sigleton; public class House1 { public static final House1 HOUSE = new House1(); private House1() { }}b.方式
2011-12-30 11:49:15 445
原创 看英文书记录的单词-2
obey [əu'bei] vt. 服从,听从;按照……行动contract ['kɔntrækt, kən'trækt] n. 合同;婚约;契约responsibility [ri.spɔnsə'biliti] n. 责任,职责;义务in conjunction with连同,共同;与…协力omit [əu'mit] vt. 省略;遗漏;删除;疏忽consequence ['
2011-12-29 17:48:32 306
原创 学习effective java-9对所有对象共同的方法之覆写equals方法时请同时覆写hashCode
该知识点是自己从书籍中学习的笔记 在很多情况下,如果覆写了equals方法,但是未覆写hashCode话,会导致错误发生。而这种错误发生debug是很困难的。如果未覆写hashCode的话,那么HashMap,HashSet,HashTable集合类将会有很大的问题。 对于hashCode有这样的规约: 1. 如果一个对象的equals作比较并且该对一直未被修改的话,那么该对象
2011-12-29 17:47:35 304
原创 学习effective java-8对所有对象共同的方法之覆写equals方法时请遵从一般规约
该知识点是自己从书籍中学习的笔记背景 Ojbect的equals方法代表的是引用是否引用的同一对象的相等性测试。在以下情况下,Object的equals方法是不必覆写的:ü 类的每个实例都是独一无二的。比如说线程,线程代表的是活动实体而不是值。此时Object的equals方法足以是满足该要求的。ü 当用户并不关心逻辑是上的相等性的时候,可以不覆写equals方法。比如说一
2011-12-29 16:50:50 538
原创 Practical Java(重点版)之异常处理
以下是学习《Practical Java(重点版)》的笔记。1. 认识异常控制流(exception control flow)机制。当异常发生时,会转入到以下三种的处理方式之一:a).catch block(捕获区段)b).finally block(终结区段)c).calling method(调用端)这三种方式都是异常表现的goto行为。如果程序在try段抛出异常会
2011-12-29 13:55:32 292
原创 看英文书记录的单词-1
derived [di'raivd] 派生;symmerecal 对称;reference ['refərəns]引用;eliminate [i'limineit] 消除,排除;obsolete ['ɔbsəli:t, ,ɔbsə'li:t] 过时,淘汰;manual ['mænjuəl] 手工,手册;reclaim [ri'kleim] 自动回收,再利用;experi
2011-12-28 19:57:30 603
原创 学习effective java-7创建和销毁对象之避免使用终结器(finalizers)
该知识点是自己从书籍中学习的笔记背景终结器的理念是允许 Java 方法释放任何需要返回到操作系统的本机资源。使用Finalizers会带来一些不可预期的危险、古怪的结果、性能降低、移植性问题,所以通常情况下,作为一种规则,都不要使用Finalizers。当然Finalizers是有一点作用的。在c++,通常是使用析构函数来回收已经分配给对象的资源或者其他资源。在java中,是自动回收不
2011-12-28 19:56:29 637
原创 学习effective java-6创建和销毁对象之消除过时的对象引用
该知识点是自己从书籍中学习的笔记。定义 过时的引用是这样的一个引用,该引用永远不会被解除。按照这种定义的话,超出元素数组中的活动区域的引用都是过时的。一个内存泄露的例子:public class StackTest { public Object[] elements; public int size = 0; private static fina
2011-12-28 16:43:13 400
原创 Practical Java(重点版)之对象与相等性
以下是学习《Practical Java(重点版)》的笔记。1. java提供了两种数据类型:原生态和引用类型。原生态数据类型都有相应的包装类对应。 如:int I = 5;//原生态类型 Integer j = new Integer(5);//引用类型 虽然这两种方式存储的数据都是在stack(栈)中并且都是32bits,但是存储的意义是有区别的:前者是存储的数字;而
2011-12-28 13:46:41 390
原创 Practical Java(重点版)之一般技术
以下是学习《Practical Java(重点版)》的笔记。1. java的方法参数传的都是值,而不是引用,传的对象其实是地址的值。所谓的java传引用是错误的说法,在C#中才有传引用的说法。2. 对不变的数据和对象引用使用final。1)不变的原生态数据类型设置final,如:public class Test2 { public static final in
2011-12-27 18:04:08 421
原创 学习effective java-5创建和销毁对象之避免创建不必要的对象
该知识点是自己从书籍中学习的笔记。 1.重复使用同一对象比每次创建与该对象功能一样的新对象好。重复使用对象效率更快、更优雅。如果一个对象是一直不变的话,最好是重复使用。 比如下面的使用就不太好: String s = new String(“Hello”);//不太好,每次都会创建新的String对象,而该对象是不需要的。 可以替换成:String s = “Hello”
2011-12-27 16:48:38 313
原创 学习effective java-4创建和销毁对象之利用私用构造方法强化类的非实例化
该知识点是自己从书籍中学习的笔记。 有的时候,我们想写一个包含静态方法和静态成员的类,而该类不允许被实例化。 如果将类声明为抽象的话,使用该类的时候可以不被实例化,但是该类可以被继承,子类可以实例化该类,而且在很多情况下,用户会认为这是继承关系,而不是非实例化方式。因此这种方法不行。 在默认情况下,类的构造方法是default的,如果将其声明成private的话,那么该类
2011-12-27 15:31:36 538
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人