Java知识点
欲劫无度`
虽然每天烦躁的事情有很多,但也得抽空让自己开心一点。
展开
-
你懂java.io.Serializable接口吗?
先来说明一下我刚遇到的困惑:在学持久层框架MyBatis的时候,发现老师们总是给实体类实现一个Serializable接口,并告诉我们此接口是一个序列化接口…今天打算去深究一下。哈哈,打开源码我懵了public interface Serializable { },哈哈哈哈哈嗝~~~我一看注释,嗯,果然是全英文,大概能懂其中一两句,意思很模糊。找了下百度,好,说得我更加云里雾里。然后便来博客上观...原创 2019-10-29 18:27:35 · 214 阅读 · 0 评论 -
字符流
字符输入流【Reader】java.io.Reader是字符输入流的最顶层的父类,定义了一些共性的成员方法,是一个抽象类。共性的成员方法:int read():读取单个字符并返回。inr read(char[] cbuf):一次读取多个字符,将字符读入数组。void close():关闭该流并释放与之关联的所有资源。java.io.FileReader extends InputSt...原创 2019-05-17 03:36:52 · 105 阅读 · 0 评论 -
IO异常的处理
一丶在jdk1.7之前使用try catch finally处理流中的异常。格式:try{//可能会产生异常的代码}catch(异常类的变量 变量名){//异常的处理逻辑}finally{//一定会被执行的代码//资源释放}二丶jdk7和jdk9中流的异常处理。JDK7的新特性:在try的后边可以增加一个(),在括号中可以定义流对象。那么这个流对象的作用域就在try...原创 2019-05-17 04:26:44 · 1608 阅读 · 0 评论 -
面向对象特征之多态。
面向对象三大特征:封装性、继承性、多态性。extends继承或者implements实现,是多态性的前提。一个对象拥有多种形态,这就是:对象的多态性。一丶代码当中提箱多态性,其实就是一句话:父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称();或者:接口名称 对象名 = new 实现类名称();二丶在多态的代码中,访问成员变量的两种方式:1、直接通过对象...原创 2019-05-13 01:59:02 · 116 阅读 · 0 评论 -
JavaScript基础
JavaScript概念:一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。脚本语言:不需要编译,直接就可以被浏览器解析执行了。功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript发展史:1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表...原创 2019-05-26 22:18:23 · 73 阅读 · 0 评论 -
Map集合
Map集合java.util.Map<K,V>特点:1、Map集合是一个双列集合。一个元素包含两个值(一个key,一个value)2、Map集合中的元素,key和value的数据类型可以相同,也可以不同。3、Map集合中的元素,key是不允许重复的,value是可以重复的。4、Map集合中的元素,key和value是一一对应的。Map集合的常用实现类java.util....原创 2019-05-31 00:36:38 · 176 阅读 · 0 评论 -
泛型
泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型。泛型也可以看成是一个变量,用来接收数据类型。E e : Element 元素T t :Type 类型例如:ArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以类型使用泛型。E:未知的数据类型。public class ArrayList<E> { public bo...原创 2019-05-31 13:13:01 · 1129 阅读 · 1 评论 -
Collections
java.util.Collections是集合工具类,用来对集合进行操作。Collections集合工具类的常见方法:public static boolean addAll(Collection c,T…elements): 往集合中添加一些元素。public static void shuffle(List<?> list): 打乱集合的顺序。public stat...原创 2019-05-31 13:48:28 · 140 阅读 · 0 评论 -
Properties属性集
java.util.Properties集合 extends Hashtable <K,V> implements Map<K,V>Properties类表示一个持久的属性集.Properties可保存在流中或从流中加载。属性列表中每个键及其对应的值都是一个字符串。Properties集合是一个唯一和IO流相结合的集合可以使用Properties集合中的方法store...原创 2019-06-03 15:52:46 · 162 阅读 · 0 评论 -
缓冲流
缓冲流的基本原理缓冲流也叫搞笑流,是对4个基本的FileXXX流的增强,所以也是4个流,按照数据类型分类:字节缓冲流: BufferedInputStream ,BufferedOutputStream字节缓冲流: BufferedReader ,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读...原创 2019-06-03 20:56:40 · 147 阅读 · 0 评论 -
转换流
FileReader可以读取默认编码格式(UTF-8)的文件。FileReader读取系统默认编码(中文GBK)会产生乱码。转换流的原理java.io.InputStreamReader是字节流通向字符流的桥梁。可以指定编码表。java.io.OutputStreamWriter是字符流通向字节流的桥梁。可以指定编码表。OutputStreamWriterjava.io.Output...原创 2019-06-03 22:22:01 · 112 阅读 · 0 评论 -
序列化流和反序列化流
概述注意:序列化和反序列化时,会抛出NotSerializableException没有序列化异常。类通过实现java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化和反序列化。Serializable接口也叫标记型接口。要进行序列化和反序列化的类必须实现Serializable接口,就会给类添加一个标记。当我们进行序列化和反序列化的...原创 2019-06-04 20:14:35 · 138 阅读 · 0 评论 -
网络编程
网络通信概述软件结构:C/S结构:Client/Server结构B/S结构:Browser/Server结构网络通信协议:网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一网络中的计算机在进行连接和通信时需要遵守一定的规则。TCP/IP协议:传输控制协议(因特网互联协议)。是Internet最基本,最广泛的协议。定义了计算机如何连入因特网,以及数据如何在它们之间...原创 2019-07-22 18:36:09 · 93 阅读 · 0 评论 -
MySQL用户管理和权限管理
DCL:* SQL分类: 1. DDL:操作数据库和表 2. DML:增删改表中数据 3. DQL:查询表中数据 4. DCL:管理用户,授权* DBA:数据库管理员* DCL:管理用户,授权 1. 管理用户 1. 添加用户: * 语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 2. 删除用户: * 语法:DRO...原创 2019-10-10 22:06:42 · 121 阅读 · 0 评论 -
四种权限修饰符
Java中有四中权限修饰符:—————————public——protected——(default)——private同一个类—————yes———yes—————yes—————yes同一个包—————yes———yes—————yes—————no不同包子类————yes———yes—————no —————no不同包非子类 ———yes———no —————no —————no...原创 2019-05-12 17:23:09 · 135 阅读 · 0 评论 -
数学工具类Math
java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。具体方法可以通过查阅API文档进行查看。常见方法:public static double abs(double num):获取绝对值。有多种重载形式。public static double ceil(double num):向上取整。public static double floo...原创 2019-05-12 17:08:19 · 195 阅读 · 0 评论 -
File类
java.io.File文件和目录路径名的抽象表现形式。java把电脑中的文件和文件夹()目录封装为了一个File类,我们可以使用File类对文件夹进行操作。我们可以使用File类的方法1、创建一个文件/文件夹2、删除文件/文件夹3、获取文件/文件夹4、判断文件/文件夹是否存在5、对文件夹进行遍历6、获取文件的大小File类是一个与系统无关的类,任何的操作系统都可以使用这个类的...原创 2019-05-14 01:32:25 · 120 阅读 · 0 评论 -
递归
***递归:***指在当前方法内调用自己的这种现象。递归的分类:递归分为两种,直接递归和间接递归。直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。注意事项:1、递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出(StackOverflowError)。2、在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出...原创 2019-05-14 02:48:53 · 195 阅读 · 0 评论 -
过滤器
在File类中有两个和listFiles重载的方法,方法的参数传递的就是过滤器。File[] listFiles(FileFilter filter)java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器。作用: 用来过滤文件(File对象)。抽象方法: 用来过滤文件的方法。boolean accept(File pathname):测试指定抽象路径名是否应该包...原创 2019-05-14 06:35:30 · 108 阅读 · 0 评论 -
String类
java.lang包中java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)1、字符串的特点:1、字符串的内容永不可变。【重点】2、正是因为字符串不可改变,所以字符串是可以共享使用的。(可以达到节省内存的目的。)3、字符串效果上相当于是char[]字符数组,但是底层原理是by...原创 2019-05-10 01:26:39 · 92 阅读 · 0 评论 -
Iterator迭代器
迭代: 即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有就再取出来,一直把集合中的所有元素全部取出。就叫迭代。java.util.Iterator接口: 迭代器(对集合进行遍历)Iterator常用方法:public E next(): 返回迭代的下一个元素。public boolean hasNext()...原创 2019-05-20 00:00:10 · 256 阅读 · 0 评论 -
增强for循环(for each循环)
增强for循环(for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。使用了for循环的格式,简化了迭代器的书写。它的底层内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删改查。Collection extends Iterable :所有的单列集合都可以使用增强for。public interface Iterable...原创 2019-05-20 01:24:22 · 151 阅读 · 0 评论 -
数据结构(与集合相关的一部分)
数据结构_栈: 先进后出。数据结构_队列: 先进先出。数据结构_数组: 查询快,增删慢。查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的首地址可以快速查找某一个元素。增删慢:数组的长度是固定的,想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来。数据结构_数组: 查询慢,增删快。查询慢:链表中的地址不是连续的,每次查询元素都必须从头开始查询...原创 2019-05-20 02:12:07 · 175 阅读 · 0 评论 -
List集合(接口)及其常见实现类
java.util.List接口 extends Collection接口(一):List接口的特点:1、有序的Collection,存储和取出元素的顺序是一致的。2、有索引,包含了一些带索引的方法。3、允许存储重复的元素。List接口中带索引的方法(特有):—public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。—pu...原创 2019-05-20 15:44:02 · 5453 阅读 · 0 评论 -
IO字节流
IO流:i:input 输入(读取)o:output 输出(写入)流:数据(字符,字节)1个字符=2个字节 1个字节=8个二进制位。根据数据的不同可以将IO流分为字节流和字符流。图解IO流:字节流: 一切皆为字节流。在传输时也是以字节的方式。(一)字节输出流java.io.OutputStream: 此抽象类是表示字节输出流的所有类的超类。定义了一些子类共性的成员方法:*...原创 2019-05-15 21:19:23 · 199 阅读 · 0 评论 -
静态Static关键字
一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的。所以凡是本类的对象,都共享同一份。一丶static修饰成员变量。如果一个成员变量用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。二丶static修饰成员方法。一旦使用了static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。如果没有stat...原创 2019-05-12 02:25:06 · 171 阅读 · 0 评论 -
数组工具类Arrays
java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作。常见方法:public static String toString(数组):将参数数组变成字符串(按照默认个数:[元素1,元素2,元素3…])。public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。备注:1、如果是数组,sort默认...原创 2019-05-12 16:33:13 · 134 阅读 · 0 评论 -
ArrayList集合类
数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。对于ArrayList类来说,有一个代表泛型。泛型,也就是装在集合当中的所有元素,全都是统一的一个什么类型。泛型,只能是引用类型,不能是基本类型。注意事项:对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[ ]一丶1、ArrayList集合类的创建。例...原创 2019-05-08 22:31:36 · 324 阅读 · 0 评论