自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 HTTP协议基本原理和WEB程序的原理

首先要清楚的是:Http协议的交互要有一定的认识.Http是基于TCP的.是应用层的协议,基于连接的.Http是一个基于请求/响应模式的,无状态的协议(request/response based ,stateless protocol),无状态即是我先发给了你一个请求,后面我又发一个请求,服务器是不知道你先前发过一次请求的.有时候是要克服这个的,如登录了之后我就可以访问一些资源.那么它们之间是如何进行连接的呢?实际上就是跟TCP的那个连接是一样的意思:服务端启动之后就监听,看客户端有没有对他进行的

2011-05-31 23:16:00 1823

原创 MyEclipse常用设置

1.设置告警代码的提示与否:window->Preferences,然后如图:2.修改jsp默认的encoding方式:window->Preferences,在上面的搜索框中填上jsp,,即可修改3.

2011-05-31 22:54:00 603

原创 eclipse常用功能

<br />方法重构功能:选择中要重构的代码,然后右键->Refactor->Extract Method就可以对方法进行重构

2011-05-31 22:48:00 468

原创 eclipse的常用快捷键

alt+/ 内容助手,可以用来作代码提示alt+ctrl+Q返回到原来编辑的位置,也是eclipse中工具栏上的那个带*号的箭头ctrl+d此d即是del的意思,你只要放到一行上,不用选择此行就可以把这行删除掉ctrl+z撤消删除啊等等的操作

2011-05-31 22:45:00 510

原创 schema

Schema(模式):其作用与dtd一样,也是用于验证XML文档的有效性,只不过它提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型。此外,Schema也是一个XML文件,而dtd则不是。所有的schema文档,其根元素必须为schemaSchema本身也应该是一个有效的xml文件,它里面的xmlns的那个url是不能变的,Schema本身是个xml,那它又是用什么来规范它验证它的呢?是用DTD.url那里的东西就有.dtd是本源.schema总结:它的结构,各种元素及其比

2011-05-27 22:03:00 2263

原创 DTD

关于XMLXML描述的是文档的内容与语义,而不是文档应当如何显示。只是说明什么元素里面包含了什么元素,里面有什么内容,而不是让他用什么字体啊,颜色等去显示.standalone有表示这个是个独立的文档,不用DTD定义,格式正确就行了.通过样式,我们可以实现XML内容与展现形式的分离处理指令:这样去指定显示的样式表如果元素之间没有内容,可以用空元素来表示,如符合XML语法要求的XML文档就是格式正规的XML文档,相当于是符合JAVA语法的文件,但是并不是符合逻辑的格式正规的XML文档语法总结:1.XML文档结

2011-05-27 21:00:00 597

原创 DOM和SAX总结

DOM主要知识要点:树的概念,对象树的概念,几种重要的接口及其继承关系,Document,工厂的原理.NodeType相关,getChildNodes()相关;Node那里的那个表格要看看,即NodeValueDOM是种标准,可用于XML,也可用于HTML,作为W3C的标准接口规范,目前,DOM由三部分组成,包括:核心(core)、HTML和XML。核心部分是结构化文档比较底层对象的集合,这一部分所定义的对象已经完全可以表达出任何HTML和XML文档中的数据了。HTML接口和XML接口两部分则是专为操作具体

2011-05-27 20:23:00 625

原创 关于SAX,DOM,JAXP,JDOM,DOM4J(转)

第一:首先介绍一下SAX,DOM,JAXP,JDOM,DOM4J的基本知识:(注意:至于 JAXP  |   JAXB  |   JAXM  |   JAXR  |   JAX-RPC 分别指什么,查看http://gceclub.sun.com.cn/staticconte

2011-05-27 19:18:00 454

原创 简单工厂模式

简单工厂的意图:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。通常它根据自变量的不同返回不同的类的实例。适用性:简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建出哪一个产品类的实例。工厂:我叫他生产出一个产品给我就行了,我不需要管他是怎么样生产的.我们自己不用生产了,让工厂给我们生产.简单工厂模式的构成•工厂类(Creator)角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密

2011-05-26 19:11:00 475

原创 junit3.8源码分析

首先在TestSuite中的 public TestSuite(final Class theClass) {  fName= theClass.getName();设置断点,在这里设想,这个theClass是junit给我们传过来的,就是我们自己的那个测试类所对应的Class对象,单步执行,会到下面那段代码里面,这里会生成我们的测试类所对应的对象,采用反射的方式static public Test createTest(Class theClass, String name) {  Constructor

2011-05-25 11:08:00 1302

原创 junit4

JUnit 4全面引入了Annotation来执行我们编写的测试。JUnit 4并不要求测试类继承TestCase父类。在一个测试类中,所有被@Test注解所修饰的public,void方法都是test case(测试用例),可以被JUnit所执行。虽然JUnit 4并不要求测试方法名以test开头,但我们最好还是按照JUnit 3.8的要求那样,以test作为测试方法名的开头。在JUnit 4中,通过@Before注解实现与JUnit 3.8中的setUp方法同样的功能,通过@After注解实现与JUni

2011-05-25 11:02:00 745

原创 junit3.8

1. 使用Junit的最佳实践:1) 新建一个名为test的source folder,用于存放测试类源代码2) 目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面3) 测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest在junit 3.8中,测试类必须要继承于TestCase父类。测试方法需要满足如下原则:1). public的2). void的3). 无方法参数4). 方法

2011-05-25 10:50:00 1593

原创 组合模式

组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性组合模式的角色:Component(抽象构件接口)–为组合的对象声明接口–在某些情况下实现从此接口派生出的所有类共有的默认行为–定义一个接口可以访问及管理它的多个子部件Leaf(叶部件)–在组合中表示叶节点对象,叶

2011-05-24 21:02:00 407

原创 关于图形中的AWT和Swing中的图形的画和图形的写

<br />关于图形中的AWT和Swing中的图形的画和图形的写

2011-05-24 20:00:00 432

原创 命令模式(Command)

命令模式的意图:"将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求进行排队或记录请求日志..."Command模式告诉我们可以为一个操作生成一个对象并给出它的一个execute方法!也即:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。命令模式的构成1 客户角色:创建一个具体命令对象,并确定其接收者2 命令角色:声明一个给所有具体命令类的抽象接口。这是一个抽象角色,通常由一个接口或抽象类实现3 具体命令角色:定义一个接

2011-05-24 19:59:00 373

原创 适配器模式

•在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。新环境如测试中用的testXXX方法,现存对象就是junit框架中原本有的东西将一个类的接口(Adaptee)转换成客户希望的另外一个接口(Adapter)。Adapter模式使得原本由于接口不兼容(Target和Adaptee不兼容,不在一

2011-05-24 18:03:00 392

原创 模板方法

定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成步骤定义好了,如买菜,洗菜,做菜,洗碗,这些步骤是不能倒的.去哪买,怎么洗菜父类是不管的.他规定了算法的步骤.模板方法模式的组成–父类角色:提供模板。–子类角色:为模板提供实现。父类:public abstract class AbstractClass { public void templete(){//算法的骨架,

2011-05-24 16:04:00 382

原创 java网络编程

<br />这里主要就是两个方面,一个是基于TCP的网络编程,还有一个就是基于UDP的网络编程,<br />为什么会这样编写程序呢?因为是要基于这些的协议来编写程序嘛

2011-05-21 23:22:00 338

原创 深入JVM之二

这里主要是类的加载器问题分为JVM自带的类加载器和自己定义的类加载器注意这里的机制是父亲委托机制,但是不是继承关系哦,父子加载器并非继承关系,也就是说子加载器不一定是继承了父加载器。除了根类加载器一个父加载器都没有之外,其他的加载器都有且只有一个父加载器用户自定义的类加载器都是java.lang.ClassLoader的子类定义类加载器:如果某个类加载器能够加载一个类,那么该类加载器就称作:定义类加载器;定义类加载器及其所有子加载器都称作:初始类加载器实际上各种ClassLoader就是在各自的路径范围中去

2011-05-21 23:18:00 339

原创 深入JVM第一

这个主题主要是有两个方面,一个是类加载的过程,还有一个就是类加载器首先来看类加载的过程•加载:查找并加载类的二进制数据•连接–验证:确保被加载的类的正确性–准备:为类的静态变量分配内存,并将其初始化为默认值,注意,这里所说的都是静态变量–解析:把类中的符号引用转换为直接引用•初始化:为类的静态变量赋予正确的初始值类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构•加载.class

2011-05-21 23:04:00 424

原创 多线程

主要框架内容:线程概念,线程的生命周期,线程的实现,线程的优先级,多线程的同步,线程组1.什么是线程:线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。2. 什么是多线程:多线程则指的是在单个程序中可以同时运行多个不同的线程执行不同的任务.说明:线程是程序内的顺序控制流,只能使用分配给程序的资源和环境,线程一旦运行,就不能控制了.没法控制谁先执行,怎么交叉执行多线程编程的目的,就是"最大限度地利用CPU资源",当程序启动运行时,就自动产生一个线程,主方法main就在这个主线程上运行线程的实

2011-05-17 15:31:00 476

原创 关于实现Serialable接口的类中的serialVersionUID问题

当一个类实现了Serializable接口时,表明该类可被序列化,这个时候Eclipse会要求你为该类定义一个字段,该字段名字为serialVersionUID,类型为long你可以随便写一个,在Eclipse中它替你生成一个,有两种生成方式:一个是默认的1L,比如:private static final long serialVersionUID = 1L;一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersi

2011-05-17 14:54:00 691

原创 浅克隆和深克隆

•浅复制与深复制概念–浅复制(浅克隆):被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。–深复制(深克隆):被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。Java的clone()方法【定义在Object类中】–clone方法将对象复制了一份并返回

2011-05-17 14:49:00 1609

原创 装饰模式

装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,注意是对象,不像继承,继承是对类的扩展,是静态的.装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。装饰模式把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展完全是透明的。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。即对于客户端来说,它都只是个输入流或者是输出流.装饰模式的角色:–抽象构件角色(Component):给出一个抽象接口,以规范准备接收附加责任的对象。OutPutStream–具体构件角色(Co

2011-05-15 07:58:00 449

原创 io3

字符流:字符流层次结构的顶层是Reader 和Writer 抽象类。Reader类层次结构:它同样也是用了装饰模式的.Writer类层次结构:InputStreamReader和OutputStreamWriter这两个类是java.io包中用于处理字符流的基本类,用来在字节流和字符流之间搭一座“桥”。这里字节流的编码规范与具体的平台有关,可以在构造流对象时指定规范,也可以使用当前平台的缺省规范桥的作用通过它们的构造方法就可以看出来.RandomAccessFileRandomAccessFile包装了一个

2011-05-15 07:41:00 737

原创 io2

流的概念:输入:从外面的东西如磁盘输到内存里,从哪里读取输出:从你程序中流出去,如从内存上输到磁盘里,如你的字符串写入到磁盘,输出到哪里.输入/输出是相对于程序来说的。程序在使用数据时所扮演的角色有两个:一个是源,一个是目的。若程序是数据流的源,即数据的提供者,这个数据流对程序来说就是一个“输出数据流”(数据从程序流出)。若程序是数据流的终点,这个数据流对程序而言就是一个“输入数据流”(数据从程序外流向程序)流的分类:•从功能上分为两大类:输入流和输出流。•从流结构上可分为字节流(以字节为处理单位或称面向字

2011-05-15 07:20:00 555

原创 递归

递归:你就把返回的那个值即函数的返回值当作是它的一个计算,阶乘:public int compute2(int number){ if(1==number){  return1;//首先判断出口点 }else{  return number*compute2(number-1); }}斐波纳契数列public class Fab{ //使用递归计算斐波纳契数列 public int compute(int n) {  //递归的出口,首先判断出口点  if(1 == n || 2 == n)  {   re

2011-05-15 07:00:00 447

原创 io1

File对象:•一个File类的对象,表示了磁盘上的文件或目录•File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作•File类直接处理文件和文件系统。•File类没有指定信息怎样从文件读取或向文件存储•File类描述了文件本身的属性•File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径•File类还可以浏览子目录层次结构了解File类的几个构造方法:File myFile = new File(" myfile. txt");File myDir = new File(

2011-05-15 06:39:00 366

原创 异常使用陷阱

代码:public class ExceptionTest5{ public void method()  {  try  {   System.out.println("进入到try块");   System.exit(0);//这样调用的时候那么程序退出虚拟机了,所以finally里面的语句也不会执行   return;//这样调用finally里面的语句还是会执行的,最后才会return;  }  catch(Exception ex)  {   System.out.println("异常发生了")

2011-05-14 11:05:00 350

原创 Swing

The Swing API 功能是强大的,灵活的和广泛的。例如JFC 1.1 有15 public packages。我们经常用的有两个包:–javax.swing–javax.swing.event最主要的是要搞清楚顶层容器java 提供了三个顶层容器:JFrame, JDialog, 和JApplet。特点:•显示在屏幕上的每个组件都必须在一个包含继承中。每一个包含继承都有一个顶层容器作为它的根。•每一个顶层容器都有一个content pane,它包含了顶层容器中的所有组件•菜单在顶层容器中,但在con

2011-05-14 10:22:00 339

原创 图形GUI之AWT

GUI全称是Graphical User Interface,即图形用户界面。根据作用GUI组件可分为基本组件和容器。组件又称构件,诸如按钮、文本框之类的图形界面元素容器其实是一种比较特殊的组件,可以容纳其它组件,如窗口、对话框等所有的容器类都是java.awt.Container的直接或间接子类。AWT(Abstract Window Toolkit),抽象窗口工具包,SUN公司提供的用于图形界面编程(GUI)的类库。基本的AWT库处理用户界面元素的方法是把这些元素的创建和行为委托给每个目标平台上(Win

2011-05-14 10:05:00 569

原创 观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己任何一个模式都是离不开角色的,这里也会有几种角色:–抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实现。public interface Watched{ public void addWatcher(Watcher watcher)

2011-05-14 00:07:00 321

原创 内部类

内部类(Inner Class),内部类共分为4种。静态内部类(static inner class):如果一个类被static修饰,那么这个类必定是个内部类.只能访问外部类的静态成员变量与静态方法,包括private的静态成员.生成静态内部类对象的方式为:OuterClass.InnerClass inner = new OuterClass.InnerClass();如何去理解他的这种方式呢?就把它看成是一个类的静态成员就可以了代码:class StaticInner{  private static

2011-05-13 23:55:00 385

原创 注解

Java注解(Annotation):下面三个是常用注解a) Override注解表示子类要重写(override)父类的对应方法。b) Deprecated注解表示方法是不建议被使用的。c) SuppressWarnings注解表示抑制警告。在项目里面有些东西你想用JDK1.4,有些是想用JDK1.5,那么你可以用@suppressWarnings这样的注解,压制警告@SuppressWarnings("uncheck"),里面的"unchecked"是压制的警告类型.元素是数组的.可以看JDK文档,因为

2011-05-11 22:09:00 438

原创 代理模式

代理分为静态的和动态的代理代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,如中介公司可以给你找房子,房东是目标对象,中介公司他除了给你找房子之外他还可以做一些

2011-05-11 22:00:00 403

原创 反射

<br />一提到反射,那么就要想到是运行时的事,而不是编译时的事.<br />在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制<br />Java 反射机制主要提供了以下功能:(注意都是运行时的)<br />•在运行时判断任意一个对象所属的类。<br />•在运行时构造任意一个类的对象。<br />•在运行时判断任意一个类所

2011-05-11 21:36:00 428

原创 枚举和静态导入

枚举,里面的值就是枚举类型的,枚举里面也是可以定义main方法的.public enum Color{Red,White,Blue,Blace}表明Color这个枚举类型它有四个对象,而且只有四个,在编译的时候就已经确定好的了.我们不能在运行的时候又去产生出新的枚举对象.我们所定义的每个枚举类型都继承自java.lang.Enum类,它也可以有成员变量,有构造方法,而在编译的时候就已经确定好的了,那如何传,就用penny("hello"),nickel("world")这样去传.即在枚举里面它所定义的对象就

2011-05-10 12:00:00 1977

原创 自动装箱与可变参数

对于自动装箱,有一个需要注意的是:Integer类有一个缓存,它会缓存介于-128~127之间的整数。public class BoxTest2{ public static void main(String[] args) {  //Integer i1 = 100; // Integer i2 = 100;  Integer i1 = 200;  Integer i2 = 200;  if(i1 == i2)  {   System.out.println("i1 == i2");  }  else  

2011-05-10 11:55:00 350

原创 范型

所谓泛型:就是变量类型的参数化。范型就是很广泛的一种类型它不是JAVA中的一种类型,它打表的是那种类型的信息,你写成等等都是行的.当你不写上范型类别时,那就相当于是List,也即如果你用时默认是,学习时如果你看到类似这样,你就把先它当作Object就可以了.与的区别与联系,前者是声明一个范型时用到,而后者是声明的时候没有用到,当你实例化对象时才用到,即才传进去,举例的代码如下:前者:public class ListGenericFoo//声明的时候用了,那么以后你用的时候不管什么时候都限定死了它必须ext

2011-05-10 11:44:00 616

原创 策略模式(Strategy Pattern)

策略模式的定义–定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。–策略模式使这些算法在客户端调用它们的时候能够互不影响地变化策略模式的意义–策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是弱连接的关系。–弱连接的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性策略模式的组成–抽象策略角色:策略类,通常由一个接口或者抽象类实现–具体策略角色:包装了相关的算法和行为–环境角色:持有一个策略类的引用,最终给客户端调用的。策略模式的实现–策略模式

2011-05-10 11:23:00 437

android反编译工具

android的反编译工具,很有用的的东西哦

2012-03-31

w3school手册带目录

这个是w3school离线参考手册,chm版带目录的

2012-01-02

传智巴巴运动网源代码及文档

这是传智播客巴巴运动网的源代码和他的文档

2011-11-17

oracle的序列,同义词资料

oracle的序列,同义词相关资料,呵呵,

2011-06-19

schema学习资料

这个是schema的学习资料,可以不时的复习一下,呵呵

2011-05-27

空空如也

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

TA关注的人

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