自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL 中 char 与 varchar 的区别

场景判断选char选varchar数据长度是否固定是(如手机号、MD5 值)否(如昵称、地址)空间敏感程度低(允许固定浪费)高(需节省空间)查询性能优先级读性能优先(如高频查询字段)写性能或空间优先(如日志数据)学习记录,如有错误,请大佬指正!

2025-06-03 09:04:17 771

原创 数据库三范式的理解

笛卡尔积就像是做排列组合游戏,假设有两个集合,集合 a 里有元素 x 和 y,集合 b 里有元素 1、2、3,那 a 和 b 的笛卡尔积就是 a*b={(x,1),(x,2),(x,3),(y,1),(y,2),(y,3)}。比如在员工表中,有 “员工 ID”“部门 ID”“部门所在地”,“部门所在地” 是依赖于 “部门 ID”,而不是直接依赖 “员工 ID”,这种情况就不符合第三范式,应该把 “部门 ID” 和 “部门所在地” 单独拿出来建一个部门表,让数据结构更清晰。联表查询效率为啥低?

2025-06-02 14:08:04 316

原创 Java 代码从编译到执行的过程

编写的 Java 源代码,它们被保存为.java文件。在这个阶段,开发者依据需求,运用 Java 语法和 API,构建出具有特定功能的程序。比如,我们想要编写一个简单的 “Hello, World!这段代码定义了一个名为HelloWorld的类,并在main方法中使用System.out.println输出字符串。此时,这些代码是可读的文本,但是计算机并不能直接理解和执行。

2025-05-28 09:29:20 618

原创 深入理解 JDK、JRE 和 JVM 的区别

JVM 即 Java 虚拟机,它是整个 Java 技术体系的核心。JVM 提供了 Java 程序的运行环境,就像是一个虚拟的计算机,能够执行字节码文件。它负责加载字节码文件、管理内存、执行指令等一系列操作。

2025-05-27 22:29:28 518

原创 MVC架构模式

MVC架构理解

2025-05-16 11:49:42 355

原创 Java 为什么不支持多继承?及替代方案解析

Java"菱形继承"问题

2025-05-15 10:07:27 559

原创 Android-MaterialButton(一)

是新控件,当遇到按钮需要、或者等,就可以使用这个。

2024-12-22 23:28:14 708

原创 Android-帧布局FrameLayout

组件的默认位置都是左上角,组件之间可以重叠。像千层饼一样,一层压着一层 可以设置上下左右的对齐、水平垂直居中、设置方式与线性布局相似。以按钮为例子,在这个结构中,最下面的button实在最上面的,一层压着一层。接下来代码演示,新建文件,命名com_framelayout。通过以下属性即可设置外间距。组件相对父容器的位置。

2024-12-22 22:21:34 532

原创 Android-相对布局RelativeLayout

相对布局在摆放子视图位置时,按照来摆放子视图的位置,作为摆放位置了解一下接下来都会以代码的方式可视化出来true/false是否让控件对齐true/false是否让控件对齐true/false是否让控件对齐true/false是否让控件对齐true/false相对父容器水平居中显示true/false相对父容器垂直居中显示true/false相对父容器居中显示新建一个layout文件,如图所示我们写一个按钮 设置颜色 你会发现 它距离上边框还有些距离,这是为什么呢?

2024-12-21 23:10:43 1114

原创 Android-线性布局LinearLayout

是因为我们的父控件android:orientation="vertical"设置了vertical,所以,在垂直方向都需要按照顺序来,所以没有改变,我们将android:orientation="horizontal"修改为水平,这样就可以看到,android:layout_gravity="center_vertical"属性生效了,相反的,其他属性就无效了,我们需要在特定的情况使用这些属性。当给一个控件设置weight的时候,这个控件的width就是无效的,所以给width设置为0。

2024-12-21 16:57:21 1340

原创 Android学习(七)-Kotlin编程语言-Lambda 编程

通过本节的学习,我们掌握了 Kotlin 中集合的创建与遍历方法。Kotlin 提供了简洁的语法来初始化和操作集合,使得代码更加清晰和易于维护。接下来,我们将学习集合的函数式 API,从而正式入门 Lambda 编程。

2024-12-20 09:22:56 593

原创 Android学习(六)-Kotlin编程语言-数据类与单例类

通过本节的学习,我们掌握了 Kotlin 中数据类和单例类的使用方法。数据类通过data关键字简化了常见方法的实现,而单例类通过object关键字提供了简洁的单例模式实现。这些特性使得 Kotlin 在面向对象编程方面更加高效和易于维护。通过这些示例和解释,相信你已经对 Kotlin 中的数据类和单例类有了清晰的认识。实践是检验真理的唯一标准,动手试试吧!

2024-12-19 22:30:33 490

原创 Android学习(五)-Kotlin编程语言-面向对象中的 继承-构造函数-接口三模块学习

Student首先,我们创建一个名为fly的接口,选择类型为“Interface”。在接口中定义的函数不需要有具体的实现,只是声明了需要实现的行为。

2024-12-19 21:51:46 896

原创 Android学习(四)-Kotlin编程语言-for循环

Kotlin 的for-in循环虽然不如传统的for-i循环灵活,但更加简洁易用,并且能够覆盖大部分常见的循环场景。通过区间、步长和降序等功能,for-in循环可以实现各种复杂的循环逻辑。希望这些内容能帮助你更好地理解和使用 Kotlin 中的循环语句!

2024-12-19 13:59:05 818

原创 Android学习(三)-Kotlin编程语言逻辑学习-if和when

在编程中,程序的执行语句主要分为三种类型:顺序语句、条件语句和循环语句。顺序语句简单明了,代码按顺序一行行执行。然而,在许多情况下,我们需要更复杂的逻辑控制来满足特定的需求,这时就需要使用条件语句和循环语句。Kotlin 中的if语句与 Java 中的if语句非常相似。下面以之前提到的函数为例,展示如何使用if语句来返回两个参数中的较大值。

2024-12-19 13:39:26 738

原创 Android学习(二)-Kotlin编程语言学习

return 0关键字fun:这是声明函数的关键字,每个函数都必须以fun开头。函数名:紧跟在fun后面的是函数名,命名没有强制规定,但建议选择有意义的名字以便理解其功能。参数列表:括号内的内容是函数的参数列表,可以包含零个或多个参数。每个参数由参数名和类型组成,格式为参数名: 参数类型。返回类型:冒号后面的部分声明了函数的返回值类型。如果函数不返回任何值,则这部分可以省略。函数体:大括号{}内部包含了函数的具体实现逻辑。接下来,我们通过一个具体的例子来加深对函数定义的理解。

2024-12-18 16:30:07 321

原创 Android学习(一)-快速入门Kotlin编程

Kotlin语言在2019年被Google宣布说明为Android开发的第一语言,目前为止,大部分的Android开发都使用的是Kotlin语言,在此之前的Android开发都采用的是Java语言,Kotlin语言可以说是Java语言的升级版,所以学习Kotlin编程之前,你要有一定的Java基础,否则学习过程中可能会难以理解。

2024-12-16 16:26:18 323

原创 java数组(三)二维数组

从形式上看定义为 int[ ] [ ];二位十足的每个元素使一维数组,所以如果需要得到每个一维数组的值还需再次遍历如果我们要访问第(i+1)个一维数组的第j+1个值 arr[ i ] [ j ]arr[ i ] 表示 二维数组的第i + 1 个元素,比如arr[ 0 ]:二维数组的第一个元素arr[ i ].length 得到对应的每个一维数组的长度jvm内存。

2024-06-06 23:41:23 339

原创 java数组(二)

第1次比较[24,69,80,57.13]第2次比较[24,69,80,57,13]第3次比较[24,69,57,80,13]第4次比较[24,69,57.13,80]

2024-06-03 15:34:13 439

原创 java数组(一)

double[] 表示是double类型的数组,数组名为arr表示数组的值/元素,依次表示数组的第几个元素int a[];或者int[] a;

2024-06-03 01:51:15 460

原创 深入理解Java方法调用机制:从栈到堆的旅程

在Java编程语言中,方法调用是一个基础且重要的概念。每个方法都是一个独立的执行单元,它有自己的执行上下文和局部变量。本文将深入分析Java方法调用机制,并探讨在JVM内存中栈、堆和方法区的角色。

2024-05-04 20:59:01 557 1

原创 Java中ArrayList遍历时删除元素的正确姿势

在Java编程中,ArrayList是一个非常实用的集合类,它提供了动态数组的功能。然而,当我们在遍历ArrayList的过程中删除元素时,需要特别注意一些细节。本文将通过两个示例程序来探讨如何在遍历ArrayList时正确地删除元素。

2024-05-03 01:16:07 2723 1

原创 Java生成随机n位数验证码

在Java开发中,生成随机验证码是一个常见的需求,特别是在Web开发中用于用户验证。本文将介绍一种简单的方法来生成随机n位数验证码。

2024-05-02 22:43:41 950 2

空空如也

空空如也

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

TA关注的人

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