一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储.   序列化保存对象的“全景图”,构建对象的“全景天窗”. 如果一个类的对象想被序列化,则对象所在的类必须实现java.io.Serializable接口 二.对象的序列化和反序列化 要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream) 使用对象输出流输出序列化…
一.三个静态变量 java.lang.System提供了三个静态变量 System.in(默认键盘) System.out(默认显示器) System.err 二.重写向方法 System提供了三个重定向方法 方法 说明 static void setErr(PrintStream errr) 重定向标准错误输出流 static void setIn(InputStream in ) 重定向标准输入流 static void setOut(PrintStream out) 重定向歀输出流 三.例…
一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的满时,再把缓冲区的内容写到字符输出流中 二.对文本文件的读写 2.1.字符输入流 2.2.字符输出流 2.3.综合使用 package com.pb.io.buffered; import java.io.BufferedReader; import java.io.BufferedWriter;…
一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test.txt文件内容 abcdefg package com.pb.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOExcept…
一.流概念(stream) File类并不能对文件内容进行读写. 读文件就是指:把文件的内中的数据读取到内存中来 写文件就是指:把内存中的数据写入到文件中去. 通过什么读写文件呢?文件流. 1.1.流概念 一连串流动的字符 1.2.流的特性 先进先出的方式传递信息 一个字节序列 具有方向性:输入流.输出流 二.按照流向划分 输入流:读取数据--InputStream和Reader作为基类 输出流:写入数据--OutputStream和Writer作为基类 一共四个4基类. 其中InputStre…
一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完成 二.Pattern.Matcher类 如果要想在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义.Pattern类的主要作用是进行正则规范的编写,而Matcher类主要是执行规范,验证一个字符串是否符合其规范.   常用正则规则…
一.StringBuffer连接字符操作 当一个字符串的内容需要被经常改变时就要使用StringBuffer 在StringBuffer中使用append()方法,完成字符串的连接操作   二.StringBuffer类的常用方法 No. 方法定义 类型 描述 1 public StringBuffer() 构造 StringBuffer的构造方法 2 public StringBuffer append(char c) 方法 在StringBuffer中提供了大量的追加操作(与String中使…
一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法.另外,BigInteger 还提供以下运算:模算术.GCD 计算.质数测试.素数生成.位操作以及一…
一.面象对象 二.什么是类 我肯定说,不知道.不清楚. 简单讲类是java中的基本单元,类是具有相同特性和行为的对象集合 三.类的定义 3.1.类的定义 class 类名称{ 数据类型  属性 ; ….                              public 返回值的数据类型 方法名称(参数1,参数2…){     程序语句 ;          [return 表达式;] } }   3.2.类包含:属性和方法(行为) package com.pb.demo2; /* * 人类…
一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机. 而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的. 目前较为流行的网络编程模型是客户机/服务器(C/S)结构.即通信双方一方作为服务器等待客户提出请求并予以响应.客户则…
一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态产生,动态消亡. 进程是并发性的. 进程独立性.是一个独立运行的基本单位,也是系统分配资源和调度的基本单位 1.2.线程 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位 线程:进程内部的一个执行单元,它是程序中一个单一的顺序控制流程 特点: 线程依赖进程生存 一个进程…
一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反射.通过反射,Java可以于运行时加载.探知和使用编译期间完全求和的类.生成其对象实体,调用其方法或者对属性设值.所以Java算是一个半动态的语言吧. 反射的概念: 在Java中的反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方…
一.简述 二.使用步骤 DataInputStream: 引入相关的类 构造数据输入流的对象(如:FileInputStream,BufferedWriter包装后读取文件等) 读取二进制文件的数据 关闭数据输入流 DataOutputStream: 引入相关的类 构造数据输出流的对象(如:FileOputStream,BufferedWriter包装后写入文件等) 写入二进制文件的数据 关闭数据输入流 三.使用 package com.pb.data; import java.io.Buffe…
一.简述 在整个io包中,唯一表示与文件本身有关的类就是File类.使用File类可以进行创建或删除文件等常用操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示: public File(String pathname) ->实例化File类的时候,必须设置好路径. 二.File类中的主要方法和常量 No. 方法或常量 类型 描述 1 public static final String pathSeparator 常量 表示路径的分隔符(windows是:“…
一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的时间精确到毫秒.但是,这个类本身是一个抽象类,如果要想使用一个抽象类,则必须依靠对象的多态性,通过子类进行父类的实例化操作,Calendar的子类是GregorianCalendar类. package com.pb.demo3; import java.util.Calendar; import…
一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类的构造方法和静态方法 2.1.第一种 public Type (type value) 其中首字母大写的Type表示包装类,小写的type表示基本类型 这个构造方法接收一个基本数据类型值,并创建一个与之相应的包装类. 可以使用new关键字将一个基本类型包装为一个对象 Integer intValue…
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二.Collections类的常用方法及常量 No. 方法 类型 描述 1 public static final List EMPTY_LIST 常量 返回一个空的List集合 2 public static final Set EMPTY_SET 常量 返回空的Set集合 3 public sta…
一.Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素 Set接口的主要方法与Collection是一致的 Set接口的实例无法像List接口那样进行双向输出.不存在get方法使用Iterator接口来遍历集合 2个常用方法:hasNext方法表示判断是否还有元素可以迭代 next()方法:返回迭代的下一个元素 Set接口的常用子类 散列存放:HashSet 有序存放:TreeSet 二.使用SetH…
一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 No 接口 描述 1 Collection 是存放一组单值的最大接口,所谓的单值是指集合中的每个元素都是一个对象.一般很少会直接使用此接口直接操作. 2 List 是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩充,里面的内容是允许重复的. 3 S…
一.软件测试 软件开发: 项目调研--需求分析--软件设计--程序编码--软件测试--运行维护 软件测试:利用测试工具按照测试方案和流程对产品进行功能和性能测试,使用人工或者自动手段来运行或测试某个系统的过程.目的在于检验是否满足规定的需求,确认预期结果与实际结果之间的差别. 墨盒测试-白盒测试-回归测试-单元测试 二.JUnit-单元测试工具 三.测试Junit测试类 创建被测试类 package com.pb.junit; /** *1.创建被测试类 *2.Junit 3.0或者4.0 这里…
一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <PhoneInfo name="手机品牌"> <Brand name="华为"> <Type name="U8650"> </Type> </Brand…
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { public static void main(String[] args) { System.out.println("求平方根:" + Math.sqrt(9.0)); System.out.println("求两数的最大值:" + Math.max(10,30))…
一.回顾Spring整合Mybatis Spring 整合 Mybatis 需要定义很多配置类 SpringConfig 配置类 导入 JdbcConfig 配置类 导入 MybatisConfig 配置类 @Configuration @ComponentScan("com.itheima") @PropertySource("classpath:jdbc.properties") @Import({JdbcConfig.class,MyBatisConfig.c…
$temp= array(1,2,3,,,,) 创建一个数组赋值给temp $id=range(1,6,2);     成长值   1到6  跨度为2  就是3个长度数组 也可以是字符“a” "f" is_array() 是否十数组 array_unshift($xx,"",""); 在首部添加 信息array_push() 同上 在尾部添加信息array_shift() 头删除array_pop() 尾部删除in_array(字符串key,数组…
1.类的加载过程----了解 2.类的加载器的作用 3.类的加载器的分类 4.Java类编译.运行的执行的流程 5.使用Classloader加载src目录下的配置文件 @Test public void test2() throws Exception { Properties pros = new Properties(); //此时的文件默认在当前的module下. //读取配置文件的方式一: // FileInputStream fis = new FileInputStream("jd…
一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. 使用关键字enum来定义一个枚举 package com.pb.demo1; /* * 枚举类型一周的天数 */ public enum Week { //周一到周日 MON,TUE,WED,THU,FRI,SAT,SUN } package com.pb.demo1; public class W…
使用public class和class声明的区别 public class文件名称必须与类名称一致 class文件名称可以与类名称不一致  …
JAVA之旅(十九)--ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习 关于数据结构,所讲的知识太多了,我们只能慢慢的来分析了 一.ListIterator列表迭代器 ListIterator列表迭代器是个什么鬼?我们通过一个小例子来认识他 package com.lgl.hellojava; import java.util.ArrayList; import java.util.Itera…
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对象后,我们可以根据Collection中的方法进行排序,查找,替换操作.而不用在东奔西走的利用什么各种排序算法.正则来实现了.在进行数组排序时,有时反而会因为参数问题而大费周折.例如,自己在利用快排进行数组排序时,当将参数(int [] a, 使用1来代替 Collections.frequency…
1.简介 在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如js来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作,本文将来讲解怎样来调用JavaScript完成特殊操作. 2.用法 创建一个执行 JS 的对象,也就是 JavascriptExecutor 对象,这个对象是由 driver 进行强制类型转换而来,即JavascriptExecutor js= (JavascriptExecutor)driver:然后这个对象 js 就可以调用 exe…