自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL基础+高级

MySQL底层的一些知识,从MySQL高级部分开始看

2022-10-10 16:33:57 682 1

原创 【无标题】

这里写目录标题DQL数据查询语言DML数据操作语言DDL数据定义语言DDL数据控制语言子查询子查询子查询子查询子查询三级DQL数据查询语言阿松大阿松大阿松大阿萨的a大苏打a飒飒的a撒旦a阿松大as撒旦阿松大啊实打实的撒旦asd阿松大as阿松大as的a撒旦as的as dasdas的asda是das的as das dadqwqweasd a撒旦asda da撒旦a的啊das的as的a的as的啊a啊as dDML数据操作语言阿松大阿松大阿松大阿萨的a大苏打

2022-05-13 21:56:34 143

原创 关于MySQL中分组函数和聚集函数的理解

例:查询部门员工个数>3的部门名和员工个数思路:先分组,再用聚集函数作用于分组之后的结果统计个数,再筛选select department_name,count(*) as '员工个数'from departments dineer join employees eon e.department_id = d.departmen_idgroup by department_namehaving count(*)>3;对某张表分组时,表还是原来的表,不同的是表中的内

2022-05-03 12:33:39 500

原创 链表反转(Java)

基本思想:反转入口从head.next开始,通过递归,如果当前结点有下一个结点,就递归调用反转函数,直到到最后一个结点时,让头结点指向这个结点。其他的结点:让后一个结点指向前一个结点代码://用于反转整个链表 public void reverse(){ if (isEmpty()){ return; } reverse(head.next); } //反转每一个结点,参数curr是当前被反转的

2022-04-18 21:18:08 3398

原创 数据结构——并查集

Ⅰ、并查集是一种树型结构,有如下特点:1、每个元素都对应一个结点2、一个数据组对应一个树,每组数据中的多个元素都在同一个树中3、树与树之间没有联系4、元素在树中没有子父级关系Ⅱ、并查集可以高效的进入如下操作:·查询pq元素是否属于同一组·合并pq元素所在的组Ⅲ、并查集底层使用一个eleGroup数组实现,该数组有如下特点:package linear.uf;public class UF { //记录结点元素和该元素所在分组的标识 p

2022-03-25 20:26:53 835

原创 索引最小优先队列

索引最小优先队列需要使用三个数组来实现。①第一个数组T[] items是存放数据最原始的数组,数组中每一个元素都关联着一个索引;②第二个数组int[] pq存放元素在数组items中的索引,注意:是排好序的元素的索引(顺序是:每个结点都小于他的每一个子结点,和堆有序的概念相反)排好序的元素在堆中是这样的,pq数组的产生是这样的:items数组是最原始的数组,不用做任何改变,现在我们按照一定序列排序items数组中的元素,排好序即可生成一个有序堆,而这个有序堆对应的数组即为..

2022-03-23 20:09:48 259

原创 对数据结构——栈的理解(分别用数组和链表实现)

对栈的理解:栈是一种只能在一端进行插入或删除操作的线性表,特点是先进后出,所以用链表实现栈时,链表存储数据元素采用“头插法”,出栈时从头结点的下一个结点开始出栈;用数组实现时,越后进栈的元素索引越大,出栈时索引大的元素先出栈;以上两种方法均实现了“先进后出”的特点不同的是,用数组实现时要初始化数组容量、由于数组容量确定,所以存在栈上溢出的风险1、用链表实现:public class Stack<T>{ //首结点 private Node head;.

2022-03-16 17:03:10 1386

原创 Java位运算符

二进制与十进制间的相互转换:二转十:10101=1*2^4+0*2^3+1*2^2+0*2^1+1*2^0=21 十转二:1、按位与(&):两个整数二进制对应位都是1结果为1,否则为0。eg:5的二进制表示: 00000000 00000000 00000000 00000101-4的二进制表示:11111111 11111111 11111111 11111100所以5&-4结果为:00000000 00000000 00000000 0000...

2022-03-03 20:28:00 196

原创 Java压缩文件

压缩文件其实就是将目标文件(targetFile)先压缩然后通过文件的读写操作读取目标文件(已经压缩)再将目标文件输出压缩文件(zipFile)1、创建zip输出流与缓冲流,缓冲流传递zip输出流对象2、判断targetFile是否为文件夹,如果是文件夹需要通过File类的listFiles方法获取文件夹中的每一个文件,其返回值是一个File数组3、判断是否为空文件夹空文件夹压缩操作固定写法:zOut.putNextEntry(new ZipEntry(targetFil.

2022-02-28 19:41:54 927

原创 用数组实现的数据结构后面的<T extends Comparable<T>>和<T>是什么意思?

1、<T> 就是简单的泛型,默认是Object的实现类,初始化数组时创建的是Object的数组2、<T extends Comparable<T>>:泛型只能是Comparable接口或其子类有些数据结构如堆需要使数据处于一个有序的状态,因此泛型继承排序器Comparable<T>,然后就可以调用compareTo方法进行排序(compareTo方法详解见上篇文章)。所以初始化数组时需要创建Comparable<>的数组,而不能创.

2022-02-23 20:49:43 1204

原创 Java compareTo方法、equals方法、hashCode方法、toString方法

1、Object的toString方法:除基本数据类型的对象以外,打印其他类型的对象会自动调用Object的toString方法,返回一个表示引用对象自己正常信息的字符串,也就是该对象的地址值。而返回的字符串可以由自己定义,即:重写Object类的toString方法2、Object的equals方法比较的是两对象的地址值,和直接==一样重写equals方法可以使其比较两对象的内容3、Object的hashCode方法返回一个int型的哈希值,重写此方法,当对象的内容一样时哈希值相同4、Ha

2022-02-23 19:48:22 334

原创 Java二叉树插入数据详解

插入操作最终一定会回到x==null上

2022-02-22 20:44:46 557

原创 选择排序 Java

1、代码实现public static void Elect(int[] a){ int temp,min; /* 外层for控制的是被比较的元素,被比较的元素从第二个开始,到倒数第二个结束 i=0是为了选择比较元素,赋值给min;最后一个元素不需要比较 */ for(int i=0;i<a.length-1;i++){ /* 内层for将每一个min与其后面的每一个元素比较,将较小的元素放到前面

2022-01-28 16:10:02 345

原创 Java中常见的内存占用

1、基本数据类型byte 1字节 boolean 1字节 char 2字节 short 2字节 int 4字节 float 4字节long 8字节 double 8字节2、计算机访问内存都是一次一个字节3、一个引用需要8个字节如:Date date = new Date();date变量需要8个字节4、5、数组也是对象,首先需要24个字节保存头信息(数组头信息16+数组长度4+填充为8的倍数4)...

2022-01-26 12:41:39 515

原创 Lamda表达式;JDK8新特性

1、λ表达式由三部分组成:参数列表,箭头(->),以及一个表达式或语句块;即:(参数)->语句或表达式① 左侧:一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数② 中间:一个箭头符号:->③右侧:方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{}来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无需{}2、下面这个例子里的λ表达式没有参数,也没有返回值(相当于一个方法接受0

2022-01-16 15:37:48 66

原创 this关键字

1、this指向的是自身对象的引用,而通过创建对象"Animal an = new Animal()",把对象的地址值赋值给了Animal类的一个引用变量所以“return this”和“System.out.println(an)”得到的都是对象的地址值。2、通过this可以调用成员变量、成员方法,this()可以且只能在构造方法中调用其他构造方法,且this()语句必须放在首行...

2021-11-25 14:54:30 40

原创 JAVA多线程中start和run的区别

假设程序中只有主线程和其他一个线程1、首先先了解在Java中,线程通常有五种状态:创建,就绪,运行,阻塞和死亡。①创建:在生成线程对象,并没有调用该对象的start方法,这时线程处于创建状态。内存会开辟一条路径到cpu。②就绪状态:当调用了线程对象的start方法之后,该线程就进入就绪状态。运行,阻塞,死亡这里不解释2、start()方法就相当于一个按钮,按下这个按钮后程序并没有运行,一旦得到cpu时间片,JVM就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这

2021-11-11 16:36:36 624

原创 关于对象和对象引用的理解

Animal an = new Animal();1、Animal是一个类,“Animal an”相当于创建了一个Animal类型的引用变量,即以后可以用来指向对象的。2、而“new Anima()”就是创建对象的过程,“()”表示创建对象后立即调用Animal类的构造方法(如果自己不写,系统会默认赠送一个构造方法)“=”相当于使引用指向刚才那个对象3、对象创建出来,其实连名字都没有,因此必须通过引用变量来对其进行操作。“new Animal()”把对象的地址值赋值给引用变量“an”...

2021-11-03 00:08:32 154

原创 图片可以放大看!

2021-09-13 19:53:53 47

原创 图片可以放大看!

2021-09-13 19:52:49 54

原创 图片可以放大看!

2021-09-13 19:51:50 42

原创 图片可以放大看!

2021-09-13 19:51:15 32

原创 图片可以放大看!

2021-09-13 19:50:23 33

原创 图片可以放大看!

2021-09-13 19:49:41 39

原创 图片可以放大看!

2021-09-13 19:48:58 42

原创 图片可以放大看!

2021-09-13 19:48:04 33

原创 图片可以放大看

2021-08-28 21:02:43 69

原创 图片可以放大看

2021-08-28 21:02:12 44

原创 图片可以放大看

2021-08-28 21:01:18 41

原创 图片可以放大看!

2021-08-28 20:59:59 35

原创 图片可以放大看!!

2021-08-13 23:52:26 43

原创 图片可以放大看!!

2021-08-13 23:50:31 35

原创 图片可以放大看!!

2021-08-13 23:49:40 35

原创 图片可以放大看!!!

2021-08-13 23:48:42 29

原创 图片可以放大看!!!

2021-08-13 23:47:54 28

原创 图片可以放大看!!!!

2021-08-11 12:09:57 40

原创 图片可以放大看!!!!

2021-08-11 12:09:23 31

原创 图片可以放大看!!!!

2021-08-11 12:08:42 40

原创 图片可以放大看!!!!

2021-08-11 12:08:06 47

原创 图片可以放大看!!!

2021-08-11 12:07:08 36

空空如也

空空如也

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

TA关注的人

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