XML
1. XML基本介绍1.1 概述XML即可扩展标记语言(Extensible Markup Language)
W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版
本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是
1.0版本 !
特点
可扩展的, 标签都是自定义的
语法十分严格
1.2 XML的作用XML能做什么?
功能
说明
存储数据
通常,我们在数据库中存储数据。不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中
配置文件
作为各种技术框架的配置文件使用 (最多)
在网络中
客户端可以使用XML格式向服务器端发送数据,服务器接收到xml格式数据,进行解析
2. XML语法2.1 XML文档声明格式
文档声明必须为结束
文档声明必须写在第一行
1)语法格式
1<?xml vers ...
反射机制
1 基本概念
通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写 代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递 的参数来决定,该机制叫做动态编程技术,也就是反射机制。
通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。
目前主流的框架底层都是采用反射机制实现的。
如:
1234//表示声明Person类型的引用指向Person类型的对象Person p = new Person();//表示调用Person类中的成员方法showp.show();
2 Class类2.1 基本概念
java.lang.Class类的实例可以用于描述Java应用程序中的类和接口,也就是一种数据类型。
该类没有公共构造方法,该类的实例由Java虚拟机和类加载器自动构造完成,本质上就是加载到内 存中的运行时类。
2.2 获取Class对象的方式
使用数据类型.class的方式可以获取对应类型的Class对象(掌握)。
使用引用/对象.getClass()的方式可以获取对应类型的Class对 ...
网络编程
1 网络编程的常识
目前主流的网络通讯软件有:微信、QQ、飞信、阿里旺旺、陌陌、探探、…
1.1 七层网络模型
OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985 年研究的网络互连模型。
OSI七层模型和TCP/IP五层模型的划分如下:
当发送数据时,需要对发送的内容按照上述七层模型进行层层加包后发送出去。
当接收数据时,需要对接收的内容按照上述七层模型相反的次序层层拆包并显示出来。
1.2 相关的协议(笔试题)(1)协议的概念
计算机在网络中实现通信就必须有一些约定或者规则,这种约定和规则就叫做通信协议,通信协议 可以对速率、传输代码、代码结构、传输控制步骤、出错控制等制定统一的标准。
(2)TCP协议
传输控制协议(Transmission Control Protocol),是一种面向连接的协议,类似于打电话。
建立连接 => 进行通信 => 断开连接
在传输前采用”三次握手”方式。
在通信的整个过程中全程保持连接,形成数据传输通道。 保证了数 ...
多线程
1 基本概念1.1 程序和进程的概念
程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件。
进程 - 主要指运行在内存中的可执行文件。
目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务,但进程是重量级的, 也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限。
1.2 线程的概念
为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多 进程的,而每个进程的内部又是支持多线程的,线程是轻量的,新建线程会共享所在进程的系统资 源,因此目前主流的开发都是采用多线程。
多线程是采用时间片轮转法来保证多个线程的并发执行,所谓并发就是指宏观并行微观串行的机 制。
2 线程的创建(重中之重)2.1 Thread类的概念
java.lang.Thread类代表线程,任何线程对象都是Thread类(子类)的实例。
Thread类是线程的模板,封装了复杂的线程开启等操作,封装了操作系统的差异性。
2.2 创建方式
自定义类继承Thread类并重写run方法,然后创建该类的对象调用start方法。
自定义类实现 ...
异常机制和File类
1. 异常机制(重点)1.1 基本概念
异常就是”不正常”的含义,在Java语言中主要指程序执行中发生的不正常情况。
java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类。
其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了 等。
其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决, 如:0作为除数等。
1.2 异常的分类
java.lang.Exception类是所有异常的超类,主要分为以下两种:
RuntimeException - 运行时异常,也叫作非检测性异常
IOException和其它异常 - 其它异常,也叫作检测性异常,所谓检测性异常就是指在编译阶段都能 被编译器检测出来的异常。
其中RuntimeException类的主要子类:
ArithmeticException类 - 算术异常
ArrayIndexOutOfBoundsException类 - 数组下标越界异常
NullPointerExceptio ...
常用设计原则和设计模式
1. 常用的设计原则(记住)1.1 软件开发的流程
需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级
1.2 常用的设计原则
开闭原则(Open Close Principle) 对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。
里氏代换原则(Liskov Substitution Principle) 任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。
依赖倒转原则(Dependence Inversion Principle) 尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性
接口隔离原则(Interface Segregation Principle) 尽量多使用小接口而不是大接口,避免接口的污染,降低类之间耦合度。
迪米特法则(最少知道原则)(Demeter Principle) 一个实体应当尽量少与其他实体之间发生相互作用,使系统功能模块相对独立。 高内聚,低耦合。
合成复用原则(Composite Reuse Principle) 尽量多使用合成/聚合的方式,而不是继承的方式。
2. ...
集合类库(下)
1. 泛型机制(熟悉)1.1 基本概念
通常情况下集合中可以存放不同类型的对象,是因为将所有对象都看做Object类型放入的,因此 从集合中取出元素时也是Object类型,为了表达该元素真实的数据类型,则需要强制类型转换, 而强制类型转换可能会引发类型转换异常。
为了避免上述错误的发生,从Java5开始增加泛型机制,也就是在集合名称的右侧使用<数据类型> 的方式来明确要求该集合中可以存放的元素类型,若放入其它类型的元素则编译报错。
泛型只在编译时期有效,在运行时期不区分是什么类型。
1.2 底层原理
泛型的本质就是参数化类型,也就是让数据类型作为参数传递,其中E相当于形式参数负责占位, 而使用集合时<>中的数据类型相当于实际参数,用于给形式参数E进行初始化,从而使得集合中所 有的E被实际参数替换,由于实际参数可以传递各种各样广泛的数据类型,因此得名为泛型。
如:
12345678910111213141516171819//其中i叫做形式参数,负责占位//int i = 10;//int i = 20;public static void show ...
集合类库(上)
1. 集合的概述(重点)1.1 集合的由来
当需要在Java程序中记录单个数据内容时,则声明一个变量。
当需要在Java程序中记录多个类型相同的数据内容时,声明一个一维数组。
当需要在Java程序中记录多个类型不同的数据内容时,则创建一个对象。
当需要在Java程序中记录多个类型相同的对象数据时,创建一个对象数组。 当需要在Java程序中记录多个类型不同的对象数据时,则准备一个集合。
1.2 集合的框架结构
Java中集合框架顶层框架是:java.util.Collection集合 和 java.util.Map集合。
其中Collection集合中存取元素的基本单位是:单个元素。
其中Map集合中存取元素的基本单位是:单对元素。
2. Collection集合(重点)2.1 基本概念
java.util.Collection接口是List接口、Queue 接口以及Set接口的父接口,因此该接口里定义的方法 既可用于操作List集合,也可用于操作Queue集合和Set集合。
2.2 常用的方法(练熟、记住)
方法声明
功能介绍
boolean add(E e ...