![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaSE
文章平均质量分 50
javase
醉梦依依惜
期待我们一起创造奇迹!
展开
-
22.Java Stream流的总结
Stream 是 Java 8 引入的一个强大的工具,它提供了丰富的操作方法,可以大大简化集合数据的处理。通过灵活地使用中间操作和终端操作,我们可以实现各种复杂的数据处理需求。Java 8 引入的 Stream 流是一种用于处理集合数据的高级抽象。它提供了一种函数式编程的方式来操作数据,使得代码更简洁、可读性更高,并且可以并行处理数据。希望这个总结对你有帮助。如果还有其他问题,请随时提问。原创 2023-12-26 14:49:23 · 435 阅读 · 0 评论 -
21.java的::方法引用的总结。
注意:方法引用返回的是一个函数式接口对象(该函数式接口抽象方法被引用方法替代了,调用抽象方法实际上就是调用引用的方法)。Java 中的双冒号(::)用于方法引用,它可以简化 Lambda 表达式的书写。3.跟lambda表达式相比,不用标明方法参数,因为会调用跟函数式接口方法参数和返回值一样的方法。方法引用 ::可以认为是代替了一部分的lambda表达式,都是为函数式接口服务。1.可以看出方法引用中的返回值跟函数式接口的返回值一样。2.方法引用的方法参数跟函数式接口也是一样的。原创 2023-12-26 13:59:34 · 493 阅读 · 0 评论 -
20.lambda表达式的总结
Lambda 表达式是 Java 8 引入的一个重要特性,它提供了一种简洁、可读性高的方式来表示匿名函数。Lambda 表达式可以用于替代某些需要接口实现的地方,使代码更加简洁和易于理解。Lambda 表达式的应用场景:Lambda 表达式常用于函数式接口的实现,例如在集合的遍历、排序、过滤等操作中,以及线程的创建和事件处理等场景。Lambda 表达式的类型:Lambda 表达式是通过上下文推断出的函数式接口类型来进行匹配的。语法格式:Lambda 表达式的基本语法格式为。原创 2023-12-26 13:09:59 · 415 阅读 · 0 评论 -
19.JavaSE
这种限定称为上界通配符限定,它表示。这种限定称为下界通配符限定,它表示。(8)静态代码块-构造代码块-构造方法。或其子类,可以用于接收。或其父类,可以用于接收。(10)容易犯错的点。原创 2023-12-26 12:28:09 · 673 阅读 · 0 评论 -
18.java继承范围
提示:final和static是类、方法或变量的修饰符,不属于访问修饰符。1.方法被private修饰:不能被子类继承。(只是该方法不能被继承)修饰类的访问控制修饰符有两种:public、default。2.static修饰:可以继承,但是不能重写或覆盖。2.static修饰:可以继承,但是不能重写或覆盖。3.final修饰:可以继承,但是不能重写或覆盖。3.final修饰:可以继承,但是不能重写或覆盖。1.变量被private修饰:不能被子类继承。1.类被final修饰:则该类不能被继承。原创 2023-10-12 16:47:28 · 190 阅读 · 0 评论 -
15.静态代码块-构造代码块-构造方法
静态代码块在类加载的时候就执行,所以它的优先级高于入口main()方法。{}:每次调用构造方法的时候执行(即创建对象的时候执行)。当三种形式不止一次出现,同优先级是按照先后顺序执行。一、静态代码块、构造代码块、构造方法。一、静态代码块、构造代码块、构造方法。static{}:类加载的时候执行。静态代码块>构造代码块>构造方法。创建(new)对象的时候调用。原创 2023-03-21 12:35:44 · 97 阅读 · 0 评论 -
14.异常处理基础
一、异常结构。二、异常的基础。(1)java中异常以什么形式存在?异常在java中以类的形式存在,每一个异常类都可以创建异常对象。JVM执行到某一处觉得有异常,会new异常对象,并且将new的异常对象抛出,打印输出信息到控制台了。如:new ArithmeticException(“/ by zero”);(2)抛出异常有三种形式:一是throw,一个throws,还有一种系统自动抛异常。下面它们之间的异同。(2.1)系统自动抛异常。原创 2023-03-21 12:23:48 · 50 阅读 · 0 评论 -
3.集合与列表
简单的来讲,集合和列表最大的区别就是集合无序、不可重复;二、List列表:允许重复元素。一、集合、列表的区别。一、集合、列表的区别。原创 2022-08-20 15:36:34 · 3942 阅读 · 1 评论 -
16.可变参数的传参
如果传入的是封装类型的数组,那么数组中内容会被拆分成多个参数传入方法。可变参数如果传入基本类型数组,JVM会当整个数组当做一个参数来处理。原创 2022-08-07 20:56:27 · 118 阅读 · 0 评论 -
17.子类重写权限不能低于父类权限,重写接口方法必须用public修饰
这是因为,实现接口的类必须提供一个实现了接口中所有 public 抽象方法的具体方法,而接口中的方法默认被视为 public,其他访问修饰符(如 private、protected 或默认访问权限等)都会导致编译错误。(3)default(也称为 package-private 或无修饰符):没有指定任何访问修饰符,只能被同一个 包内的类访问。接口中的方法默认都是 public 抽象方法,因此,实现接口的类中对于接口中的方法只能使用 public 访问修饰符来覆盖(即实现)该方法。原创 2022-08-05 11:04:05 · 1060 阅读 · 0 评论 -
11.Lock锁
1.创建Lock锁对象的方式:使用实现类ReentrantLock创建Lock对象。(1)Lock lock=new ReentrantLock();注:相当于synchronized(this)。(2)static Lock lock=new ReentrantLock();注:相当于synchronized(类.class)。import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Reent原创 2022-04-05 18:14:23 · 617 阅读 · 0 评论 -
7.多线程的两种方式
注意:1.直接继承线程类,线程之间操作的数据是独立的,即不会共用一个成员变量,除非用static静态修饰。2.实现Runnable接口作为构造方法的实参,若传递的是同一个实参对象,即便成员变量不用static修饰,成员变量也会被线程共用。1.创建一个类,然后继承Thread类,然后再重写run()方法。通过创建此类的对象调用start方法package 练习五;public class t extends Thread{ private int num; @Overri原创 2022-04-03 14:21:48 · 373 阅读 · 0 评论 -
8.多线程同步方法
2.synchronized加在静态方法上相当于把该方法放在同步代码块synchronized(类名.class)中。1.synchronized加在普通方法上相当于把该方法放在同步代码块synchronized(this)中。原创 2022-04-04 23:08:56 · 225 阅读 · 0 评论 -
10.wait,notify,notifyAll方法
1.线程执行wait()方法后,相当于对象退出对象锁了。同对象可以进去。public class demo implements Runnable{ public int a=1; public synchronized void method() throws InterruptedException { while (true){ if (a % 2 == 0) { //测试得出线程执行wait()方法后,相当原创 2022-04-05 22:46:25 · 130 阅读 · 0 评论 -
9.同步代码块synchronized(对象)
1.synchronized(this)中的this锁住的对象是传入new Thread(st)的st对象。this锁住当前对象。解析:若同步代码块中进入一个new Thread(st)对象,则另一个new Thread(st)线程则进不去同步代码块,除非是传入的是new Thread(st1或其他对象)就不会受影响。2.synchronized(object obj)3.synchronized(类.class)public class sellticket implement...原创 2022-04-04 19:18:38 · 3017 阅读 · 0 评论 -
1.IO流-字节字符流
流:是数据传输的统称,设备之间传输数据称为流。原创 2022-04-08 13:16:52 · 308 阅读 · 0 评论 -
2.标准流、打印流、对象流
1.对象序列化流(对象输出流):ObjectOutputStream(OutputStream os)。(1)private static final long serialVersionUID=42L;(防止修改对象所属的类文件后抛出异常。)(2)transient关键字:表示不参与序列化过程。import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;impo原创 2022-04-06 15:16:10 · 399 阅读 · 0 评论 -
6.java反射步骤
1.通过三种方法中的其中一种获取到对象的Class类型的c对象。 Classc1 = Student.class; Class c2 = s.getClass(); Class c3 = Class.forName("包名.Student");2.通过Class对象获取目标对象(构造方法,属性,方法)(1)构造方法: Constructor[] cons = c1.getConstructors(); Construc.原创 2022-04-03 10:06:19 · 1047 阅读 · 0 评论 -
5.泛型的总结
泛型的好处 1、避免了类型强制转换的麻烦 2.将运行时期的问题提到了编译时期 泛型类: 修饰符 class 类名<泛型类型1,泛型类型2,...>{undefined} 泛型方法: 修饰符 (static) <泛型声明1, 泛型声明2,.....> 返回值类型 方法名称(参数列表) {undefined} 泛型接口: 修饰符 interface 接口名称<泛型类型1, 泛型类型2,...> {undefined} 注意事项: 1、在方法上原创 2022-04-11 18:27:00 · 210 阅读 · 0 评论 -
4.properties特性集合
1.该流一般用于配置文件。(1)load(io流):把配置文件加载进内存。(2)store(io流,说明):把内容写入配置文件。import java.io.*;import java.util.Properties;public class demo { public static void main(String[] args) throws IOException { mystore();// myload(); } pr原创 2022-04-06 14:00:29 · 428 阅读 · 0 评论 -
13.UDP网络编程
###发送端import java.io.IOException;import java.net.*;public class send { public static void main(String[] args) throws IOException { //1.获取套接字 DatagramSocket socket = new DatagramSocket(); //2.创建数据报包 DatagramPacket packet...原创 2022-04-03 10:23:19 · 424 阅读 · 0 评论 -
12.TCP网络编程
###客户端import java.io.IOException;import java.io.OutputStream;import java.net.Socket;public class Client { public static void main(String[] args) throws IOException { //1.创建套接字对象 Socket socket = new Socket("127.0.0.1", 11111);原创 2022-04-04 15:25:56 · 72 阅读 · 0 评论