摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.单例模式确保一个实例被创建,并且任意时刻都只有一个对象。它给了我们一个全局的访问点,又屏蔽了全局变量的缺点。可以被用来管理共享资源,比如数据库连接或线程池。特征是构造函数为私有,然后声明一个私有静态成员作为类对象,对外提供一个静态类方法创建该对象,在创建对象时会先判断是否已经创建,若是则直接返回已... 阅读全文
posted @ 2012-12-17 21:55
gnuhpc
阅读(820)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.我们在前边提到一个原则就是“面向接口而不要面向实现编程”,但是我们一直在使用Duck duck = new MallardDuck()这样的模式,后边的new语句却违反了这个原则。工厂方法就可以解决这个问题,它用来封装对象的创建。 2.这一节我们考虑如下场景:一个披萨店要制作各种各样的... 阅读全文
posted @ 2012-12-17 21:53
gnuhpc
阅读(1028)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.这个模式可以称为“给爱用继承的人一个全新的设计眼界”的模式。牵扯到第五个设计原则:“类应该对扩展开放,而对修改封闭”。但是要注意,遵循这一标准会带来更多层次上的抽象,增加代码的复杂度,所以并不是所有类都要这样设计。 2.文中举了一个为辛巴克咖啡馆写一个计算咖啡价格+调料价格的类,使用了... 阅读全文
posted @ 2012-12-17 21:51
gnuhpc
阅读(789)
评论(0)
推荐(1)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.我们需要理解报社、订阅系统和订报人之间的关系,订报人通过订阅系统订报,一旦报社有新的报纸,订阅系统就会派人送或者邮寄给订报人新的报纸。然后,出版者+订阅者就是观察者模式,只不过名称不一样,主题(Subject,或者叫做Observabler)类比于出版者,是事件发生的主体,订阅者改称为观察者... 阅读全文
posted @ 2012-12-17 21:50
gnuhpc
阅读(1191)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1)使用场景:一个对象可能要访问共享资源来完成它所要提供的服务,在多线程情况下,多个这样的对象在一起就会产生意想不到的后果,比如竞争。监视器就是在这样的一个对象上设置一个锁,以保证在给定时间内,只有一个线程可以执行这个对象上的任何一个方法。 2)例子:我们创建一个日志记录的类 public cla... 阅读全文
posted @ 2012-12-17 21:47
gnuhpc
阅读(476)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1)使用场景:牵涉到对数据对象进行修改时,可能由于修改的顺序而造成数据的错乱,此时使用不变对象就可以避免,而且还可以不使用高开销的synchronizing方法。一个数据模型类的实例所持有的数据在整个生命周期中都不变,这个类就会是线程安全。 2)设计方法: a)所有的实例变量都必须在... 阅读全文
posted @ 2012-12-17 21:44
gnuhpc
阅读(370)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ a)使用场景:在程序设计中,我们可以把所用要用到的常量设计为一个独立的类,使得对常量的管理有效清晰。 b)应用举例: 我们考虑一个顾客数据存储的应用场景,要用到三种类,Account, Address 和 CreditCard来代表用户数据信息。 ... 阅读全文
posted @ 2012-12-17 21:42
gnuhpc
阅读(684)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 本来不想写这个的,太基础了,不过为了整个学习笔记的完备性还是简单写几笔给自己留着看。 1.存取方法也就是所谓的getter and setter,对于类中的private成员提供对外的接口,这样的设计使得最后的在程序修改时只需要修改这些setter and getter,而不必工程中修改所有与这个... 阅读全文
posted @ 2012-12-17 21:39
gnuhpc
阅读(501)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.抽象类的特点: 包含至少一个以abstract表示的没有实现的方法——抽象方法,来代表父类中的可变方法。当然抽象类可以提供实现的具体方法。 包含的有具体实现的方法来代表父类中的不可变的通用方法。 不能被实例化。 子类继承时必须实现去所有抽象方法,... 阅读全文
posted @ 2012-12-17 21:37
gnuhpc
阅读(527)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ a)使用场景:解决多重继承和Client需要多Service_Provider的支持。 b)典型UML: c)举例:薪水计算类的设计 不同的类别有不同的薪水计算方法,那么getSalary方法可以抽象到一个接口SalaryCalculat... 阅读全文
posted @ 2012-12-17 21:36
gnuhpc
阅读(1810)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.UML是Object Management Group推出的用于简化复杂软件工程流程的工具,使用UML,用户可以定制并且可视化软件和非软件的设计。注意UML只是一种建模语言,它只定义了words和grammar,而并没有定义建模的过程或流程。 2.上文中提到的静态模型和动态模型的分类也... 阅读全文
posted @ 2012-12-17 21:32
gnuhpc
阅读(657)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ KWIC作为一个早年间在ACM的Paper提出的一个问题,被全世界各个大学的软件设计课程奉为课堂讲义或者作业的经典。(From Wiki,FYI,D. L. Parnas uses a KWIC Index as an example on how to perform modular desi... 阅读全文
posted @ 2012-12-17 21:30
gnuhpc
阅读(3821)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 初步: 1.传统的面向过程的结构化开发方法 Vs 以对象为最小系统的面向对象的开发方法 2.对象模型: 1)自底向上的抽象:抽象三层次 把问题领域中的事物抽象为具有特定属性和行为的对象。 把具有相同属性和行为的对象抽象为类 若多个类之间存在一些共性(具有相同的属性和行为)... 阅读全文
posted @ 2012-12-17 21:27
gnuhpc
阅读(2074)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ // Create a Comparator that returns the outcome // of a reverse string comparison. class RevStrComp implements Comparator<String> { // Implem... 阅读全文
posted @ 2012-12-17 21:21
gnuhpc
阅读(3717)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ // This Comparator uses a Collator to determine the// proper, case-insensitive lexicographical ordering// of two strings.class IgnoreCaseComp implement... 阅读全文
posted @ 2012-12-17 21:20
gnuhpc
阅读(3529)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 方法可以采用正则表达在想要搜索的字符串前边构造(?i),表示大小写不敏感。例如,要搜索here,则构造(?i)here,表示here,Here,HERE等。但是这还会匹配there,我们还可以加上字符间隔符来表示一个单独的here单词, /b(?i)here/b。 使用String的matches( ... 阅读全文
posted @ 2012-12-17 21:19
gnuhpc
阅读(2526)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ // Use split() to extract substrings from a string.class SplitDemo { static void showSplit(String[] strs) { for(String str : strs) System.out.... 阅读全文
posted @ 2012-12-17 21:18
gnuhpc
阅读(1938)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.util.ArrayList;import java.util.Iterator;public class Practice { public static void main(String[] args) { int[] ary=new int [6]; ... 阅读全文
posted @ 2012-12-17 21:17
gnuhpc
阅读(393)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.util.ArrayList;public class Autoboxing { public static void main(String[] args) {// 手动打包,解决容器类无法放置基本数据类型的问题 Integer intval... 阅读全文
posted @ 2012-12-17 21:16
gnuhpc
阅读(3972)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.使用方法 package tips; public interface Constants { public static final int PORT_NUMBER = 90; public static final String APP_NAME = "DOOL... 阅读全文
posted @ 2012-12-17 21:14
gnuhpc
阅读(431)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ public class DynamicParameters { public static void main(String[] args) { add(1,2,3); add(1,2,3,4); } public static void add... 阅读全文
posted @ 2012-12-17 21:12
gnuhpc
阅读(340)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ JVM将为类的instance和static变量赋上缺省值(默认值),包括数组array中的每一个元素--而不用再写初始化赋值语句。 切记:局部变量是没有缺省值的,必须手动初始化!并且这一缺省赋值过程是在对象的构造函数调用之前完成的。 我们看下边的程序: public class Test { ... 阅读全文
posted @ 2012-12-17 21:10
gnuhpc
阅读(671)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.String类是immutable的 一旦String被建立,它的内容就不能被更改了,要想去修改就要新建一个String。StringBuffer类则与String一样,但是其内容是可以被修改的,它是线程安全的。而StringBuilder则与StringBuffer基本一样,但是它是线程不安... 阅读全文
posted @ 2012-12-17 21:09
gnuhpc
阅读(249)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ Serializable接口中没有任何的方法。当一个类声明要实现Serializable接口时,只是表明该类参加串行化协议,而不需要实现任何特殊的方法。 注意:Thread类不能被并行化 import java.io.Serializable; public class Goober impl... 阅读全文
posted @ 2012-12-17 21:07
gnuhpc
阅读(1563)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.io.Console;public class ConsoleLogin { public static void main(String arg[]) { Console con; con = System.console(); ... 阅读全文
posted @ 2012-12-17 21:06
gnuhpc
阅读(431)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 文件路径: import java.io.File; public class FilePath { public static void main(String arg[]) { String pname1 = File.sep... 阅读全文
posted @ 2012-12-17 21:04
gnuhpc
阅读(272)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件 和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。 写文件 import java.io.FileOutputStream; import java.io.IOException; import ja... 阅读全文
posted @ 2012-12-17 21:03
gnuhpc
阅读(3447)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ public class GotchaString { public static void main(String arg[]) { System.out.println("string + twenty + thirty: " + 20 + 30); ... 阅读全文
posted @ 2012-12-17 21:01
gnuhpc
阅读(332)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception). 一次可以读一行: import java.io.FileReader; import java.io.FileWriter; import j... 阅读全文
posted @ 2012-12-17 20:59
gnuhpc
阅读(3879)
评论(1)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class CopyText { public static void main(String arg[]) { ... 阅读全文
posted @ 2012-12-17 20:58
gnuhpc
阅读(1238)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 客户端: import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import j... 阅读全文
posted @ 2012-12-17 20:55
gnuhpc
阅读(531)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 客户端: import java.net.Socket; import java.net.InetAddress; import java.net.UnknownHostException; import java.io.OutputStream; import java.io... 阅读全文
posted @ 2012-12-17 20:54
gnuhpc
阅读(2797)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.net.InetAddress;import java.net.UnknownHostException;import java.io.IOException;public class ShowIP { public static void main(String arg... 阅读全文
posted @ 2012-12-17 20:52
gnuhpc
阅读(404)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.net.URL; import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException... 阅读全文
posted @ 2012-12-17 20:51
gnuhpc
阅读(6151)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 当多个线程使用同一个变量时,每个线程都在其本地缓冲中有一个这个变量的拷贝,对这个变量的改变实际上是对这个复制品进行改变。而另一个线程在使用这个变量时还可能一无所知。为了避免这个问题,使用volatile这个关键字对便变量进行修饰,在对变量进行改变时直接作用于主内存。 package javabea... 阅读全文
posted @ 2012-12-17 20:50
gnuhpc
阅读(465)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 先介绍几个术语: i18n: 就是internationalization, 国际化,由于首字母"i"和末尾字母"n"间有18个字符,所以简称i18n. internationalization指为了使应用程序能适应不同的语言和地区间的变化而不作系统性的变化所采取的设计措施。 l10n... 阅读全文
posted @ 2012-12-17 20:49
gnuhpc
阅读(1864)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.ASCII码 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这... 阅读全文
posted @ 2012-12-17 20:47
gnuhpc
阅读(1281)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.简介: 以前你想让程序记住用户自定义的习惯,比如界面字体等,你使用一个配置文件,但是在维护多个用户或出现误拼写时还是力不从心。而java.util.prefs包则提供了便利。在线文档写的非常糟糕,将java.util.prefs这个类描述为“a node in a hierarchical ... 阅读全文
posted @ 2012-12-17 20:46
gnuhpc
阅读(469)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ JAR文件是一种具有特定构造的zip文件 1.JAR文件的创建: import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; import j... 阅读全文
posted @ 2012-12-17 20:39
gnuhpc
阅读(1742)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.简介: 正则表达式是Java处理字符串、文本的重要工具。 java.util.regex.Pattern 匹配类:用模式匹配一个字符串所表达的抽象结果。 java.util.regex.Matcher 模式类:用来表示一个编译过的正则表达式。 ... 阅读全文
posted @ 2012-12-17 20:38
gnuhpc
阅读(398)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.简介: ava.util.logging,它可以对程序中的日志记录进行相当复杂的控制。例如:通过它可以指定日志的级别和日志的位置(控制台、文件、套接字、 内存缓冲区),也可以创建子记录器,通过它可以用程序控制的方式来指定想记录的内容,也可以使用配置文件来指定,而不需要去改动程序。 2.体系: ... 阅读全文
posted @ 2012-12-17 20:37
gnuhpc
阅读(1988)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.ZIP文件的创建 import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import java.io.File; import java.io.FileOutputStream; impor... 阅读全文
posted @ 2012-12-17 20:35
gnuhpc
阅读(478)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.特性——不用import 2.String String x = "abc"; <=> String x= new String("abc"); 因为public final class java.lang.String; 而String x="The number " +... 阅读全文
posted @ 2012-12-17 20:34
gnuhpc
阅读(4794)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.要注意的条件 1)合适版本的JRE已经安装 2)完整的Class 3)数据配置文件 4)可执行命令 2.JAR文件的基本操作 JAR文件实际是ZIP文件,用zip或者unzip就可以操作,但是JAR文件中含有特殊信息。jar命令是专门用来操作JAR文件... 阅读全文
posted @ 2012-12-17 20:33
gnuhpc
阅读(485)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.集合框架是什么? 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。Java程序员在具体应用时,不必考虑数... 阅读全文
posted @ 2012-12-17 20:32
gnuhpc
阅读(1522)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的... 阅读全文
posted @ 2012-12-17 20:29
gnuhpc
阅读(122972)
评论(0)
推荐(4)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ import java.util.Vector; public class CollectionOne { public static void main(String arg[]) { new CollectionOne(); } ... 阅读全文
posted @ 2012-12-17 20:27
gnuhpc
阅读(10850)
评论(0)
推荐(1)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 你若是不使用泛型,则会这样处理数据类型不确定的问题: class Stash { private Object x; void set(Object x) { this.x = x; } Object get() { ... 阅读全文
posted @ 2012-12-17 20:26
gnuhpc
阅读(652)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 这个话题还是从一个有问题的代码中引申出来的,原代码如下: import java.util.*; class TreeSetTest { public static void main(String[] args) { HashSet hs... 阅读全文
posted @ 2012-12-17 20:24
gnuhpc
阅读(7337)
评论(0)
推荐(0)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ package info.gnuhpc;/** * @author gnuhpc email: warmbupt@gmail.com blog: http://gnuhpc.info * @date 2010-1-22 * @bugs 不支持多音字处理 */public class PinyinCo... 阅读全文
posted @ 2012-12-17 20:23
gnuhpc
阅读(4420)
评论(0)
推荐(1)
摘要:
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 0.ICE介绍:ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。个人理解与COBRA貌似基本上是一个作用的东西,由于项目上要用到,早上简单实用了一下,还是很方便的。 1.开发流程: 编写ICE接口... 阅读全文
posted @ 2012-12-17 20:21
gnuhpc
阅读(2606)
评论(1)
推荐(0)

浙公网安备 33010602011771号