- 博客(22)
- 收藏
- 关注
原创 Lambda表达式/Stream流
Lambda表达式特点:简洁性:省去了繁琐的方法声明和匿名内部类的写法,使得代码更加紧凑。非侵入性:不需要修改现有的接口或类,可以直接在现有的函数式接口上使用 Lambda 表达式。可读性:将重点放在了核心逻辑上,减少了冗余代码,使得程序更易于理解和维护。函数式编程:支持函数式编程思想,可以以函数作为参数传递,支持闭包操作。语法:(形参列表) -> {方法体};注意:当一个接口或一个抽象类只有一个抽方法时才可使用当重写的方法中有形参,此时可以忽略形参的数据类型不写。
2023-07-30 18:57:56
185
原创 反射、注解
一个类在被加载时会生成一个Class类的对象,简称叫类对象一个类只会被加载一次,所以一个类只有一个类对象类对象中包含了该类的所有信息,如类名,父类的类对象,实现的接口的类对象,方法,属性,构造函数等。
2023-07-30 18:42:39
122
原创 线程池&Lock
JDK提供的对线程优化的体系,其中包含了对线程的创建,回收,复用的处理,也可以存储线程中文名:调度线程池特点:可以使任务延迟执行或延迟重复执行,调度线程池关闭时,其重复执行的任务也会被关闭。
2023-07-27 21:20:29
128
1
原创 线程###
主线程:当一个程序开启时自带一个线程,该线程就是主线程,主线程名称:main子线程:程序员在程序中自己创建的线程都是子线程进程:一个正在进行的程序,一个进程中可能会有多个线程.一个进程如果一个线程都没有,那么该进程将会被系统回收多线程:一个进程中有多个线程守护线程:又名后台线程,特点:当程序中的所有前台线程执行完毕后,此时不管是否有守护线程存活,进程都将被系统回收前台线程:默认创建的线程与主线程都是前台线程,当一个进程中有前台线程存活,那么进程将不会被系统回收线程的组成。
2023-07-27 00:25:51
97
1
原创 常用类##
内部类在一个类的内部定义的另一个类。作用:1,内部类可以给外部类提供额外的功能2,可以直接访问外部类私有的成员分类:成员内部类、静态内部类 、局部内部类和匿名内部类。成员内部类:定义的位置:类中,方法以外访问权限修饰符 class 外部类类名{访问权限修饰符 class 内部类类名{注意:成员内部类中不能定义静态成员当外部类属性或方法与内部类属性或方法重名如何区分this.属性名或方法名(实参列表);内部类提供的属性或方法。
2023-07-27 00:03:23
83
1
原创 集合和异常
集合的概念存储一组数据类型相同的引用数据类型的数据1,只能存储引用数据类型,不能直接存储基本数据类型。但可以使用对应的包装类将基本数据类型包装成对象,然后将对象添加到集合中。这样可以实现在集合中存储基本数据类型的值。2,长度可变Collection集合体系List:有序的,有下标的,元素可重复Set:无序的,无下标的,元素不可重复List:Collection接口的子接口,表示有序的列表集合。List接口的实现类有ArrayList、LinkedList和Vector等。
2023-07-27 00:02:48
103
1
原创 接口###
常量接口是一种特殊的接口,它仅包含常量的定义,没有方法的声明。然而,根据Java编程规范的建议,不推荐使用常量接口,因为常量应该与相关的类进行关联,而不是与接口进行关联。2,子接口继承多个父接口,多个父接口提供同样的方法,子接口必须重写该方法,因为子接口需要明确指定在发生方法冲突时应该使用哪个方法实现。2,子类实现多个父接口,多个父接口提供同样的方法,子接口必须重写该方法,以解决方法冲突。4,使用A对象调用a2方法,a2方法中使用传入的接口对象调用接口方法。接口中只定义常量的接口称为常量接口。
2023-07-26 17:03:09
97
1
原创 面向对象之三个修饰符
静态成员属于类本身而不是对象,它们在类加载时被初始化,并且在整个程序的执行过程中都只有一份副本。指不能被继承的类,无法有子类。最终方法是指不能被子类重写的方法,子类无法修改其实现。当首次使用类时,Java 虚拟机会加载类的字节码并执行类的初始化过程,这个过程包括静态成员的初始化。1,抽象类不一定必须包含抽象方法,而如果一个类包含了抽象方法,则该类必须被声明为抽象类。抽象类是不能被实例化的类,它用于定义一组相关的类的公共接口。没有具体实现的方法,只有方法的声明,没有方法体。有抽象方法的类一定是抽象类。
2023-07-26 16:50:48
113
1
原创 面向对象三大特征
一个事物的多种形态,简称多态;同一类型的对象,在不同的情况下表现出不同的行为。多态性可以提高代码的灵活性和可扩展性,使得程序可以根据不同的对象类型选择合适的方法调用。在子类中重新定义一个与父类中方法签名相同的方法,通过方法重写可以改变继承而来的方法行为,使其适应子类的需求。子类将继承父类的所有属性与方法,并且可以添加新的属性和方法或者重写父类的方法。子类可以直接使用父类的非私有成员,从而减少重复的代码,提高代码的可维护性和扩展性。默认(不加修饰符):默认的访问级别,可以在当前类和同一包内的其他类访问。
2023-07-26 16:28:24
107
1
原创 面向对象基础
语法:访问权限修饰符 class 类名{方法重载在一个类中可以有多个同名方法,但参数列表必须不同(包括参数类型、参数个数或参数顺序)。方法重载通过在同一个类中定义多个具有不同参数的方法来实现,方便根据不同情况选择调用合适的方法。构造方法一种特殊类型的方法,用于创建并初始化类的对象。构造方法与类同名,没有返回类型,并且在使用new关键字创建对象时自动调用。构造方法通常用于初始化对象的实例变量。this 关键字对当前对象的引用。它可以在类中使用,表示对当前对象的引用。this。
2023-07-26 16:14:17
92
1
原创 数组###
数组的概念作用:存储一组数据类型相同的数据的容器特点:长度不可变使用步骤1,声明2,创建动态创建静态创建3,使用数组的声明和赋值// 声明数组数据类型[] 数组名;// 初始化数组数组名 = new 数据类型[大小];// 或者一步完成数组声明和初始化数据类型[] 数组名 = new 数据类型[大小];数组的组成数组由固定数量的元素组成,这些元素的类型必须相同。数组元素可以通过索引访问,索引从0开始,依次递增至数组长度减1。数组的遍历。
2023-07-26 15:57:55
97
1
原创 方法 / 函数
递归是指在方法的定义中调用该方法本身的行为。在递归过程中,方法将以不同的参数值被多次调用,直到满足某个条件才停止递归。它将一系列的语句组合在一起,可以通过指定名称和参数来调用。方法定义包括方法的声明和方法体。方法的声明指定了方法的名称、返回类型和参数列表。方法体是一组在方法被调用时执行的代码块,它定义了方法的具体功能。要调用一个方法,需要使用方法名和特定的参数列表来调用。可以通过在代码中使用方法名,并传递相应的参数来调用方法。递归方法必须包含基本情况(递归的终止条件),否则可能导致无限递归,最终耗尽内存。
2023-07-26 15:34:26
179
1
原创 循环结构while,dowhile,for
for 循环是一种常用的循环结构,通过定义一个计数器和设置循环条件来控制循环的执行次数。在每次循环迭代中,首先执行初始化表达式,然后检查循环条件,如果条件为真,则执行循环体内的代码块,并且在每次循环结束后执行循环迭代器。它通过在循环开始之前检查条件来决定是否执行循环体内的代码块。do-while 循环也是基于条件的循环结构,与 While 循环不同之处在于它先执行循环体内的代码块,然后再检查条件。在循环过程中,不能直接修改集合或数组中的元素,如果需要修改元素,则需要使用传统的for循环。
2023-07-26 15:25:46
207
1
原创 条件选择结构和分支结构
如果条件为假,则执行第二个代码块。// 当表达式的值与所有case不匹配时,执行这里的代码块。// 如果条件1和条件2都为真,执行这里的代码块。// 当表达式的值与值1相等时,执行这里的代码块。// 当表达式的值与值2相等时,执行这里的代码块。此结构只包含一个if语句,如果条件为真,则执行该代码块。// 如果上述条件都不满足,执行这里的代码块。// 如果条件1为真,执行这里的代码块。// 如果条件2为真,执行这里的代码块。// 如果条件为真,执行这里的代码块。// 如果条件为假,执行这里的代码块。
2023-07-26 15:17:17
265
1
原创 Java 语言基础
基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。引用数据类型:包括类、接口、数组等。
2023-07-26 14:50:45
113
1
原创 Java 概述与环境搭建
Java 发展史和特点: Java 是由Sun Microsystems(后来被Oracle收购)的詹姆斯·高斯林(James Gosling)等人开发的一种面向对象编程语言。Java 的发展历程经历了以下几个重要阶段:最初的Oak项目,Java 语言的发布(JDK 1.0),引入了重要的特性如垃圾回收、跨平台性等;Java 运行机制: Java 是一门编译型与解释型相结合的语言。Java 语言规范: Java 语言规范是指用于定义 Java 编程语言的语法、语义和其他规则的技术规范。
2023-07-26 14:29:30
118
1
原创 for循环与增强for循环区别
foreach循环使用指针直接偏移的高效的地址运算,效率会高非常多,差距也很大。3)foreach与for循环的明显差别在于foreach循环时循环对象(数组、集合)被锁定,不能对循环对象中的内容进行增删改操作。结论:需要循环数组结构的数据时,建议使用普通for循环,因为for循环采用下标访问,对于数组结构的数据来说,采用下标访问比较好。需要循环链表结构的数据时,一定不要使用普通for循环,数据量大的时候有可能会导致系统崩溃。1)for循环是基于下标(偏移量)来定位的循环。对于通过下标访问的数据结构。
2023-06-10 14:29:54
360
原创 MySQL存储过程和函数、触发器、事务
INSERT INTO account_log VALUES (NULL,'UPDATE',NOW(),new.id,CONCAT('修改前{id=',old.id,',name=',old.name,',money=',old.money,'}','修改后{id=',new.id,',name=',new.name,',money=',new.money,'}'));- 触发器是与表有关的数据库对象,可以在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句。
2023-05-17 08:47:54
373
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅