自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JavaEE】(1) 计算机如何工作

图灵提出了通用计算机理论。 冯诺依曼带领团队研发出通用计算机雏形,提出冯诺依曼体系结构。 现代计算机的显卡、电源、散热器等都是后来逐渐演化出的。 代码都是在 CPU 上运行的,因此 CPU 是程序员最需要关心的部件。 任务管理器 >> 性能。 这个是我电脑 CPU 的实时频率,任务多速度就慢点,任务少速度就快点。频率越高,代表 CPU 一秒内运算的次数越多。10 Hz 表示一秒钟运算10次,1 GHz = 10亿 Hz。

2025-05-22 22:00:49 1091

原创 【MySQL】(13) JDBC 编程

一些。

2025-05-20 15:46:55 616

原创 【MySQL】(12) 事务

作用域分为全局作用域(新建连接会读取全局参数和会话作用域(只对当前客户端连接生效。

2025-05-18 14:06:25 682

原创 【MySQL】(11) 索引

在 MySQL 中,若用 InnoDB 存储引擎,.idb 文件就是存储一个表的数据和索引信息的文件。数据以页为单位进行存储,也是内存与磁盘交互的最小单元,每次至少读取一页,16KB。页内的地址是连续的时间局部性:当前访问的数据,很有可能再次被访问。空间局部性:很有可能访问当前访问数据的邻近位置的数据。若下次查询的数据在当前页中,就直接从内存读取,减少访问磁盘,提高性能。

2025-05-14 15:09:10 714

原创 【MySQL】(10)用户和权限管理

通常一个应用对应一个数据库,我们希望某个数据库只能被相关人员操纵,就需要创建用户并指定权限。只有登录该用户,才能在权限范围内操纵数据库。root 是权限最高的用户,它拥有所有的权限。

2025-05-08 19:31:22 930

原创 【MySQL】(9) 视图

视图是一张,是。它本身不像基础表(物理表)一样存储数据,而是将 SQL 查询语句包装起来,通过。

2025-04-29 13:38:52 905 1

原创 【MySQL】(8) 联合查询

由于范式的规则,数据分到多个表中,想要,就需要联合查询多张表。比如查询学生的学生信息和所在班级的信息,就需要联合查询学生表和班级表。

2025-04-25 10:59:14 897

原创 【MySQL】(7) 数据库设计

数据表的列不可再分,即能用 MySQL 中的基本数据类型定义。满足第一范式是关系型数据库的基本要求。在第一范式的基础上,不存在非关键字段对候选键的部分函数依赖。候选键就是可以唯一标识数据行的列(可以选作主键)或多个列(可以选做复合主键,里面的所有列都是候选键)。部分函数依赖某些非关键字段只依赖部分候选键,与其它候选键无关系)存在于有复合主键的表中。在第二范式的基础上,不存在非关键字段对任意候选键的传递依赖。

2025-04-22 15:50:33 707

原创 【MySQL】(6) 数据库约束

就是自动对数据、表间关联关系的正确性校验,一般在列上加约束。 限制数据值不能为 null,比如学生姓名: 限制数据值唯一,比如 id: 但是 unique 限制的 id 可以有重复的 null: 限制数据唯一且不为空,可以由一个或多个列组成,用于唯一标识数据行,建议每个表都有一个主键,但一个表最多只能有一个主键,最多只能有一个 auto_increment 列,主键类型建议为 bigint。 插入数据: 当插入失败时(比如设

2025-03-16 18:14:49 977

原创 【MySQL】(5) 数据行的增删改查操作

就是对数据库中(一行)的增删改查。

2025-03-16 15:19:01 1055

原创 【MySQL】(4) 表的操作

语法:示例:生成的数据目录下的文件:语法:示例:语法:删表是危险操作,尽量别用。 .sql 脚本: 查询客户端工具: 或: 补充,三种注释: 出现错误: 原因,客户端和服务器的字符集不匹配: 客户端连接服务器时,指定默认字符集与服务器一致: 脚本执行成功: 如果不想每次连接服务器,都设置字符集: 方法1:使用 MySQL 自带的 Unicode 命令行客户端:

2025-03-09 19:08:03 339

原创 【MySQL】(3) 数据类型

同一个东西,在不同领域中有不同的叫法:定义实体的属性,取名+指定数据类型,本文讲数据库中的数据类型。

2025-03-04 18:04:13 937

原创 【MySQL】(2) 库的操作

SQL 关键字,大小写不敏感。

2025-03-01 12:01:09 407

原创 【MySQL】(1) 数据库基础

就是采用关系模型(二维表)组织数据,一个关系型数据库就是由二维表之间的关系组成的数据组织。为什么要使用多个关系模型,并建立它们之间的关系?直接用一张表存储所有数据行不好吗?比如下面有两张表:想改名尖子1班为清北班,那么只需要更改班级表中的第一栏。和为一张表后:想改名尖子1班为清北班,就需要更改所有是尖子1班的学生信息。显然,这种更改效率极低。SQL 就是结构化查询语言的简称,用于存取、查询、更新、数据,管理数据库。DDL:数据定义语言,数据库级别。与开发强相关。

2025-02-27 20:36:09 747

原创 【MySQL】数据库安装

mysql 是开源的,完全免费。mysql 安装之前,防止后续安装出现问题:此电脑 >> 管理 >>运行安装包:设置过滤器,显示所有可以安装的组件:初学者最多安装这4个组件,其它的目前用不到:设置安装路径:next >> excute,开始安装组件 >> next,安装完成。

2025-02-27 19:59:58 884

原创 【数据结构】(12) 反射、枚举、lambda 表达式

一组常量,比如颜色,它们是同一类,我们想把这组常量组织在一起,就用枚举。作用是与没有意义的数字区分开来(如果定义一组常量,就要用数字表示它们)。break;默认继承了 java.lang.Enum。相当于方法,但是比方法更简化。(形参列表)->表达式(形参列表)->{代码块}// 参数类型可以省略(要省全都省),只有一个参数可以省略圆括号。// 返回一个值或者不返回值。

2025-02-23 20:59:53 1323

原创 【数据结构】(11) Map 和 Set

左子树所有结点小于根结点。右子树所有结点大于根结点。所有子树都满足以上条件。通过哈希函数,输入 key 计算 value 的存放位置,通过这种哈希方法构造的结构就叫哈希表(散列表)。因为只需要计算一次哈希函数,所以删除、插入、搜索操作都是O(1)。不同的 key,通过哈希函数,得到相同的映射。哈希冲突是必然发生的,我们需要尽可能降低哈希冲突发生的概率。通过扩容代码得知,调用无参构造方法,第一次 put 添加元素,会分配 16 大小的内存。通过扩容代码得知,正常扩容的情况,每次 2 倍扩容。

2025-02-23 15:35:39 995

原创 【数据结构】(10) 排序算法

冒泡排序在C语言部分学过,堆排序上一章学过,还剩五种常见排序算法。以下默认从小到大排序。:相同元素在排序过后,前后相对位置依旧不变。一个本身稳定的排序,可以改成不稳定的;但一个本身不稳定的排序,无法改为稳定的。

2025-02-18 14:00:05 886

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

堆也是一种数据结构,是一棵完全二叉树,该完全二叉树中的所有子树的根都大于其孩子,即大根堆;如果都小于其孩子,就是小根堆。

2025-02-15 01:03:48 786

原创 【数据结构】(8) 二叉树

树的度为2。子树有左右之分,不能颠倒。

2025-02-12 22:38:06 1328 1

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

队列也是一种特殊的顺序表,但只能在固定的一端(队尾,tail/rear)入队,另一端(队头,head/front)出队,具有先进先出的特点。

2025-02-08 23:16:03 1448 1

原创 【数据结构】(6) LinkedList 链表

不同点LinkedListArrayList物理存储上不连续连续随机访问效率O(N)O(1)插入、删除效率O(1)O(N)

2025-02-06 06:16:22 1116

原创 【数据结构】(5) ArrayList 顺序表

ArrayList 就是数组的封装,但是数组只有 [] 操作存取值,和 .length 操作获取数组内存长度;

2025-02-03 23:47:06 830

原创 【数据结构】(4) 线性表 List

List 是Java 中的线性表,但它只是一个接口,说明了线性表应该实现的方法,并不能实例化。List 是泛型的。

2025-02-03 18:39:55 447

原创 【数据结构】(3)包装类和泛型

一般的类和方法只能固定接收、返回一种类型的数据,但有时我们希望接收、返回很多种类型的数据。比如写一个加法器,里面的数据可以是整型、浮点型,如果使用方法重载,方法里的步骤相同,只是数据类型不同,造成代码的冗余。使用泛型可以解决这个问题,相当于将数据类型参数化,可以给同一个类或方法灵活地指定任意类型。泛型的重点在泛型类对象怎么实例化,为后续集合类的使用做铺垫。而怎么定义泛型类、怎么定义泛型方法、擦除机制、泛型上界、通配符等相比较下就不那么重要了。

2025-02-01 21:04:39 1206

原创 【数据结构】(2)时间、空间复杂度

时间复杂度衡量,空间复杂度衡量。这些指标,是某场景中。如今,计算机的存储器已经变得容易获得,所以。

2025-01-27 23:26:18 618

原创 【数据结构】(1)集合类的认识

数据结构就是,即相互之间存在一种或多种关系的数据元素的集合。

2025-01-27 21:07:46 507

原创 【JavaSE】(9) 异常

异常处理,是根据业务来写的。比如电商平台,可能存在商品库存不足、用户余额不足等异常等。此时Java 标准库提供的异常类可能不够我们使用,我们就需要根据业务自定义异常类。自定义异常类继承 Exception 类或者 RuntimeException 类。继承 Exception 类默认为受查异常;继承 RuntimeException 类默认为非受查异常。// 用户名异常类// 密码异常类// 登录if (!// 字符串构造方法,出现异常的原因if (!try {

2025-01-23 16:24:19 908

原创 【JavaSE】(8) String 类

常用的这4种构造方法:直接法,或者传参字符串字面量、字符数组、字节数组。在中,String 类的字符串中:String 类也,所以可以直接打印 String 类,打印效果就是字符串,而非 className@hashCode 的形式:可以看到源码中,重写的 toString 直接返回的 this,因为 this 本身就是字符串类,println 会对 String 类进行处理,打印出字符串:可以获取字符串长度,这区别于通过获取长度。

2025-01-21 23:00:19 1130

原创 【深度学习入门】深度学习知识点总结

有关卷积、池化、激活函数,全是干货,超详细解释,对小白十分友好。

2025-01-21 15:48:52 1316

原创 【JavaSE】(7)图书管理系统

本图书管理系统用到了 Java 的基本语法、继承、抽象类、接口、动态规划等知识,是个不错的小练习。

2025-01-21 01:20:52 678

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

抽象类就是不能描述一个具体对象的类,比如类 Shape,它的子类可以有 Cycle、Squre等。Shape 的 draw 并不能确定子类对象的描绘,此时 Shape 就需要定义为抽象类。抽象类由abstract修饰。抽象类中,不能准确描述子类对象的方法 draw 叫做抽象方法,同样用 abstract 修饰。这样,抽象类只负责声明抽象方法,而子类负责重写来实现抽象方法,子类就能准确描绘自己的 draw 了。因为抽象类的抽象方法并没有具体实现,所以抽象类不可以用 new 实例化。因为。

2024-11-18 19:45:32 852

原创 【JavaSE】(5)继承和多态

一类可能含有多个子类,如:动物的子类有,猫、狗……。这些子类具有共性,将共性提取出为父类,如:动物的共性是,有名字、年龄……继承则是(派生类)(基类/超类)(共性)。继承。继承就是 is-a 的关系:猫 is a 动物。

2024-11-13 16:52:42 754

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

构造方法,名字与类名相同没有返回值,作用就是初始化成员变量。创建对象后,编译器会自动调用构造方法,并只调用一次。在没有定义构造方法时,编译器会默认定义一个什么也不做的构造方法。但是定义了构造方法后编译器就不会定义默认的构造方法了。可以重载。静态代码块、静态成员变量(类加载时就分配内存初始化)->实例代码块、示例成员变量(创建对象时)->构造方法。执行顺序(相同):依次。不管 new 了多少个对象,静态代码块只执行一次。多个静态代码块,会合并执行。

2024-11-12 13:08:41 868

原创 【JavaSE】(3)数组

数组就是同一类型、所占内存空间连续的数据的集合。// 整型数组// 动态// 静态// 省略版静态。

2024-11-08 23:11:09 855

原创 【JavaSE】(2) 方法

C语言知识回顾:形参只是实参的拷贝,它们是放在不同的栈帧中。因此,当交换两个数值时,用传递值的方式调用方法,方法执行结束后,形参的栈帧会回收,而实参的值并无变化。想改变实参,必须传递地址。,只能获取堆上存放的引用类型变量的引用地址,因此可以传递数值这种引用类型来改变实参,后续再深入学习。方法名字相同,但参数列表不同(参数个数、参数类型、参数类型的次序),实现不同的功能。同一个作用域的标识符不能相同,为什么可以让方法同名?方法签名组成:方法全路径+参数列表类型+返回值类型。不用再绞尽脑汁想方法名了。

2024-11-05 21:10:58 358

原创 【JavaSE】(1) Java 的初识

IDEA跟VS一样,是一款集成开发环境,编辑、编译、运行、调式等啥都齐全。

2024-11-04 14:56:34 1061

原创 Windows 下安装 jdk8

如果想进行 Java 编程(开发人员),需要安装 JDK;如果仅仅想运行 Java 程序(客户),只需要安装独立的 JRE,节省存储空间。JDK 包里也内置有 JRE。企业一般都是使用,因为它是最早的(Oracle 会长期维护和更新,稳定),且企业更换版本会付出一些成本。

2024-10-12 23:59:55 4674

原创 【C语言】(23)预处理指令详解

预定义符号,会在预处理阶段,被直接替换为它的内容。__FILE__ //进⾏编译的源⽂件__LINE__ //⽂件当前的⾏号__DATE__ //⽂件被编译的⽇期__TIME__ //⽂件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义在 VS 环境中演示,预定义符号__STDC__不可使用:用 gcc 编译器演示,gcc 遵循标准C:#define 定义常量,会在预处理阶段,将代码中的名字直接替换为内容。// name: 名字// stuff: 内容。

2024-10-07 02:47:20 1891 2

原创 【C语言】(22)编译和链接

计算机能识别的是二进制指令,为什么编程时不直接写二进制?在早期,科学家们确实是用二进制指令编程,但这样非常不好理解且低效,编程时需要查册子一句句找二进制指令。后来发明了助记符号,每条二进制对应一个助记符,更便于编程,这就是汇编语言。但汇编语言还不够方便,就发明了B语言。最后又在B语言的基础上发明了C语言。B语言和C语言就属于高级计算机语言,易于程序员理解和编程。编译器、链接器等等,都是人类发明出的工具,将高级计算机语言自动转成机器能够识别的二进制指令,而不需要程序员理解其中复杂的过程。

2024-10-06 13:13:19 1021

空空如也

空空如也

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

TA关注的人

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