Java进阶
Prayer96
这个作者很懒,什么都没留下…
展开
-
Java进阶第十一天
1、Stream流1.1 Stream流概述与I/O流用于读写不同,Stream流用于对集合和数组进行一些简化操作,避免集合和数组现有的弊端来自数据源的元素队列 元素是特定类型对象,Stream流不会存储元素,只会按需计算 数据源:集合、数组等等与Collection不同,有两个基础特征: (1)Pipelining 中间操作都会返回流对象本身,多个操作可以串联成管道 (2)内部迭代 之前对集合遍历都是通过迭代器或增强for,显式地在集合外进行迭代。Stream提供了内部迭代,可以直接调原创 2020-11-02 00:20:28 · 241 阅读 · 0 评论 -
Java进阶第十天
1、函数式接口1.1 函数式接口概述函数式接口 有且只有一个抽象方法的接口,可以有其他方法,静态、默认、私有。。。 Java中的函数式编程体现就是lambda,所以函数式接口就是适用于lambda使用的接口,只有确保有且只有一个抽象方法,lambda才能顺利地进行推导 语法糖是使用更方便但原理不变的代码语法,增强for就是迭代器的语法糖 在应用层面上,lambda可以看作是匿名内部类的语法糖,但二者原理不同 用匿名内部类会生成对应的class文件,但lambda没有,所以lamb原创 2020-11-01 23:54:11 · 97 阅读 · 0 评论 -
Java进阶第九天
1、网络编程1.1 软件结构1.2 网络通信协议分类1.3 网络编程三要素1.4 TCP通信程序2、文件上传案例TCP通信的文件上传案例3、B/S架构模拟B/S服务器原创 2020-11-01 23:23:35 · 140 阅读 · 0 评论 -
Java进阶第八天
1、字节流1.1 IO概述硬盘:永久存储数据,不停地旋转使得硬盘的磁头可以读取到不同的文件。内存:临时存储数据。I/O流:I:input 输入/读取 从硬盘到内存O:output 输出/写入 从内存到硬盘流:数据 分为字符和字节,1字符=2字节,1字节=8二进制位/比特位字符输入流Reader、字符输出流Writer、字节输入流InputStream、字节输出流OutputStream1.2 OutputStream类计算机中所有数据都是以二进制形式存储的,以字节为单位OutputS原创 2020-10-31 17:17:02 · 292 阅读 · 0 评论 -
Java进阶第七天
1、File类1.1 File类概述java.io.File类是文件目录和路径的抽象表示,主要用于创建、获取、删除、文件和文件夹,判断文件和文件夹是否存在,遍历文件夹,获取文件大小file:文件directory 目录/文件夹path 路径成员变量: static String pathSeparator 与系统有关的路径分隔符 static char pathSeparatorChar 与系统有关的路径分隔符 static String separator 与系统有关的默认名称分隔原创 2020-10-30 10:42:20 · 181 阅读 · 0 评论 -
Java进阶第六天
Lambda表达式1、概述(1)面向对象的思想:做一件事,找一个能解决的对象,调用对象的方法,完成事情。 如要获取随机数找Random,要获取键盘输入找Scanner函数式编程思想:重视结果,不重视过程,谁做怎么做都不重要。(2)通过实现Runnable接口创建线程,即使通过匿名内部类也有很多冗余的代码 分析: a.Thread需要Runnable接口的实现类作为参数,其中的run方法是指定线程任务的核心 b.为了指定run的方法体,不得不需要一个Runnable接口的实现原创 2020-10-30 09:51:34 · 104 阅读 · 0 评论 -
Java进阶第五天
1、异常1.1 异常类和处理方式(1)异常是一个类,发生异常时会创建一个异常对象并抛出。(2)异常不是语法错误,语法错误编译不通过,不会产生字节码文件,不会运行 Throwable父类 Error子类 不能处理,只能尽量避免 Exception子类 编译期(写代码时)异常 RuntimeException 运行期异常(3)两种处理方式:1、抛出异常,给虚拟机处理,虚拟机会中断程序,将异常打印出来 2、try-catch 处理之后抛出异常但原创 2020-10-29 20:27:10 · 372 阅读 · 1 评论 -
Java进阶第四天
1、Map集合1.1 Map (1)双列集合 Map<K,V> 一个元素包含两个值 (2)两个泛型 键值对 类型可以不同 键唯一 键值一一对应1.2 HashMap (1)底层是哈希表=数组+链表/红黑树,查询速度很快 (2)HashSet集合new的是HashMap对象,但只使用了K值,所以不能存储相同元素 (3)无序,不保证存取顺序一致 (4)实现不同步,多线程,速度快1.3 LinkedHashMap哈希表+链表,多一条链表,保证元素有序(迭代顺序)1.4原创 2020-10-29 16:45:56 · 408 阅读 · 0 评论 -
Java进阶第三天
1、List集合1.1 List1、List集合的常用方法 boolean add(E e); E remove(index i);2、ArrayList集合是List集合的一个可变大小的数组实现3、底层是一个数组,数组查询快,因为地址连续,且有索引;增删慢,因为地址不连续,每次增删要创建一个新数组public class Demo01List { public static void main(String[] args) { List<String> lis原创 2020-10-29 15:59:21 · 152 阅读 · 0 评论 -
Java进阶第二天
1、Collection接口集合与数组的区别: 1、集合不能存储基本数据类型,只能存储对象,也就是可以存储基本数据类型的包装类 2、集合的长度是可变的,数组的长度在创建时是固定的Collection接口 定义所有单列集合中共性的方法 没有带索引的方法 包括的子类接口:List、SetList接口特点 1、有序。存储和取出数据的顺序相同 2、可以存储相同的元素 3、有索引,可以使用for循环遍历 包括的子类集合:Vector、ArrayList、LinkedListSe原创 2020-10-27 16:53:16 · 125 阅读 · 0 评论 -
Java进阶第一天
1、Object类1.1 Object类的toString方法public class Demo01ObjectToString { public static void main(String[] args) { Person p = new Person(“张三”, 19); String s = p.toString(); //直接打印对象名其实就是调用对象的toString方法,结果就是对象名存储的地址值 System.out.println(s);//cn.原创 2020-10-27 15:11:03 · 197 阅读 · 0 评论