自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【XML】DOM—JAXP 解析

DOM 解析器文档对象模型(Document Object Model),规定了解析文档的接口,各种语言都可以按照DOM规范去实现这些接口,DOM规范可以解析的文档和广泛,包括XML文件和HTML文件。语言绑定:在特定语言中,使用DOM规范需要定义DOM规范制定的接口,并给出实现接口的类的集合。Sun公司提供了JAXP,实现了DOM规范的Java语言绑定。

2016-12-30 18:21:49 629

原创 【XML】SAX 解析

1. XML SAX解析1.1 SAX解析器SAX(Simple API for XML)是一种XML文档解析标准是一个公共的基于事件的解析器SAX作为接口,是事件驱动型XML解析的标准接口,对文档进行顺序扫描,当扫描到document开始,element开始与结束,document结束等地方时,通知事件处理函数作出相应的动作。与DOM相比,SAX占用的系统资源更少1.2 SAX API事件

2016-12-30 15:21:42 468

原创 【XML】文档结构与语法规则

XML定义XML=Extensible Markup Language,可扩展标记语言,适合Web传输,设计宗旨是为了传输数据。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据,XML标签没有被预定义,需要开发者根据需要自行定义标签。

2016-12-30 15:18:21 598

原创 网络数据包捕捉工具jNetPcap学习笔记(一)

Java平台本身不支持底层网络操作,需要第三方包利用JNI封装不同系统的C 库来提供Java的上层接口。常用的类库包括 JPcap,JNetPcap等,他们都是基于TcpDump/LibPcap的Java封装。本文对jNetPcap官网的Tutorial教程做了分析,欢迎大家指正。

2016-12-28 22:40:54 9750 5

原创 【高级特性】String,StringBuffer,StringBuilder

1.String1.1 String的创建方式常用创建方式:String str=”thisi is a string“ 相同的字符串只创建一次,多个字符串常量可以同时对其内存空间引用。 不常用的创建方式:String str=new String(“this is a string”) 针对每一个字符串变量,栈内存都要开辟新的空间存储变量,即使变量是完全相同的。1.2 String对象的特点

2016-12-26 21:26:03 529

原创 【Eclipse的正确打开方式】从StarUML到GEF到AmaterasUML

因为要写论文,想找个优雅一点的姿势画类图,当时不知道怎么想的,在viso和StarUML里选了后者(是的,我就是有自虐倾向),后来在一抹黑的界面上捣鼓了半天才知道现在能用的只有破解版……StarUML确实功能齐全有强大,但是画多了还是神烦,尤其是照着源代码画的时候,我感觉我在做史上最无聊的事情!!!就在这时,这篇帖子拯救了我: Eclipse UML插件AmaterasUML的配置及使用 时隔多年

2016-12-23 21:37:58 5287

原创 【重构】使用简单工厂模式重构Switch语句

Code Smell:Switch StatementsSwitch语句的问题在于,一旦有新case出现,Switch语句块就要加上这条case。如果Switch语句块很多且散布在不同的地方,找到并修改它们将是非常恐怖的事

2016-12-23 12:29:27 7524 2

原创 【Eclipse的正确打开方式】从Libraries中的jar包到源代码和API连接

Eclipse是一个通用型的开发环境,在学习过程中,对Eclipse配置原理的深入理解有助于我们更好的使用这个强大的开发工具。

2016-12-22 12:43:18 3027 1

原创 【JUnit实战】为应用程序Controller设计单元测试

在本章中,我们为一个简单但完整的应用程序controller创建了一个测试用例。测试用例并不是测试单个的组件,而是检验多个组例,如何一起工作。我们从一个可以用于任何类的简单测试用例开始.然后把新的测试逐个添加到测试用例中,直到所有初始的组件都被测试到。由于断言变得越来越复杂、因此我们通过Hamcrest匹配器找到了一种简化断言的方法。我们预期这个包会日益增长,所以我们为测试类创建了另一个源代码目录。

2016-12-20 22:44:25 3148

原创 【设计模式】装饰模式

定义:表示动态的给一个对象添加一些新的功能,但是比生成子类方式更灵活。(当然利用子类继承父类也可以实现,但是不推荐)核心:动态地扩展一个实现类的功能。(装饰模式是继承关系的一个替换方案,不管装饰多少层,返回的对象构件角色)

2016-12-16 12:14:40 259

原创 【IO流】字节输入输出流

0. 字节流框架1. InputOutputStreanm 字节输入输出流字节流类用于向字节流读写8位二进制的字节,一般的,字节流类主要用于读写注入图像或声音等多媒体的二进制数据.

2016-12-14 21:49:22 869

原创 【IO流】File类及递归算法访问文件

1. File类File类的对象表示了磁盘上的文件或目录File类提供了平台无关的方法对磁盘上的文件或目录进行操作File类直接处理文件和文件系统,比如删除文件,获取文件长度大小等信息File类没有提供方法从文件读取或向文件存储信息

2016-12-14 12:19:55 382

原创 【IO流】IO框架

流是一个很形象的概念,当程序需要读取数据的时候,会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。类似的。当程序需要写入流的时候就会开启一个通向目的地的流。

2016-12-14 10:57:07 518

转载 【多线程】多线程编程:线程通信

线程通信:线程通信使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。线程通信的实现方式:1. 通过共享对象通信2. 忙等待3. wait(),notify()和 notifyAll()4. 丢失的信号5. 假唤醒6. 多线程等待相同信号

2016-12-14 10:34:06 287

原创 【多线程】多线程编程:线程同步

线程同步:为什么需要同步?线程同步是为了防止多个线程访问一个数据对象时,对数据造成破坏。线程的同步是保证多线程安全访问竞争资源的一种手段同步和锁:Java中每个对象都有一个内置锁获得一个对象的锁也称为:获取锁;锁定对象;在对象上锁定;在对象上同步一个对象只有一个锁,所以如果一个线程获得该锁,该对象上的其他线程就没有可以获得的锁,直到第一个线程释放锁。

2016-12-14 10:02:14 533

原创 【多线程】线程的生命周期

生命周期的五种状态:新建,就绪,运行,阻塞,死亡

2016-12-13 14:07:42 462

原创 【多线程】Java线程模型

程序:安装在磁盘上的一段指令的集合,是静态的。进程:是运行中的程序,是动态的。每个进程有独立的资源空间。线程:又称轻量级进程,是程序执行流的最小单元,是程序中单一的顺序控制流程。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。多线程:在单个程序中,可以同时运行多个不同的线程执行不同的任务

2016-12-13 12:02:08 325

原创 【异常】案例讲解:医生给病人看病

案例介绍:工作者在工作过程中可能会生病,医生监控此病人的状态,如发现工作者生病了就给医治。案例设计:1. 创建工作者类,封装相应的属性和方法。工作者是生病的主体,所以由工作者类抛出自定义异常。2. 创建医生类,封装相应的属性和方法。医生医治疾病,可以再医生类里捕获自定义异常。3. 创建自定义异常类,当工作者生病的时候就抛出此自定义异常。

2016-12-13 11:28:34 1345

原创 【异常】自定义异常

Java提供的异常体系不可能预见所有希望加以报告的错误:1. 自定义异常类必须从已有的异常类继承2. 自定义异常是不是受查异常(非受查异常)就看父类是不是受查异常(非受查异常)3. 建立新的异常类型最简单的方法就是让编译器产生默认构造方法4. 对异常来说,最重要的部分就是它的类名,抛出后可以通过类名判断发生异常的原因5. 可以为异常类定义一个接收字符串参数的构造方法,字符串参数描述异常信息

2016-12-13 11:17:58 492

原创 【异常】异常的概念,分类和处理机制

异常是指程序运行过程中发生的一些不正常事件(如除0溢出,数组下标越界,所要读取的文件不存在) 抛出异常:Java程序的执行过程中如果出现异常事件,可以生成一个异常类对象,该对象封装了异常事件的信息,并将其提交给Java运行系统,这个过程称为抛出异常,不出力的话会直接导致程序中断。设计良好的程序应该在程序异常发生时提供处理这些异常的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果

2016-12-13 11:02:55 13663 2

原创 【泛型】案例讲解:自定义一个可以存放指定数据的容器

案例介绍:要求自定义一个容器,次容器可以存放指定类型的数据,通过泛型来实现案例设计: - 设计定义一个泛型类 - 设计add方法给容器添加数据 - 设计get方法获取容器中指定位置的数据 - 设计size方法获取容器中数据的多少 - 要求容器超过容量要自动扩容

2016-12-12 22:43:30 1566

原创 【泛型】泛型方法

泛型只涉及到某个方法中的参数声明时,使用泛型方法而不是泛型类。定义:不仅类可以声明泛型,类中的方法也可以声明仅用于自身的泛型,这种方法叫做泛型方法。泛型可用于返回类型声明,参数类型声明,局部变量的类型声明格式:访问修饰符<泛型列表> 返回类型 方法名(参数列表){ 实现代码}

2016-12-12 17:51:35 344

原创 【泛型】类型通配声明

同一泛型类,如果实例化时,给定的实际类型不同,则这些实例的类型是不兼容的,不能相互赋值。泛型类实例之间的不兼容性,会带来使用的不便。我们可以使用泛型通配符(?),声明泛型类的变量就可以解决这个问题。

2016-12-12 15:47:35 372

原创 【泛型】限制泛型可用类型

默认创建的类型是没有任何限制的,如果想显示泛型的数据类型,通过extends关键字指定该类型必须是继承某个类或者实现某个接口,这时候泛型就被限制在父类及其所有子类或者接口及其实现类中的数据类型范围中。

2016-12-12 15:45:51 3328

原创 【更新中】黑客与画家读书笔记

我读的是精装本,译者阮一峰的序前面有详细介绍保罗的生平,一个非常令人钦佩的创业者。他的求学生涯看似迷茫混沌,但他对多个维度知识领域的追求却成就了他之后的事业发展丰碑。从他的阅历我们似乎可以看到一模一样的事情在中国互联网领域正在发生,而他的思想和决策在当时硅谷的创业圈敢得了伟大的成功。相信他的智慧同样对今天中国的互联网从业者们有借鉴意义。

2016-12-10 21:11:29 557

原创 【泛型】泛型简介和泛型类

在泛型引入之前,如果我们需要产生多个对象,每个对象的逻辑完全一样,只是对象内的成员变量的类型不同,那么我们只能创建多个类文件,给每个类的成员变量设置不同的数据类型。这么做会导致类的膨胀,重用性太差。一种方式是对将Object作为变量类型,但是需要对获取的数据进行强制类型转换,这个过程可能导致类型转换异常。另一种方式,泛型是解决上述问题的有效方法。

2016-12-10 20:54:16 466

原创 【内部类】案例讲解:使用内部类开发一个存放数据的容器

案例介绍:开发一个容器用来存放键值对,键用来存放英文名字,值用来存放中文名字,对键值对使用内部类进行封装。案例设计:使用静态内部类封装键值对数据容器默认容量大小为5,超过就扩容2倍通过调用entryArray方法返回容器中的数据

2016-12-10 17:13:26 460

原创 【内部类】局部内部类及应用

定义在代码块,方法体内的类叫局部内部类局部内部类访问外部类的成员使用:外部类名.this.成员名对外部世界完全隐藏,只在其作用域内生成对象局部类不能加访问修饰符,因为它们不是类成员成员内部类不能与外部类重名局部内部类访问作用域内的局部变量,该局部变量需要使用final修饰

2016-12-10 16:59:13 3139 3

原创 【内部类】匿名内部类及应用

是没有名称的内部类,没有办法引用它们。必须在创建时,用new语句的一部分来声明并创建他们的实例必须继承一个类(抽象的,非抽象的都可以)或者实现一个接口。如果父类或接口是抽象类,匿名内部类必须实现其所有的抽象方法在匿名内部类中可以定义代码块,用于实例的初始化,但是不能定义静态代码块

2016-12-10 16:51:19 444

原创 【内部类】静态内部类及应用

特点:使用static修饰的成员内部类静态内部类和外部类没有任何关系,只是在生成类名和类定义时有影响静态内部类可以看做是与外部类平级的类创建静态内部类实例: 外部类名.内部类名 实例名=new 外部类名. 内部类构造方法(参数)限制:静态内部类不能与外部类重名静态内部类不能访问外部类的非静态成员,外部类不能访问内部类的非静态成员

2016-12-08 21:24:06 440

原创 【内部类】内部类的概念及成员内部类

内部类的主要特点内部类可以很好的实现隐藏,使用private,protected关键字。而这些,外部类是不能使用的。内部类可以直接访问外部类的所有成员,包括私有的成员外部类不能直接访问内部类的成员,必须首先要建立内部类的对象才能访问内部类可以解决一些问题,比如间接地实现多继承,可以避免修改接口而实现同一个类中两种同名方法的调用(一般不这么做)

2016-12-08 21:14:15 476

原创 【反射】案例讲解:通过反射机制来复制一个对象

Student类,有属性id, name, age, 还有对应的get,set方法和构造方法。 现产生一个Student对象。通过反射复制此Student对象。复制时,并不知道源对象具体的属性名称。

2016-12-08 20:54:28 2173

原创 【反射】JAVA反射机制

反射机制是在运行状态中,对类信息的获取,以及对对象方法的调用机制。在Java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息: - 访问修饰符 - 继承的父类 - 实现的接口 - 属性和方法反射机制还可以操作对象实例: - 创建对象 - 修改对象属性 - 调用对象方法

2016-12-08 19:39:19 349

原创 【集合框架】6. 迭代模式

集合框架6. 迭代模式案例介绍:提供一种方法,访问一个容器对象中的各个元素,而又不暴露该对象的内部细节案例设计:* 迭代器角色(Iterator)* 具体迭代器角色(Concrete Iterator)* 容器角色(Container)* 具体容器角色(Concrete Container)

2016-12-04 21:07:52 197

原创 【集合框架】5. Collections类

集合框架5. Collections类注意区分Collection接口,Collection是集合框架里的接口Collections 专门为其他的类服务,服务的对象是类集和Map,它提供了很多静态方法

2016-12-04 21:06:31 225

原创 【集合框架】4. Set容器

集合框架4. Set容器4.1 HashSet接口4.2 TreeSet接口

2016-12-04 21:05:20 180

原创 【集合框架】3. Map容器

集合框架3. Map容器Map接口: 映射唯一关键字给值Map.Entry接口: 描述映射中的元素,是Map类中的一个子类SortedMap接口: 扩展Map以便关键字按升序排列

2016-12-04 21:04:09 415

原创 【集合框架】2. List容器

集合框架2. List容器2.1 ArrayList——动态数组2.2 LinkedList——链表

2016-12-04 21:01:42 418

原创 【集合框架】1. 集合框架的介绍

1.框架是一个类库的集合,集合框架就是一个用来表示和操作集合的统一的架构,它包含了实现集合的接口与类2.集合框架中不同的集合类有各自不同的数据结构,所以在使用中要根据应用的性能要求来选择不同的集合类3.集合类存放在java.util包中,今后会大量使用集合类和相关接

2016-12-04 20:55:04 324

空空如也

空空如也

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

TA关注的人

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