
02 Java进阶
在基础的知识点上扩展和加深
叶子桑桑
长久身自缄默
展开
-
13.Stream流、通过多种方式进行方法的引用
1. Stream流说到Stream便容易想到 I/O Stream,而实际上,谁规定"流"就一定是"IO流"呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。引言传统集合的多步遍历代码几乎所有的集合(如几乎所有的集合(如 Collection 接口或 Map 接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。例:import java.ut原创 2020-11-26 08:34:24 · 178 阅读 · 0 评论 -
12.函数式接口、编程、自定义函数模型拼接案例
1.函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。备注:“语法糖"是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的for-each语法,其实 底层的实现原理仍然是迭代器,这便是"语法糖”。从应用层面来讲,Java中的Lambda可以原创 2020-11-26 08:34:08 · 217 阅读 · 1 评论 -
11.网络编程、TCP、文件上传案例和B/S服务器
1.网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2 网络通信协议**网络通信协议:**通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的原创 2020-11-25 08:37:46 · 252 阅读 · 1 评论 -
10. 缓冲流、转换流、序列化流、打印流
1. 缓冲流1.1 概述缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。1.2 字节缓冲流构造方法public BufferedInputStream(I原创 2020-11-25 08:48:52 · 108 阅读 · 0 评论 -
9. IO及其异常处理、字节流、字符流、属性集Properties
1. IO概述1.1 什么是IO数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。1.2 IO的分类根据数据的流向分为:输入流和输出流。输入流 :把数据从其他设备上读取到内存中的流。输出流 :把数据从内存 中写出到其他设备上的流。格局数据的类型分为:字节流和字符流。字节原创 2020-11-25 08:48:21 · 167 阅读 · 0 评论 -
8.File类、递归、案例(文件搜索,文件过滤器优化,Lambda优化)
1. File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。public File(File parent, String child)原创 2020-11-25 08:48:08 · 124 阅读 · 0 评论 -
7.等待与唤醒案例、线程池、Lambda表达式
1. 等待唤醒机制1.1 线程间通信**概念:**多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信:多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。原创 2020-11-25 08:47:55 · 158 阅读 · 0 评论 -
6.线程及其状态、同步
1.线程1.1 多线程原理自定义线程类:public class MyThread extends Thread{/* * 利用继承中的特点 * 将线程名称传递 进行设置*/public MyThread(String name){super(name);}/* * 重写run方法 * 定义线程要执行的代码*/public void run(){ for (int i = 0; i < 20; i++) { //getName()方法 来自父亲原创 2020-11-25 08:47:13 · 120 阅读 · 0 评论 -
5.异常及其处理方法、线程
1. 异常1.1 异常概念异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。1.2 异常体系异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,平常所说的异常指java.lang.Exception。Throwable体系:Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。Exception:表示异常,异原创 2020-11-25 08:36:38 · 178 阅读 · 0 评论 -
4.Map及案例
1.Map集合1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。Collection中的集合称为单列集合,Ma原创 2020-11-24 12:42:29 · 488 阅读 · 0 评论 -
3.常见的数据结构、List、Set、Collections
1. 常见的数据结构栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素的存取有如下的特点先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹。栈的入口、出口的都是栈的顶端位置。压栈:就是存元素。即,把元素存储到栈的顶端原创 2020-11-24 11:54:42 · 221 阅读 · 0 评论 -
2.Collection、Iterator迭代器、泛型、斗地主案例
Collection集合1.1 集合概念及其与数组的区别集合:集合是java中提供的一种容器,可以用来存储多个数据。与数组的区别数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。1.2 集合框架集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.MapCollection原创 2020-11-24 11:09:27 · 154 阅读 · 0 评论 -
1.Object类、Date、Calendar、System、StringBuiler、包装类
1.Object类、常用API1.1 Object类java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object。1.2 toString方法public String toString():返回该对象的字符串表示。toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。由于toString方法返回的原创 2020-11-24 11:11:07 · 132 阅读 · 0 评论