
笔记
时空对望
虚心学习
展开
-
MySQL基础+高级
MySQL底层的一些知识,从MySQL高级部分开始看原创 2022-10-10 16:33:57 · 807 阅读 · 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 · 272 阅读 · 0 评论 -
关于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 · 536 阅读 · 0 评论 -
链表反转(Java)
基本思想:反转入口从head.next开始,通过递归,如果当前结点有下一个结点,就递归调用反转函数,直到到最后一个结点时,让头结点指向这个结点。其他的结点:让后一个结点指向前一个结点代码://用于反转整个链表 public void reverse(){ if (isEmpty()){ return; } reverse(head.next); } //反转每一个结点,参数curr是当前被反转的原创 2022-04-18 21:18:08 · 3485 阅读 · 0 评论 -
数据结构——并查集
Ⅰ、并查集是一种树型结构,有如下特点:1、每个元素都对应一个结点2、一个数据组对应一个树,每组数据中的多个元素都在同一个树中3、树与树之间没有联系4、元素在树中没有子父级关系Ⅱ、并查集可以高效的进入如下操作:·查询pq元素是否属于同一组·合并pq元素所在的组Ⅲ、并查集底层使用一个eleGroup数组实现,该数组有如下特点:package linear.uf;public class UF { //记录结点元素和该元素所在分组的标识 p原创 2022-03-25 20:26:53 · 898 阅读 · 0 评论 -
索引最小优先队列
索引最小优先队列需要使用三个数组来实现。①第一个数组T[] items是存放数据最原始的数组,数组中每一个元素都关联着一个索引;②第二个数组int[] pq存放元素在数组items中的索引,注意:是排好序的元素的索引(顺序是:每个结点都小于他的每一个子结点,和堆有序的概念相反)排好序的元素在堆中是这样的,pq数组的产生是这样的:items数组是最原始的数组,不用做任何改变,现在我们按照一定序列排序items数组中的元素,排好序即可生成一个有序堆,而这个有序堆对应的数组即为..原创 2022-03-23 20:09:48 · 307 阅读 · 0 评论 -
对数据结构——栈的理解(分别用数组和链表实现)
对栈的理解:栈是一种只能在一端进行插入或删除操作的线性表,特点是先进后出,所以用链表实现栈时,链表存储数据元素采用“头插法”,出栈时从头结点的下一个结点开始出栈;用数组实现时,越后进栈的元素索引越大,出栈时索引大的元素先出栈;以上两种方法均实现了“先进后出”的特点不同的是,用数组实现时要初始化数组容量、由于数组容量确定,所以存在栈上溢出的风险1、用链表实现:public class Stack<T>{ //首结点 private Node head;.原创 2022-03-16 17:03:10 · 1457 阅读 · 0 评论 -
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 · 233 阅读 · 0 评论 -
Java压缩文件
压缩文件其实就是将目标文件(targetFile)先压缩然后通过文件的读写操作读取目标文件(已经压缩)再将目标文件输出压缩文件(zipFile)1、创建zip输出流与缓冲流,缓冲流传递zip输出流对象2、判断targetFile是否为文件夹,如果是文件夹需要通过File类的listFiles方法获取文件夹中的每一个文件,其返回值是一个File数组3、判断是否为空文件夹空文件夹压缩操作固定写法:zOut.putNextEntry(new ZipEntry(targetFil.原创 2022-02-28 19:41:54 · 990 阅读 · 0 评论 -
用数组实现的数据结构后面的<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 · 1309 阅读 · 0 评论 -
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 · 399 阅读 · 0 评论 -
Java二叉树插入数据详解
插入操作最终一定会回到x==null上原创 2022-02-22 20:44:46 · 608 阅读 · 0 评论 -
选择排序 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 · 391 阅读 · 0 评论 -
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 · 605 阅读 · 0 评论 -
Lamda表达式;JDK8新特性
1、λ表达式由三部分组成:参数列表,箭头(->),以及一个表达式或语句块;即:(参数)->语句或表达式① 左侧:一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数② 中间:一个箭头符号:->③右侧:方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{}来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无需{}2、下面这个例子里的λ表达式没有参数,也没有返回值(相当于一个方法接受0原创 2022-01-16 15:37:48 · 97 阅读 · 0 评论 -
this关键字
1、this指向的是自身对象的引用,而通过创建对象"Animal an = new Animal()",把对象的地址值赋值给了Animal类的一个引用变量所以“return this”和“System.out.println(an)”得到的都是对象的地址值。2、通过this可以调用成员变量、成员方法,this()可以且只能在构造方法中调用其他构造方法,且this()语句必须放在首行...原创 2021-11-25 14:54:30 · 73 阅读 · 0 评论 -
JAVA多线程中start和run的区别
假设程序中只有主线程和其他一个线程1、首先先了解在Java中,线程通常有五种状态:创建,就绪,运行,阻塞和死亡。①创建:在生成线程对象,并没有调用该对象的start方法,这时线程处于创建状态。内存会开辟一条路径到cpu。②就绪状态:当调用了线程对象的start方法之后,该线程就进入就绪状态。运行,阻塞,死亡这里不解释2、start()方法就相当于一个按钮,按下这个按钮后程序并没有运行,一旦得到cpu时间片,JVM就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这原创 2021-11-11 16:36:36 · 671 阅读 · 0 评论 -
关于对象和对象引用的理解
Animal an = new Animal();1、Animal是一个类,“Animal an”相当于创建了一个Animal类型的引用变量,即以后可以用来指向对象的。2、而“new Anima()”就是创建对象的过程,“()”表示创建对象后立即调用Animal类的构造方法(如果自己不写,系统会默认赠送一个构造方法)“=”相当于使引用指向刚才那个对象3、对象创建出来,其实连名字都没有,因此必须通过引用变量来对其进行操作。“new Animal()”把对象的地址值赋值给引用变量“an”...原创 2021-11-03 00:08:32 · 191 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:53:53 · 70 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:52:49 · 86 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:51:50 · 74 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:51:15 · 55 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:50:23 · 59 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:49:41 · 62 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:48:58 · 72 阅读 · 0 评论 -
图片可以放大看!
原创 2021-09-13 19:48:04 · 58 阅读 · 0 评论 -
图片可以放大看
原创 2021-08-28 21:02:43 · 102 阅读 · 0 评论 -
图片可以放大看
原创 2021-08-28 21:02:12 · 83 阅读 · 0 评论 -
图片可以放大看
原创 2021-08-28 21:01:18 · 71 阅读 · 0 评论 -
图片可以放大看!
原创 2021-08-28 20:59:59 · 62 阅读 · 0 评论 -
图片可以放大看!!
原创 2021-08-13 23:52:26 · 69 阅读 · 0 评论 -
图片可以放大看!!
原创 2021-08-13 23:50:31 · 64 阅读 · 0 评论 -
图片可以放大看!!
原创 2021-08-13 23:49:40 · 54 阅读 · 0 评论 -
图片可以放大看!!!
原创 2021-08-13 23:48:42 · 56 阅读 · 0 评论 -
图片可以放大看!!!
原创 2021-08-13 23:47:54 · 57 阅读 · 0 评论 -
图片可以放大看!!!!
原创 2021-08-11 12:09:57 · 67 阅读 · 0 评论 -
图片可以放大看!!!!
原创 2021-08-11 12:09:23 · 57 阅读 · 0 评论 -
图片可以放大看!!!!
原创 2021-08-11 12:08:42 · 76 阅读 · 0 评论 -
图片可以放大看!!!!
原创 2021-08-11 12:08:06 · 73 阅读 · 0 评论 -
图片可以放大看!!!
原创 2021-08-11 12:07:08 · 70 阅读 · 0 评论