自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】哈希表

这是之前的数据结构的内容,前面这个专栏的内容还没有写完,现在把这些给补上。

2023-05-19 00:07:59 453 2

原创 【MySQL】InnoDB引擎

之前在写存储引擎的时候只是简单的介绍了下引擎是干什么的以及一些引擎的特点,这篇重点包括InnoDB引擎的逻辑存储结构,架构,事务原理和MVCC。

2023-05-15 09:30:00 837 1

原创 【MySQL】锁

锁是因为多个线程争抢资源而出现的机制,锁的出现可以保证在并发访问数据时数据的一致性和有效性,其重要性不言而喻MySQL中的锁按照粒度分为全局锁,表级锁和行级锁,MySQL的锁机制最显著的特点是不同的存储引擎支持不同的锁机制。

2023-05-12 00:45:42 714

原创 【MySQL】存储过程

用户变量是用户根据需要自己定义的变量,用户自定义变量不需要提前声明以及初始化,在使用的时候直接@变量名即可使用,用户变量作用域为当前会话赋值: set @变量名 = 值;set @变量名: = 值;select @变量名: = 值;select 字段名 into @变量名 from 表名;使用: select @变量名;

2023-05-09 22:59:39 522 3

原创 【MySQL】视图

视图简单来说就是从已经存储在数据表中的字段或数据中拿取一部分出来组成一张虚拟表,因为视图中的字段和数据均来自于已经存在的表,所以这些数据表对于视图来说称为基表,基表可以是一张,也可以是多张,因为是虚拟表,所以如果对视图的数据进行修改的话,那么关联的数据表里面的数据也会改变。

2023-05-07 23:41:30 335 4

原创 【MySQL】SQL优化

上一篇索引是针对查询语句进行优化,但在MySQL中可不仅有查询语句,针对其他的SQL语句同样也能进行优化。

2023-05-06 20:34:58 880 2

原创 【MySQL】索引

索引本身其实是一种数据结构,这些数据结构以某种方式指向数据索引的优缺点比较明显,优点是提高了检索效率,缺点是索引本身也占据空间,而且因为数据结构和数据对应,所以如果更新数据的话那么索引也要更新。

2023-05-06 14:56:29 799 2

原创 【MySQL】存储引擎

存储引擎是存储数据、建立索引、更新/查询数据等技术的实现方式。因为存储引擎是基于表的,所以存储引擎也可被称为表类型在创建数据表的时候我们可以指定引擎,指定引擎的关键字为enginecreate table 表名(字段 1 数据类型 , 字段 2 数据类型 . . . . . .) engine = 引擎;如果说你想知道自己的MySQL支持哪些引擎的话,可以输入下面的语句图中的只是截取了一部分,这里还是介绍下每个字段所代表的意思。

2023-05-03 21:21:25 529 6

原创 【MySQL】事务

事务是一组操作的集合,我们将一组操作视为一个整体,所以事务里面的操作的时候要么同时成功,要么同时失败,之所以会有事务也是因为我们在实际生活中会用到最典型的例子就是转账操作:A向B进行转账,A这边扣款成功的同时B那边一定是收款成功的,如果没有事务的话就会出现A扣款成功但B没有收到款的情况。

2023-05-03 17:35:50 1820 3

原创 【MySQL】多表查询

上一篇介绍了外键约束,外键约束是用于连接两张数据表的,所以在此基础上就有了多表查询之前的查询都是单表查询,这里我们会将多个数据表的数据结果返回在一张表上。

2023-05-01 18:49:29 3632 7

原创 【MySQL】函数和约束

如标题所说,本文重点只有两个:MySQL语句里面的函数和约束。

2023-05-01 14:12:32 714 3

原创 【MySQL】初识MySQL

数据库的重要性相信不需要我在这里着重强调了,这个专栏重点介绍的就是MySQL数据库,我所使用的版本为5.6,大致思路是先介绍MySQL的操作,然后再深入了解其底层原理,那就开始吧。

2023-04-30 22:15:07 887 5

原创 【数据结构】优先级队列(堆)

优先级队列依旧是队列,依旧遵循着先进先出的原则,不过和队列所不一样的是,优先级队列操作的数据有优先级,优先级高的数据先出队列,优先级队列底层所使用的数结构便是堆。

2022-08-26 22:41:15 775 4

原创 【数据结构】二叉树详解

树是一种非线性的数据结构,是由多个节点组成的有层次关系的集合,看起来就像一颗倒挂的树,如下图:树中有一个节点没有前驱节点,这个节点称为根节点除根节点外,其余的节点又可以看成多个互不相交的集合,每一个集合就是一颗子树。

2022-08-20 11:16:26 4200 6

原创 【数据结构】栈和队列

栈和队列的结构比较简单,里面的操作也比较少,如果你之前实现过顺序表和链表的话,那么栈和队列的实现就很简单,具体实现这里略过目录1.栈和队列的概念2.Stack3.Queue1.栈和队列的概念栈和队列都也属于线性表,二者的特点如下:栈:只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,最先进入栈的元素最后出去队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作,进行插入操作的一端称为队尾,进行删除操作的一端称为队

2022-05-24 21:41:19 175 5

原创 链表的使用(2)

2022-05-16 17:56:31 156 5

原创 链表的使用(1)

上一篇说过会找一些OJ题目来看看单链表的使用,题目挺多,计划分成两篇目录1.反转单链表2.链表中间节点3.链表的倒数第k个节点4.合并两个有序链表5.链表的回文结构1.反转单链表思路:上一篇写的单链表里面讲过怎么实现头插法,而这里的反转链表就是将头节点后面的节点依次放到前面来,因为需要进行多次头插,所以需要另外一个节点来记录当前头插的节点的下一个节点代码如下:class Solution { public ListNode revers...

2022-05-10 20:05:43 175 4

原创 【数据结构】链表

链表的种类有很多,这里只挑选其中的部分种类来实现目录1.链表概念2.链表分类3.链表的实现3.1增加数据3.1.1头部添加数据3.1.2尾部添加数据3.1.3任意位置加入数据3.2删除数据3.2.1删除第一次出现key值的位置的节点3.2.2删除所有位置出现key值的节点1.链表概念链表同样是线性表的一种,其特点是物理存储结构不连续,逻辑顺序是通过链表中的引用链接次序来实现(具体可以想象下火车车厢是如何连接的)具体结构如下图:节点分为...

2022-05-08 19:46:20 893 3

原创 【数据结构】顺序表

写在前面:关于数据结构,Java官方其实已经帮我们写好并封装起来了,在真正需要使用的时候直接调用即可,但为了更好的理解数据结构,我会按照源码的思路写一个简化后的数据结构,默认接收的数据为int目录1.线性表2.顺序表的实现2.1增加数据2.1.1尾部增加数据2.1.2任意位置增加数据2.2查找数据2.3删除数据2.4修改数据3.ArrayList3.1ArrayList的实例化3.2ArrayList常用的方法1.线性表线性表是多个具有相

2022-05-04 21:22:53 300 7

原创 【数据结构】Java的泛型

在正式进入内容之前说明一下:泛型的内容太多,也太复杂。这里因为Java中写数据结构的时候会使用到,所以加上。关于泛型我找了挺多文章,再结合自己的理解,尽可能将其讲清楚。不求会使用泛型,只要求后面数据结构出现泛型的时候能够知道是在干什么即可目录1.泛型概念2.泛型的使用2.1泛型类语法2.2泛型方法语法2.3泛型接口语法2.4泛型在main方法中的使用3.擦除机制4.泛型的上界5.通配符5.1通配符的上界5.2通配符的下界6.包装类6.1装箱和拆箱.

2022-05-02 20:35:22 1178 3

原创 【JavaSE】异常

这一篇应该是Java语法的最后一篇博客了,之后就是数据结构的内容了

2022-05-01 20:17:40 567 8

原创 String类方法的使用

上一篇介绍完String类,这里找到了几道关于字符串的题目,来熟悉下String类方法在解题过程中的使用目录1.第一个只出现一次的字符2.字符串最后一个单词的长度3.验证回文串4.字符集合1.第一个只出现一次的字符题目说明字符串s中只包含小写字符思路:新建一个int数组,数组的0下标表示字母a,1下标表示祖母b,以此类推。遍历字符串,字母出现一次就让int数组对应的下标的元素的值+1。再次遍历字符串,若int数组对应的下标的元素的值为1,返回字符串下标

2022-04-28 17:21:45 747 7

原创 【JavaSE】String类

2022-04-25 15:21:40 621 8

原创 【JavaSE】简单实现图书管理系统

Java中的最主要的语法之前基本都介绍完毕,本篇将使用之前的内容来写一个简单的图书管理系统,中间会展示部分代码来讲解,源码地址在这👉项目: 个人练习的项目 - Gitee.com首先还是来看看运行的效果我们来分析一下:Java中是通过对象之间的交互来解决事情的,所以我们来看看有哪些对象首先显而易见的两个对象:用户和书,所以创建两个包book和user通过上图可以看到:不同用户之间有相同的操作,也有不同的操作,所以不妨将所有的操作都放在一个包中,需要什么操作直接调用即可,我将这个

2022-04-21 22:21:43 731 2

原创 【JavaSE】抽象类和接口(下)

本篇介绍在对对象进行比较和克隆操作的时候会使用的接口,然后介绍一个类:Object在Java中Object类默认是所有类的父类,里面有一些常用的方法会介绍目录1.对象的比较1.1Comparable1.2Comparator2.克隆对象2.1Cloneable2.2深拷贝和浅拷贝3.Object类3.1equals3.2toString1.对象的比较两个对象要进行比较之前,我们首先需要确定依据什么来进行比较,对象中的成员变量那么多,直接比较是无法...

2022-04-15 22:55:49 398 7

原创 【JavaSE】抽象类和接口(上)

目录1.抽象类1.1抽象类概念1.2抽象方法1.3抽象类的细节2.接口2.1接口概念2.2接口的细节1.抽象类1.1抽象类概念我们都知道对象是通过类来进行描述的,但是不是说所有的类都是用来描述对象的一个类的类中没有足够的信息来描述一个具体的对象,这便是抽象类抽象类的关键字:abstract1.2抽象方法首先还是看看之前写过的类:class Plant { String name; String source; S.

2022-04-12 16:36:14 732 7

原创 【JavaSE】多态

在结束继承内容之后便是多态,这同样也是面向对象程序的特性有一点需要说明:为方便演示,所以我在一个java文件中定义了多个类,但实际上是不推荐这么做的目录1.多态的概念2.向上转型2.1概念2.2常见的向上转型的形式3.重写3.1重写的注意事项1.多态的概念简单来讲就是不同的对象去完成同一个行为,但是产生了不同的状态一个很简单的例子:学校某个班级的学生参加同一场考试,考试结束后不同的学生的考试成绩都是不同的,有的不及格、有的在及格线上游走、而有的则是高分,那..

2022-04-09 22:39:05 886 7

原创 【JavaSE】继承(贰)

本篇紧接上一篇内容继续,还是从继承里的细节开始目录1.代码块初始化2.protected关键字3.final关键字4.Java中允许的继承方式1.代码块初始化关于代码块的定义和使用因为之前已经进行过介绍,所以这里就不再赘述,我们所关注的点是父类和子类中的代码块在运行时候的先后顺序是怎样的首先还是在父类以及子类中添加代码块,如下://父类 { System.out.println("父类实例代码块"); } static { System.

2022-04-05 21:01:18 412 13

原创 【JavaSE】继承(壹)

继承同样是面向对象程序的特点目录1.什么是继承2.继承的细节2.1super关键字2.1.1子类成员和父类成员重名2.2子类的构造方法2.3super和this区别1.什么是继承所谓继承就是抽取类的共性,进而实现代码的复用继承的关键字是extends现在定义一个类Tree,里面有树的名字、来源和科属,方法是打印树的形态特征,如下:class Tree { String name; String source; String .

2022-04-04 20:11:00 620 15

原创 【JavaSE】类和对象(叁)

本篇使用的类依旧是之前的Book类(对着一个类薅羊毛,懒死算了ಠಿ_ಠ),之前文章还漏掉了一个点在这补上:访问限定修饰符private是无法修饰类的,它只能用于修饰成员本篇的重点就一个:内部类目录1.内部类概念2.实例内部类2.1实例内部类的实例化3.静态内部类3.1静态内部类实例化1.内部类概念内部类本质上还是类,只不过这个类是在一个类的内部定义的,其实内部类依旧是类的成员,只不过它恰好也是类内部类的分类:实例内部类静态内部类匿名内部类(这个是接口

2022-03-31 18:44:15 484 8

原创 【JavaSE】类和对象(贰)

在开始之前说明一下,本篇文章所使用类和上一篇使用的类相同,主要是懒,不想再写一个新的类了o(* ̄▽ ̄*)o,顺便将之前挖的关于访问修饰限定符和static的坑给填上1.封装1.1概念封装是面向对象程序的特性之一,主要是将数据和操作数据的方法进行结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互简单来说就是类的一些实现细节我不想让别人知道,所以将那些细节屏蔽1.2封装的实现1.2.1访问修饰限定符Java中类的封装主要就是通过访问修饰限定符来实现,访问修饰限定符可以控制

2022-03-30 16:01:10 755 4

原创 【JavaSE】类和对象(壹)

之前关于Java的内容或多或少都和C语言有一些联系,但从这里开始那便是Java自己的东西,和C语言没有关系了,开始吧1.基本概念首先我们需要弄清楚几个概念:面向对象是什么、类是什么、对象又是什么?还是逐个来说1.1面向对象我们常说Java是面向对象的语言,C语言是面向过程的语言,那面向对象是什么,它和面向过程的区别在哪?面向对象是解决问题的一种思想,其核心是依靠对象之间的交互来解决事情至于面向对象和面向过程的区别,假设现在有一道数学题:面向过程:你自己进行手算,你需要关注套用

2022-03-27 16:45:46 603 10

原创 【JavaSE】数组(下)

上一篇介绍完一维数组后,我们来看二维数组1.二维数组的存储在C语言中我们说过:二维数组可以看成是特殊的一位数组,比如int arr[2][3],arr可以看成由两个元素组成,即arr[0]和arr[1],arr[0]和arr[1]各自又有三个元素,这句话在Java中同样适用,一维数组中arr存储的是一个地址,二维数组中则是多个地址,以上面的arr数组为例,其在JVM中的存储如下:2.二维数组的定义和初始化和一维数组类似,二维数组的定义和初始化同样有三种:int[][] arr1={

2022-03-24 17:32:02 1033 10

原创 【JavaSE】数组(上)

本篇介绍一维数组以及相关操作,二维数组放在下一篇目录1.JVM的内存分布2.引用类型变量的特点3.一维数组的使用3.1定义和初始化3.2数组的访问3.3打印数组所有的元素3.4数组的拷贝3.5作为参数和返回值1.JVM的内存分布Java的代码是运行在JVM上的,为了方便管理,对所使用的内存按照功能的不同进行了划分,这不是本篇重点,只做简单的介绍:Java虚拟栈:局部变量在这里开辟空间Java本地方法栈:运行一些由C/C++编写的程序堆:对象在这里

2022-03-21 09:00:00 336 15

原创 【JavaSE】Java的方法

在讲方法之前首先将Java中的分支和循环语句进行介绍,之所以放在这里主要是Java的分支循环语句和C语言中的分支循环语句并没有太大的差别,所以就不单独写一篇了1.分支循环语句Java的分支语句:if语句、switch语句Java的循环语句:while循环、for循环、do......while循环它们的用法和C语言中的一样,同样有break和continue两个关键字,只有一点需要注意:判断条件必须是布尔表达式2.方法的定义Java中的方法就是C语言中的函数,假设要定义一个加法的

2022-03-20 13:55:43 1786 13

原创 【JavaSE】Java的运算符

Java中的运算符基本和C语言中的类似,同样我们跳过基础的概念,只介绍一下二者的不同之处目录1.算数运算符1.1四则运算符1.2复合运算符2.关系运算符3.逻辑运算符3.1逻辑与3.2逻辑或3.3逻辑非4.位运算符5.条件运算符1.算数运算符1.1四则运算符和C语言一样,Java中的算数运算符依旧是四则运算加上取模( + - * / % ),使用方法也和C语言差不多,这里有两点不同1.除数和取模操作,除数不能为0,写0程序会显示异常2.J

2022-03-09 21:22:28 705 12

原创 【JavaSE】数据类型和变量

Java中的数据类型和变量和C语言有相似的地方,也有不同的地方,这里只针对不同的地方进行重点介绍1.字面常量常量即固定不变的量,不管程序如何运行,其本身并不会改变,Java中的字面常量如下:1.由双引号括起来的字符串,比如:"12"、"call"等2.程序中直接写的整数和小数,比如:13、15.2等3.由单引号括起来的字符,比如:'a'、'5'等4.布尔常量true和false5.空常量2.数据类型Java的数据类型可分为两类:基本数据类型和引用数据类型基本数据

2022-03-08 21:10:32 1041 9

原创 【JavaSE】初识Java

在介绍完C语言之后,我们便正式进入Java语法的学习

2022-03-06 18:32:12 346 20

原创 程序的环境和预处理

上一篇博客已经了解过文件的操作,这篇主要解决一个问题:我们在用C语言写代码的时候,建立的是后缀为.c的源文件,而windows环境下可执行程序的后缀是.exe,从代码到可执行程序,这中间经过了哪些步骤目录1.程序的环境1.1翻译环境1.1.1预处理1.1.2编译1.1.3汇编1.1.4链接1.2执行环境2.预处理详解2.1预定义符号2.2#define2.3条件编译2.4#include<>和#include""的区别1.程序的环境

2022-02-27 20:22:05 415 2

原创 文件的操作

我们知道程序中的数据是在内存中进行存储的,当程序关闭的时候,这些数据也就被销毁,而在某些情况下我们可能需要将数据记录下来,那么此时数据就需要存储在文件中,关于文件,内容如下:目录1.什么是文件2.文件的分类3.文件的打开和关闭3.1文件名3.2文件指针3.3打开文件3.4关闭文件4.文件读写4.1流4.2文件顺序读写4.2.1 fgetc/fputc4.2.2 fgets/fputs4.2.3 fscanf/fprintf4.2.4 fread/f

2022-02-22 22:00:29 443 8

空空如也

空空如也

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

TA关注的人

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