自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java--怎么定义枚举类

但是我们会发现 values() 并不在其中, 这是因为枚举类的 values() 方法是在 Java编译器自动添加的, 当使用 enum 关键字定义枚举类是, 虽然我们在代码中没有显示声明 values() 方法, 但编译器会在编译过程中为枚举类生成这个方法。values() : 以数组形式返回枚举类型的所有成员(注意是枚举类型)1.我们要知道我们定义的枚举类默认是继承与Enum(一个抽象类)compareTo() : 比较两个枚举成员在定义时的顺序。4.我们查找枚举类都继承的Enum类。

2025-06-10 23:57:39 48

原创 字符串常量池

然后这部分就会在堆中开辟一个空间用来存这个字符串, 同时这个字符串同时在字符串常量池中开辟一个新空间用来存这个字符串, 当在创建一个字符串 String s2 = "aaa";当然这两个字符串的内容要相同,), 当然栈和堆中的地址指向的是同一个位置, 但是在堆中, 字符串有 value 和 hash 之, value存的是字符串的值, 栈中的地址指向的就是这个value 和 hash了。1.首先我们先要了解下字符串是怎么存储的, 我们创建一个字符串 String s = "aaa", 首先我们会在。

2025-06-09 00:25:44 230 1

原创 理解网络协议

帧头有MAC地址(写死在网卡中, 出厂时就确定下来了), 帧尾有CRC(校验和, 发送方通过某种算法对载荷进行运算, 保存起来, 接收方在收到数据之后, 取出载荷以相同的算法进行运算, 如果得到的结果与校验和相同, 就表示接收到的载荷与发送的载荷一致, 否则载荷是无效的)(7)数据链路层 : 解析出帧头, 载荷, 帧尾, 将帧头, 帧尾去掉, 把载荷交给上一层。(2)传输层 : (传输层众多协议中最典型的两种: TCP, UDP),: 源IP地址, 源端口号, 目的IP地址, 目的端口号, 协议。

2025-06-04 13:54:39 1350 2

原创 数据库->事务

MySQL服务可以同时被多个客⼾端访问,每个客⼾端执⾏的DML语句以事务为基本单位,那么不同的客⼾端在对同⼀张表中的同⼀条数据进⾏修改的时候就可能出现相互影响的情况,为了保证不同的事务之间在执⾏的过程中不受影响,那么事务之间就需要要相互隔离,这种特性就是隔离性。

2024-11-07 11:23:43 1362

原创 数据库->索引

当向⼀个新⻚插⼊数据时,将 Infimun 连接第⼀个数据⾏,最后⼀⾏真实数据⾏连接Supremun ,这样数据⾏就构建成了⼀个单向链表,更多的⾏数据插⼊后,会按照主键从⼩到⼤的顺序进⾏链接,如下图所⽰。• 当⼀个select语句使⽤了普通索引且查询列表中的列刚好是创建普通索引时的所有或部分列,这时就可以直接返回数据,⽽不⽤回表查询,这样的现象称为索引覆盖。1.创建表的时候,明确知道某些列是频繁查询的列,就直接创建(当表中数据比较少时,全表扫描的效率可能比使用索引的效率还要高)

2024-11-06 21:45:50 1525

原创 数据库->视图

视图是⼀个虚拟的表,它是基于⼀个或多个基本表或其他视图的查询结果集。视图本⾝不存储数据,⽽是通过执⾏查询来动态⽣成数据。⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管理。视图本⾝并不占⽤物理存储空间,它仅仅是⼀个查询的逻辑表⽰,物理上它依赖于基础表中的数据。

2024-11-05 22:26:51 555

原创 数据库->联合查询

⾃连接是⾃⼰与⾃⼰取笛卡尔积,可以把⾏转化成列,在查询的时候可以使⽤where条件对结果进⾏过滤,或者说实现⾏与⾏之间的⽐较。要从多个表中获取数据,如下图所⽰:要获取学⽣的基本信息和班级信息就要从学⽣表和班级表中获取,这时就需要使⽤联合查询,这⾥的联合指的是多个表的组合。:与左外连接相反,返回右表的所有记录和左表中匹配的记录。子查询是由很多条SQL语句组成的 可以把子查询中的SQL一条一条的执行 最终拿到想要的结果。在子查询中先执行内层的SQL,内层的SQL会产生一个值,做为外层查询的条件。

2024-11-02 22:03:04 1288

原创 数据库->数据库设计

数据库的范式是⼀组规则。在设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式。

2024-10-28 23:18:53 653

原创 数据库->数据库约束

只要符合非空和唯一即可自增操作一旦完成 不论是否写入成功 都不会回退两列全部重复才报错。

2024-10-27 23:05:58 2530

原创 数据库->增删改查

CURD是对数据库中的记录进⾏基本的增删改查操作:• Create(创建)• Retrieve(读取)• Update(更新)• Delete(删除)

2024-10-24 15:35:59 2678

原创 数据库->表的操作

创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则。这些可选项,如果不指定就用数据库默认的,也可以单独为每张表指定不同的设置。• RENAME[TO|AS]new_tbl_name:重命名当前的表。• character set:字符集,不指定则使⽤默认字符集。• collate:排序规则,不指定则使⽤默认排序规则。• engine:存储引擎,不指定则使⽤默认存储引擎。• TEMPORARY:表⽰创建的是⼀个临时表。• ⼀次可以删除多个表,表与表之间⽤逗号隔开。

2024-10-19 10:01:36 1523

原创 数据库->数据类型

安装完MYSQL之后就有了MYSQL服务 --> 管理着很多个数据库 --> 管理着很多个表 --> 管理着很多数据行 --> 数据行是由多个列组成的 --> 描述列用到了数据类型定义列时,需要为每个列指定数据类型。

2024-10-17 22:09:15 998

原创 数据库->库的操作

实例库,用于练习,可以随意修改。

2024-10-17 05:00:00 920

原创 【初识数据库】

组织和保存数据的应用程序。

2024-10-16 21:14:09 600

原创 Java->反射、枚举以及Lambda表达式

Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。

2024-10-14 23:39:00 925

原创 Java->Map和Set

二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值2.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值3.它的左右子树也分别为二叉搜索树。

2024-10-11 22:53:52 1250

原创 Java->排序

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求在内外存之间移动数据的排序。

2024-10-10 15:50:45 2499 1

原创 Java对象的比较

2. 用户也可以选择使用比较器对象,如果用户插入自定义类型对象时,必须要提供一个比较器类,让该类实现Comparator接口并覆写compare方法。1. Comparble是默认的内部比较方式,如果用户插入自定义类型对象时,该类对象必须要实现Comparble接口,并覆写compareTo方法。对于用户自定义类型,如果要想按照大小与方式进行比较时:在定义类时,实现Comparble接口即可,然后在类中重写。Comparator是java.util 包中的泛型接口类,使用时必须导入对应的包。

2024-10-08 20:16:13 511

原创 Java->优先级队列(堆)

Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的构造器功能介绍创建一个空的优先级队列,默认容量是11创建一个初始容量为initialCapacity的优先级队列,注意:initialCapacity不能小于1,否则会抛IllegalArgumentException异常用一个集合来创建优先级队列。

2024-10-08 16:19:50 1086

原创 Java->二叉树

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。特点:有一个特殊的结点,称为根结点,根结点没有前驱结点;除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合Ti (1

2024-10-02 20:25:02 1069

原创 Java->栈和队列

一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈。出数据在栈顶。

2024-09-29 08:30:00 384

原创 Java->链表

/静态内部类//创建链表//打印链表while (cur!= null) {//返回链表长度while (cur!//是否包含keywhile (cur!= null) {//头插法//尾插法return;= null) {//任意位置插入System.out.println("index不合法!");return;return;count++;

2024-09-27 08:30:00 817

原创 Java->顺序表

usedSize++;@Overridei++) {@Overridethrow new PosOutOfException("pos位置不合法!");resize();i > pos;return -1;@Override。

2024-09-25 08:30:00 1067

原创 Java【初识数据结构】

数据结构是指计算机储存、组织数据的方式,指相互之间存在一种特定关系的数据元素的集合容器背后对应的数据结构:1. Collection:是一个接口,包含了大部分容器常用的一些方法2. List:是一个接口,规范了ArrayList 和 LinkedList中要实现的方法ArrayList:实现了List接口,底层为动态类型顺序表LinkedList:实现了List接口,底层为双向链表3. Stack:底层是栈,栈是一种特殊的顺序表4. Queue:底层是队列,队列是一种特殊的顺序表。

2024-09-23 10:19:41 1092

原创 JavaSE->异常

具体方式:1. 自定义异常类,然后继承自Exception 或者 RunTimeException2. 实现一个带有String类型参数的构造方法,参数含义:出现异常的原因if (!throw new UserNameException("用户名错误!");} ifthrow new PasswordException("用户名错误!");System.out.println("登陆成功");

2024-09-22 00:15:00 615

原创 JavaSE->图书管理系统的实现

【代码】JavaSE->图书管理系统的实现。

2024-09-20 15:11:39 338

原创 JavaSE->抽象类和接口

对于sort方法来说,需要传入的数组的每个对象都是可比较的,需具备compareTo这样的能力,通常通过重写compareTo方法的方式,就可以定义比较规则。在实例内部类方法中访问同名的成员时,优先访问自己的,如果要访问外部类同名的成员,必须:外部类名称.this.同名成员 来访问。接口中的每一种方法都是public的抽象方法,即接口中的方法都会被隐式的指定为public abstract。可以将一个类定义在另一个类的内部或者一个方法的内部,前一个类称为内部类,后一个类称为外部类。

2024-09-19 21:06:13 993

原创 JavaSE->继承和多态

用来进行共性抽取,实现代码的复用。继承机制:在保持原有类特性的基础上进行扩展,增加新功能,产生新的类,称为派生类。父类/基类/超类子类/派生类。

2024-09-17 17:49:10 1104

原创 JavaSE->类和对象

类是用来对一个实体(对象)来进行描述的。//创建类field;//字段(属性)或者成员变量method;//行为或者成员方法class : 定义为类的关键字,ClassName为类的名字,{}中为类的主体。成员变量创建若没有初始化,会默认初始化。局部变量要初始化,不初始化会编译失败。System.out.println(name + "吃狗粮");类名采用大驼峰定义如:className...用类型创建对象的过程,称为类的实例化。//类的实例化dog.name = "小黑";

2024-09-15 11:12:19 1130

原创 JavaSE->数组

静态初始化:在创建数组时不直接指定数据元素的个数,而直接将具体的数据内容进行指定。数组类型[][] 数组名称 = new 数据类型[行数][列数]{初始数据};引用变量并不直接储存对象本身,可以简单理解成对象储存在堆空间的起始地址。基本数据类型创建的变量,该变量空间中直接存放的时其对应的值;引用数据类型创建的变量,其空间中储存的时对象所在空间的地址。动态初始化:在数组创建时,直接指定数组元素中的个数。如果没有对数组进行初始化,数组中元素有其默认值。相同类型元素的集合在内存中1是一段连续的空间。

2024-09-13 20:57:06 1248 3

原创 JavaSE->方法的使用

在Java中,如果多个方法的名字相同,参数列表不同(参数的个数,参数的类型,类型的次序),则称这几种方法被重载了。调用方法 ---> 传递参数 ---> 找到方法地址 ---> 执行被调用的方法体。具体方式:方法全路径名 + 参数列表 + 返回值类型,构成方法的完整名字。形参是方法在定义时借助的一个变量,用来保存方法在调用时传递过来的值。---> 被调方法结束返回 ---> 回到主调函数继续往下执行。对于基础类型来说,形参相当于实参得拷贝 --->形参的名字可以随意的取,对方法都没有任何的影响。

2024-09-11 22:46:10 501

原创 JavaSE->程序逻辑控制

基本类型:byte、char、short、int,不能是long类型。else与最近的if匹配,如上图else就与if(y == 10)匹配。continue的功能是跳过这次循环,立即进入下次循环。引用类型:String常量串、枚举类型。若有嵌套循环,则结束break所在的循环。执行一个语句将不再执行别的语句。break的功能是让循环提前结束。不要忘记while()后有个";这里的exp依旧是布尔表达式。exp3: 循环变量更新方式。()中必须是布尔表达式。这里是先执行,后判断。按照代码写一行换一行。

2024-09-11 00:41:29 539 1

原创 【JavaSE】入门

Java,这个在全球范围内广受欢迎的编程语言,自其诞生之日起,就注定要在计算机科学的历史上留下浓墨重彩的一笔。起源于20世纪90年代,Java的初衷是打造一种能够在多种平台上运行的、安全且易于使用的编程语言。它不仅成功地实现了这个目标,而且在过去的几十年里,Java语言及其平台不断演进,逐渐成为了企业级应用和互联网开发的中坚力量。对于小于4个字节的运算,会先把小于4个字节的,提升为4个字节。1.Java的数据类型:基本数据类型,引用数据类型。字符串拼接一个数据,整体就是一个字符串;强转可能会发生数据丢失;

2024-09-08 23:30:53 536 2

空空如也

空空如也

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

TA关注的人

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