自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 【博客笔记+java+测试】

java、测试

2023-09-11 17:14:23 309

原创 【数据结构】--lambda表达式

如果我们在某个接口上声明了 @FunctionalInterface 注解,那么编译器就会按照函数式接口的定义来要求该接口,这样如果有两个抽象方法,程序编译就会报错的。所以,从某种意义上来说,只要你保证你的接口中只。在上述代码当中的变量a就是,捕获的变量。这个变量要么是被final修饰,如果不是被final修饰的 要保证在使用之前,没有修改。有一个抽象方法,你可以不加这个注解。7. 在非并行计算中,很多计算未必有传统的 for 性能要高。如果一个接口只有一个抽象方法,那么该接口就是一个函数式接口。

2022-08-25 09:42:02 365 1

原创 【数据结构】----枚举

【代码】【数据结构】----枚举。

2022-08-24 17:07:22 263

原创 【数据结构】---反射

Java文件被编译后,生成了.class文件,JVM此时就要去解读.class文件 ,被编译后的Java文件.class也被JVM解析为一个对象,这个对象就是java.lang.Class .这样当程序在运行时,每个java文件就最终变成了Class类对象的一个实例。在反射之前,我们需要做的第一步就是先拿到当前需要反射的类的Class对象,然后通过Class对象的核心方法,达到反射的目的,即:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;第三种,使用类对象的 getClass() 方法。

2022-08-24 16:29:35 124

原创 【数据结构】---哈希表

该方式即为哈希(散列)方法,哈希方法中使用的转换函数称为哈希(散列)函数,构造出来的结构称为哈希表(Hash Table)(或者称散列表),用该方法进行搜索不必进行多次关键码的比较,因此搜索的速度比较快。开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。已知哈希表中已有的关键字个数是不可变的,那我们能调整的就只有哈希表中的数组的大小。哈希函数应该比较简单。

2022-08-24 14:31:55 165

原创 【数据结构】---二叉搜索树&&map&&set

可能在查找时进行一些插入和删除的操作,即动态查找,那上述两种方式就不太适合了,Map和Set是一种适合动态查找的集合容器。Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。而Map中存储的就是key-value的键值对,Set中只存储了Key。

2022-08-24 11:06:30 156

原创 【数据结构】---排序的各种常见算法-入门写法

【代码】【数据结构】---排序的各种常见算法-入门写法。

2022-08-23 11:02:56 293

原创 【数据结构】---优先级队列和堆

(2). PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出。(3). 如果容量超过MAX_ARRAY_SIZE,按照MAX_ARRAY_SIZE来进行扩容;(6). PriorityQueue默认情况下是小堆—即每次获取到的元素都是最小的元素;(2). 如果容量大于等于64,是按照oldCapacity的1.5倍方式扩容的;(1). 如果容量小于64时,是按照oldCapacity的2倍方式扩容的;(1). 使用时必须导入PriorityQueue所在的包;

2022-08-22 15:11:49 200

原创 【数据结构】--二叉树

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

2022-08-19 17:25:15 44

原创 【多线程】初步了解(2)

代码】【多线程】初步了解(2)

2022-08-17 09:52:30 95

原创 【多线程】初步了解(1)

线程是操作系统中的概念,操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使用;Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装;

2022-08-17 09:10:07 52

原创 【数据结构】----队列queue

代码】【无标题】

2022-08-12 18:43:33 179

原创 【数据结构】----栈stack

[TOC]栈的使用。

2022-08-11 19:32:04 82

原创 【数据结构】----LinkedList与链表(下)

代码】【数据结构】----LinkedList与链表(下)

2022-08-11 14:24:45 158

原创 【数据结构】----LinkedList与链表(上)

⭐每次都要考虑链表是否为空或者只有一个结点的情况。⭐头单向非循环链表实现。

2022-08-11 09:05:30 157

原创 【数据结构入门】----ArrayList与顺序表

ArrayList实现了Serializable接口,表明ArrayList是支持序列化的。ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问。ArrayList实现了Cloneable接口,表明ArrayList是可以clone的。ArrayList底层是一段连续的空间,并且可以动态扩容,是一个动态类型的顺序表。......

2022-08-10 22:38:21 99

原创 【mysql——事务理解】

事务,原子性,持久性,一致性,隔离性,脏读,不可重复读,幻读,以及如何解决这些问题,不同的隔离级别有哪些

2022-08-10 16:06:21 196

原创 【mysql ———索引理解】

索引的概念、应用场景、背后的数据结构

2022-08-09 17:24:22 119

原创 数据结构之List介绍

List的初级介绍

2022-06-22 09:27:27 651

原创 图书管理系统

一、首先,定义Book类,类里面定义与书相关的属性public class Book { private String name;//书名 private String author;//作者 private int price;//价格 private String type;//类型 private boolean isBorrowed;//是否被接触 //自动生成的构造方法 public Book(String name, String au

2022-05-23 11:17:07 105

原创 Comparable接口和Comparator接口

1、Comparable接口class Student implements Comparable<Student>{ public String name; public int age; public double score;//2 实现Comparable接口的方法 @Override public int compareTo(Student o) { return this.age-o.age;//从小到大;这里this 和o

2022-05-21 15:04:45 136

原创 关于深克隆和浅克隆

1、实现了深拷贝class Person implements Cloneable{ public int age=10; //1 generate-OM @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() {

2022-05-21 14:52:45 48

原创 实现多个接口

实现多个接口abstract class Animal{ public String name; public int age; public Animal(String name, int age) { this.name = name; this.age = age; } public abstract void eat();}//1 实现多个接口,把这个接口也给狗和鸟了interface IRunning{ vo

2022-05-21 14:50:01 585

原创 关于抽象类

1、抽象方法:使用abstract修饰的方法2、 包含抽象方法的类,必须设计为抽象类,使用abstract修饰这个类3、 抽象类不可以实例化,但是可以被继承4、抽象方法要被重写,否则代码不能通过编译5、如果一个抽象类A继承另外一个抽象类B,那么此时这个抽象类A可以不重写B当中的抽象方法6、抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要用abstract修饰7、抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量abstract class Shap

2022-05-21 14:46:02 1090

原创 关于继承当中多态的初步认识

1、方法要是不想被重写,就加上final:public final void eat此时就是一个密封方法,被final修饰的类就不能被继承了,2、发生多态的前提:向上转型,发生动态绑定;3、组合class Animal{ private String name; private int age;//1 自动生成的构造方法 public Animal(String name, int age) { this.name = name; this.

2022-05-21 14:35:57 68

原创 类的继承中关于同名成员的访问

1、tostring方法打印类的成员属性class Person{ public String name; public int age; //1 自己生成的 @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age +

2022-05-21 11:53:25 75

原创 关于各种内部类的初步认识(包括静态内部类、局部内部类、匿名内部类)

1、拿到静态内部类的对象2、不能在静态内部类当中直接访问外部类当中非静态的成员,只能直接访问外部类当中静态的成员,如果非要访问非静态的,需要创建一个外部类的对象class OuterClass{ //外部类的成员属性 public int data1=1; private int data2=2; public static int data3=3; //静态内部类 static class InnerClass{ public int

2022-05-21 11:47:21 70

原创 初识类和对象的初步认识

1、实例化一个对象2、通过.给属性赋值3、成员变量的引用class WashMachine{ public String brand; public double weight; public void WashClothes(){ System.out.println("洗衣功能"); } public void dryClothes(){ System.out.println("脱水功能"); }}//2 狗类

2022-05-21 11:31:24 42

原创 类和对象:外部类和内部类的理解

下方知识点提要:1、实例内部类当中,不能定义静态的成员变量,非要定义的话:要被final修饰;2、实例内部类当中,不能定义静态的成员方法;3、怎么拿到实例内部类;4、拿到实例内部类的普通方法;5、实力内部类可以访问内部和外部所有的成员;class OuterClass{ public int data1=1; public int data2=2; public static int data3=3; class InnerClass{ publi

2022-05-12 10:10:43 120

原创 类和对象:关于代码块的理解

1、静态代码块;2、实例化代码块:类的里面,成员方法的外面;3、构造方法;程序执行顺序:静态代码块–实例化代码块–构造方法;class Student{ public String name; public int age; public double score; public static String classes="105java"; public Student(String name, int age, double score) {

2022-05-12 09:55:36 79

原创 类和对象中:static修饰成员方法

一般数据类中的成员都设置为private,而成员方法设置为public,设置之后,怎么在类外访问呢? 下方代码知识点提要: 1、静态成员变量的设置以及引用; 2、静态成员方法的设置以及引用; 3、静态成员常量; 4、静态的方法当中,不能直接访问非静态的数据,非要访问的话,就要创建对象; 5、静态成员不依赖对象;class Student{ //普通成员变量 public String name; public ...

2022-05-12 09:50:56 117

原创 初识类和对象

java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象直接的交互完成一件事情。用面向对象的思想来设计程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。 下面通过一段代码将相应的知识点串起来,加深理解,我认为直接在代码中理解相应的知识点更加容易和深刻。 下面代码涉及主要知识点提要: 1、怎么创建一个类; 2、怎么实例化一个对象; 3、怎么引用成员变量,怎么引用成员方法; 4、通过.给成员属性...

2022-05-12 09:34:47 39

原创 strlen的模拟实现:计数器方法、指针-指针方法、递归方法

#define _CRT_SECURE_NO_WARNINGS 1//1、计数器模拟实现strlen#include<stdio.h>int my_strlen(char* p){ int count = 0; while (*p != '\0') { count++; p++; } return count;}int main(){ char arr[] = "abcdef"; int sz=my_strlen(arr); printf("%d", s

2022-03-30 20:36:11 79

原创 关于结构体内存对齐

1、2、3、offsetof 宏;4、嵌套;5、6、(1)(2)

2022-03-30 20:06:18 36

原创 浅理解一下回调函数

回调函数回调函数是一个通过函数的指针调用的函数,如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就算这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件发生时由另外一方调用的,用于对该事件或者条件进行响应。下面我们举例深入理解一下:举例1:举例2:实现加减乘除举例3:利用qsort函数改造的冒泡排序:...

2022-03-17 11:37:12 667

原创 浅理解一下回调函数

回调函数回调函数就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另外一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或者条件发生时由另外一方调用的,用于对该事件或条件进行响应。下面通过例子理解一下:举例1:举例2:实现加减乘除举例3:通过qsort库函数改造冒泡排序...

2022-03-17 11:27:03 42

原创 sizeof与strlen用法区别

写在前面数组名通常来说是数组首元素的地址,但是有两个例外:1、sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小;2、&数组名,这里的数组名表示整个数组,取出的是整个数组的地址;关于sizeofsizeof是一个操作符,计算的是对象所占的内存的大小,单位是字节,不在乎内存中存放的是什么,只在乎内存大小。举例:1、整型数组2、字符型数组3、字符串4、二维数组关于strlenstrlen求的是’\0’之前的字节数,遇到‘\0’才会停止,放到strlen

2022-03-17 11:12:21 52

原创 每日技巧

关于static和externstatic 修饰局部变量的时候,局部变量就变成静态局部变量,出了局部范围,不会销毁,下一次进入函数依然存在。其实是因为:static 修饰的局部变量是存储在静态区的,实际改变的是变量的存储位置。本来一个变量是放在栈区,被static修饰放在静态区,从而导致出了作用域依然存在,生命周期并没有结束。extern关键字是用来声明外部符号的,一个工程里面有两个源文件时,一个想用另外一个的全局变量,需要声明。 一个全局变量本来是具有外部链接属性的,但是被static修饰以后,外

2022-03-13 21:16:00 47

原创 每日技巧

打印图形打印图形或者矩阵,都看作二维数组的样式,找各个元素的分布规律(列与行之间有对应的关系,一般这个关系是动态的),依次打印。把自然语言转化为机器语言通过逻辑表达式,把自然语言转化为计算机可以识别的机器语言(代码)。充分利用 && 、 || 、!、 == 、 !=。...

2022-03-11 21:35:58 60

原创 【无标题】

打印图形打印图形或者矩阵,都看作二维数组的样式,找各个元素的分布规律(列与行之间有对应的关系,一般这个关系是动态的),依次打印。把自然语言转化为机器语言通过逻辑表达式,把自然语言转化为计算机可以识别的机器语言(代码)。充分利用 && 、 || 、!、 == 、 !=。...

2022-03-11 21:32:58 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除