Java8-1-Lambda Expression
面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。
核心思想:使用不可变值和函数,函数对一个值进行处理,映射成另一个值。
lambda 表达式仅能放入如下代码:
预定义使用了 @Functional 注解的函数式接口,自带一个抽象函数的方法
Single Abstract Method,单个抽象方法类型
这些称为 lambda 表达式的目标类型,可以用作返回类型,或 lambda 目标代码的参数。
若一个方法接收 Runnable、Comparable 或者 Callable 接口,都有 单个抽象方法,可以传入lambda表达式。
类似的,如果 一个方法接受声明于 java.util.function 包内的接口,例如 Predicate、Function、Consumer 或 Supplier,那么可以向其传 lambda 表达式。
基本格式1{params}->{code}
案例1
1234567891011new Thread(new Runnable() { pubic void run() ...
JavaBasic-11-网络编程
网络编程三要素
IP地址:设备在网络中的唯一标识
IPv4,32位的IP地址,常用点分十进制方便书写
IPv6,128位的IP地址,常用冒分十六进制方便书写
常用命令,在cmd中可以用ipcofig查看本机IP地址,用ping IP地址/域名可以检测当前与某个设备是否可以连通
特殊的IP地址:127.0.0.1称为回送地址又叫本地回环地址,可以代表本机IP地址,一般用作测试
inetAddress类
不提供构造方法,可以通过提供的一些静态方法获取一个对象,这些静态方法需要传入主机名或IP地址
常用方法有String getHostName()和String getHostAddress()分别获取主机名和IP地址
端口号:应用程序在设备中唯一标识
两个字节表示的整数,范围时0~65535
其中0~1023之间的端口号用于知名网络服务或应用,自用的需要在1024以上
注意一个端口号只能被一个应用程序使用
协议:数据在传输过程中遵守的规则
UDP,用户数据报协议,面向无连接的通信协议,速度快一次最多发送64K的数据,数据不安全易丢失
TCP,传输控制协议,面向连接的通信协议 ...
JavaBasic-10-反射
反射机制
基本介绍
反射机制允许程序在执行期借助⼦Reflection API 取得任何类的内部信息(比如成员变量,构造器,成员⽅法等),并能操作对象的属性及⽅法
加载完类之后,在堆中就产⽣了⼀个Class类型的对象(⼀个类只有⼀个Class对象),这个对象包含了类的完整结构信息。通过这个对象得到类的结构。这个对象就像⼀⾯镜⼦,透过这个镜⼦看到类的结构,所以,形象的称之为:反射
反射相关类
类
说明
java.lang.Class
代表⼀个类,Class对象表示某个类加载后在堆中的对象
java.lang.reflect.Method
代表该类的⽅法
java.lang.reflect.Field
代表类的成员变量
java.lang.reflect.Constructor
代表类的构造⽅法
案例
读写配置文件
1234567Properties properties = new Properties();properties.load(new FileInputStream("src\\re.properties" ...
JavaBasic-9-IO
File类文件和目录可以通过File封装成对象,Flie封装的仅仅是一个路径名,可以是存在的也可以是不存在的
构造方法
方法名
说明
File(String pathname)
通过路径名字符串创建一个File对象
File(String parent,String child)
通过父路径和子路径拼接创建一个File对象
File(File parent,String child)
通过父路径File对象和子路径拼接创建一个File对象
相对路径和绝对路径
绝对路径是从盘符开始给出文件的路径
相对路径是相对当前项目下的文件路径
常用方法
方法名
说明
public boolean createNewFile()
创建一个文件,如果该文件已存在返回false,如果不存在则创建该文件并且返回true,注意该文件所在文件夹必须存在
public boolean mkdir()
创建一个单级文件夹,如果文件夹已存在则返回false,如果不存在则创建文件夹并且返回true
public boolean mkdirs()
创 ...
JavaBasic-8-多线程
概述
基本介绍
线程由进程创建的,是进程的⼀个实体
⼀个进程可以拥有多个线程
单线程:同⼀个时刻,只允许执行⼀个线程
多线程:同⼀个时刻,可以执行多个线程
并发:同⼀个时刻,多个任务交替执行
并⾏:同⼀个时刻,多个任务同时执行
进程和线程区别
进程:正在运行的软件
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位
动态性:进程实质是程序的一次执行过程,进程是动态产生,动态消亡的
并发性:任何进程都可以和其他进程一起并发执行
线程:是进程中的单个顺序控制流,是一条执行路径
单线程:一个进程如果只有一条执行路径,称为单线程程序
多线程:一个进程如果有多条执行路径,称为多线程程序
线程的生命周期
新建状态:
使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。
就绪状态:
当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。
运行状态:
如果就绪状态的线程 ...
JavaBasic-7-异常
异常处理
Exception类的层次
异常概述
在Java编程中,异常是指在程序执行期间可能发生的错误或意外情况。当发生异常时,它会打断正常的程序流程并且可能导致程序终止。Java提供了异常处理机制,允许开发者在代码中捕获和处理异常,从而提高程序的健壮性和稳定性。为了有效地处理异常,Java提供了一些关键字和语句,例如try、catch、finally、throw和throws。通过使用这些关键字,开发者可以捕获异常并采取相应的措施来处理异常情况,保证程序的稳定性和可靠性。
编译时异常是在编译成class文件时必须要处理的异常,也称为受检异常
运行时异常是在运行字节码文件时出现的异常,也称为非受检异常
Exception 和 Error 区别
在Java中,Exception和Error都是Throwable类的子类,但它们在用途和处理方式上有所不同。
Exception:
Exception类代表程序可以处理的异常情况。它分为两种类型:已检查异常(checked exceptions)和未检查异常(unchecked exceptions)。
已检查异常(Check ...