自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程精讲:线程操作与状态转换全解析

一个线程就是一个 "执行流",每个线程之间都可以按照顺序执行自己的代码,多个线程之间 "同时" 执行着多份代码在之前我们写的Java代码中,都必然包含一个main()方法,对于单线程来讲,一个程序的执行从main()方法开始,直到main()方法执行结束,这其中就是一个线程的开始到结束。也可以说,在单线程程序中,main线程是程序的入口和主线程。

2025-03-25 20:53:34 594

原创 解锁MySQL的潜力:掌握修改、删除和约束的关键技巧

Update 修改,Delete 删除,增删查改总结,数据库约束,约束类型,NOT NULL 非空约,UNIQUE 唯⼀约束,DEFALUT 默认值约束,PRIMARY KEY 主键约束,CHECK 约束

2024-10-17 10:00:00 2718 38

原创 MySQL中的增查操作:探索数据的奥秘,开启数据之门

在MySQL中,增加数据可以通过INSERT INTO语句来实现。INSERT INTO语句可以将数据插入到表中的一行或多行中。可以通过指定列名和相应的值来插入数据,也可以省略列名,但必须按照表的列顺序来插入值。例如:INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);查询数据可以通过SELECT语句来实现。SELECT语句可以从一个或多个表中检索数据。可以使用通配符*选择所有列的数据,也可以指定具体的列。可以使用WHERE子句来添加过滤条件,以限制返回的结果。

2024-10-14 21:21:36 3878 42

原创 蓝桥备战题后总结(2)

1、StringBuilder 类;2、StringBuffer 类、3、Arrays.toString() 方法、4、Arrays.equals() 方法

2024-10-13 19:09:46 436 5

原创 MySQL中表的操作

存储效率:char 类型在存储和检索时效率更高。由于 char 类型是固定长度的,所以在存储和读取数据时更快。而 varchar 类型由于可变长度,存储和读取时可能需要更多的操作。所以在需要频繁读写数据的场景下,char 类型更适合。存储空间:在存储相同数据的情况下,char 类型占用的存储空间通常会比 varchar 类型大。由于 char 类型是固定长度的,所以无论存储的数据长度是多少,都会占用固定长度的存储空间。

2024-10-12 20:12:13 1723 5

原创 蓝桥备战题后总结(1)

sort() 方法给数组排序;equals 方法和 ==;HashMap中 values() 方法;HashMap中 KeySet()方法;Java中如何输入字符串;Java中字符串如何转化为字符数组

2024-10-12 15:38:15 618 1

原创 MySQL中库的操作

本篇章起,我们将进入新的阶段“MySQL”的内容更新和讲解,本篇及之后的博客内容,小奥奇将带你彻底熟悉数据库中的基本操作。一、那么,接下来我们来创建一个数据库,但在实际场景中,建库之前,我们先要确定一些事情:1、观察当前的数据库是否已经存在需要建立的数据库2、根据语法规则创建一个数据库3、检查数据库是否创建成功这时,我们再来查看数据库:2.2.2、自定义一个数据库名,如果数据库不存则创建其中为不存在的意思此时2.2.1 中的aokey。

2024-10-11 19:05:37 924

原创 Java中对象的比较(equals、Comparable、Comparator)

Comparable是Java中一个接口,它用于实现对象的比较。如果一个类实现了Comparable接口,就意味着该类的对象是可以排序的。equals是Java中一个方法,用于比较两个对象是否相等。Comparator是Java中一个接口,它可以用于实现两个对象的比较。Comparator接口中有一个方法compare(Object o1, Object o2),该方法用于比较o1和o2的大小关系。

2024-10-10 13:07:55 2426

原创 二叉树的构建与遍历

在介绍二叉树的篇章中,我们用方法简单创建了一个二叉树,如下代码:但如果给定一个字符串,我们照上述代码写的话就多而复杂,有人问,创建一个二叉树不是最少含有一个中序遍历和前(后)序遍历才能唯一确定吗?

2024-10-10 13:07:20 348

原创 逆波兰表达式求值

​逆波兰表达式又叫做后缀表达式。逆波兰表示法是波兰逻辑学家J・卢卡西维兹(JLukasewicz)于1929年首先提出的一种表达式的表示方法 。后来,人们就把用这种表示法写出的表达式称作“逆波兰表达式”。逆波兰表达式把运算量写在前面,把算符写在后面。

2024-10-09 13:25:51 635

原创 二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]

2024-10-09 13:24:10 364

原创 优先级队列 ( PriorityQueue )

前几篇我们讲解过队列,其是一种先进先出(FIFO的数据结构,但在某些特殊情况下,我们操作的数据可能拥有优先级,在出队列时需要优先级高的数据先出。比如排队检票时,我们经常看到“军人优先”;或者我们在电脑玩游戏时,如果有电话打过来,我们会先处理未接电话。在此情况下使用队列显然很不合适。那么我们就要引入优先级队列(堆)。一、优先级队列1.1、概念提供返回最高优先级对象和添加新的对象的两个最基本的操作的数据结构就是优先级队列(Priority Queue)。

2024-10-08 12:26:28 998

原创 出栈入栈次序匹配

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。

2024-10-08 12:25:32 412

原创 探索二叉树的奇幻世界:解密二叉树的结构与遍历

本章习题中很多都是采用递归的方法,求树中节点的个数一样,通过遍历二叉树的每个节点,计算叶子节点的数量。3、分别用根节点的左子树和右子树分别判断是否与子树相同(注意:不用isSameTree的原因是isSameTree只会判断一次,就结束了)2、遍历改树的每一个节点,求每个节点的的左子树和右子树高度的差是不是大于2,是则返回false。,计算左子树和右子树的叶子节点数量。最终,函数返回叶子节点的数量,表示二叉树中叶子节点的数量。遍历二叉树的每个节点 ,使其左右节点进行互换,然后递归左右节点,返回根节点。

2024-10-07 10:03:25 1098

原创 括号匹配——(栈实现)

1、我们先初始化一个栈,对已有的字符串进行逐个遍历;2、进行判断是否为左括号,若为左括号,则存入栈中;若为右括号:此时先判断栈是否为空:3、最后,for 循环遍历完,检查栈是否还有元素(左括号多),若不为空,返回 false;最后返回true;表示全部匹配;

2024-10-07 09:50:15 394

原创 数据结构——List接口

在集合框架中,List是一个接口,通过其源码,我们可以清楚看到其继承了Collection。Collection 也是一个接口,该接口中规范了后序容器中常用的一些方法,具体如下所示:Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历的,具体如下:List提供了很多方法,如下:(太多,仅截取部分)虽然方法比较多,但是常用方法如下:本篇内容较少,主要介绍了List接口,及其使用,下篇我们将介绍顺序表,及简单实现其部分方法。

2024-10-05 12:17:48 483

原创 双向无头非循环链表的简单实现及介绍

欢迎大家阅读小奥奇的新作,听说上一篇我们留下了一点点 “ 简单的题目 ” ,我们在本篇要干什么呢,请看本篇任务!1、解决 “ 简单的遗留题目 ”2、LInkedList(双向)的使用3、简单的自我模拟LinkedList的实现4、ArrayList和LinkedList的区别

2024-10-05 12:16:37 705

原创 栈和队列相互实现(Java)

若为空,则将Stack1中的所有元素逐个弹出并压入Stack2,然后弹出Stack2的栈顶元素。出栈操作时,将非空队列中的元素逐个取出并加入空队列,直到取出待出栈元素,然后将非空队列和空队列的角色互换,以便下一次操作。另一个栈用于出队操作,当需要出队时,将入队栈中的元素依次弹出并推入出队栈中,然后从出队栈中弹出元素即可实现队列的先进先出特性。使用一个栈来模拟队列时,所有元素都会被推入栈中,这意味着后入栈的元素会先出栈,与队列的先进先出特性不符。队列中的最后一个元素出队,即为栈Q顶元素。

2024-10-04 12:23:58 957

原创 构建自己的二叉树:探索创造力和思考的极限

文章目录一、树型结构1.1 树的概念1.2 概念1.3树的应用二、二叉树2.1概念2.2特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的遍历三、实现前中后序遍历3.1 NLR:前序遍历3.2 LNR:中序遍历3.3 LRN:后序遍历。

2024-10-04 10:22:09 1406

原创 LinkedList与链表

系列文章目录一、ArrayList的缺陷二、链表1.链表的概念及结构2.链表的实现总结。

2024-10-03 10:10:16 1589

原创 盛最多水的容器

◦ 如果改变右边界,无论右边界移动到哪里,新的水面的高度⼀定不会超过左边界,也就是不会超过现在的水面高度,但是由于容器的宽度减小,因此容器的容积⼀定会变小的。◦ 由于左边界较小,决定了水的高度。如果改变左边界,新的水面高度不确定,但是一定不会超过右边的柱子高度,因此容器的容积可能会增大。枚举出能构成的所有容器,找出其中容积最大的值。,分别指向水槽板的最左端以及最右端,此时容器的宽度为。◦ 容器的宽度一定变小。

2024-10-03 09:29:50 323

原创 快乐数——双指针算法

根据上述的题目分析,我们可以知道,当重复执行 x 的时候,数据会陷入到⼀个”循环“之中。而”快慢指针“有⼀个特性,就是在⼀个圆圈中,快指针总是会追上慢指针的,也就是说他们总会相遇在⼀个位置上。如果相遇位置的值是 1 ,那么这个数⼀定是快乐数;如果相遇位置不是 1 的话,那么就不是快乐数。如下图:快乐数演变后范围已知,我们就要引入双指针算法中的快慢指针,也许大家看到上图,就可能想到我们学习链表时,我们便运用循环,当两指针不相等时,按上图进行移动,直至循环结束

2024-10-02 09:47:04 394

原创 ArrayList与顺序表

如下代码,我们上传一个整形data用于放在数组的最后,size表示数组中含有元素的个数,也是我们要放入元素的下标,最后使数组个数加一即可。如果这样写我们就错啦!我们学习数据结构需要明白:(1) 数据结构虽然抽象一些,但也得有大概的结构(2)逻辑需要非常严谨(也就是看似很简单,但写出来代码可能一大堆)所以,上述代码并不严谨,如果我们传入一个满元素的数组呢,那么新增的元素不就没内存了嘛,也就是无处安放,也就是开会喊了你,但你过去才发现,会议桌周围以及坐满了人,此时我们应该坐哪里?

2024-10-02 09:46:12 748

原创 时间和空间复杂度

我们在面对一个新的题型或复习之前的题时,往往脑洞大开,偶然间发现了新的解题方法,怎么判断不同方法的好坏呢,换句话说:该如何衡量一个算法的好坏呢?一、算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。

2024-10-01 09:16:14 722

原创 复写零——双指针算法

(1)定义两个指针如下图,判断cur的值处是否为 0?为0dest后移两步dest后移一步(2)判断dest是否指向数组最后一个元素位置 ,如果是,则停止,不是cur后移一步(3) 最后cur指向即最后复写元素。

2024-10-01 09:14:39 362

原创 移动零——双指针算法

「数组分两块」是⾮常常⻅的⼀种题型,主要就是根据⼀种划分⽅式,将数组的内容分成左右两部分。这种类型的题,⼀般就是使⽤「双指针」来解决。

2024-09-30 18:35:19 1113

原创 Java中异常的认识和创建

Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异常结构.Java中已经存在丰富的异常类,但我们在实际开发中难免会遇到一些异常不能用已有的异常来正确表示,那么我们就可以根据实际情况自定义一个异常类。但要注意:自定义异常通常会继承自 Exception 或者 RuntimeException继承自 Exception 的异常默认是受查异常继承自 RuntimeException 的异常默认是非受查异常。

2024-09-30 18:34:22 1162

原创 JavaSE——继承

在Java中我们能够使用类对现实中的实体进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是现实世界错综复杂,不同事物之间可能会存在一些关联,那么在设计程序时就需要考虑这个问题。

2024-07-14 13:21:38 1100 2

原创 JavaSE——【封装】

基本规则在文件的最上方加上一个package语句指定该代码在哪个包中包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 )包名要和代码路径相匹配. 例如创建的包, 那么会存在一个对应的路径来存储代码.如果一个类没有package语句, 则该类被放到一个默认包中.操作步骤1. 在 IDEA 中先新建一个包: 右键 src -> 新建 -> 包2. 在弹出的对话框中输入包名

2024-06-08 21:51:06 847 28

原创 JavaSE——【类和对象】

面相对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉给计算机什么是洗衣机上图左侧就是对洗衣机简单的描述,该过程称为对洗衣机对象(实体)进行抽象(对一个复杂事物的重新认知),但是 这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面相对象的编程语言来进行描述,比如:Java语 言。在java中定义类时需要用到class关键字,具体语法如// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法。

2024-06-08 08:33:44 1229 5

原创 JavaSE——【数组的定义与使用】(二)

内存是一段连续的存储空间,主要用来存储程序运行时数据的。比如:1. 程序运行时代码需要加载到内存2. 程序运行产生的中间数据要存放在内存3. 程序中的常量也要保存4. 有些数据可能需要长时间存储,而有些数据当方法运行结束后就要被销毁如果对内存中存储的数据不加区分的随意存储,那对内存管理起来将会非常麻烦。程序计数器 (PC Register): 只是一个很小的空间,保存下一条执行的指令的地址虚拟机栈(JVM Stack): 与方法调用相关的一些信息,每个方法在执行时,都会先创建一个栈帧。

2024-06-07 17:28:41 883

原创 JavaSE——【数组的定义与使用】(一)

悠悠在整理旧物时,发现了一本布满灰尘的古文,当她轻轻翻开,一个个奇异的古文竟飞了出来,在空中组成了神秘的一段话:“数组的定义和使用开篇了!!!数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。

2024-06-07 14:32:25 955

原创 JavaSE——【方法的使用】(二)

在无尽的宇宙深处,一艘造型奇特的飞船如流星般划过黑暗。飞船内部,各种高科技设备闪烁着冷峻的光芒。一位年轻的宇航员正专注地操作着控制面板,面板上突然弹出JavaSE—方法的使用的续篇更新了!通过对方法和递归的学习,小奥奇也是推荐大家实现汉诺塔问题的解决,敬请期待下一篇!

2024-06-06 13:50:38 881 1

原创 JavaSE——【方法的使用】(一)

有一个神秘的国度,那里的人们都长着翅膀,能自由自在地在天空翱翔。一天,少年威尔无意间闯入了这个国度,看着周围飞翔的人们,他的心中突然想起今天更新的博客还没看,今天今天到底更新了什么内容呢?方法就是一个代码片段. 类似于 C 语言中的 "函数"。

2024-06-06 08:28:26 760 1

原创 JavaSE——【逻辑控制】(习题)

上篇例题

2024-06-05 13:37:38 298 2

原创 JavaSE——【逻辑控制】(知识)

公元 3050 年,地球的科技已经发展到令人难以想象的地步。这天,艾米莉在自己的房间里启动了最新的虚拟旅行装置,下一秒,她发现小奥奇的博客更新了。立即放弃了虚拟旅行的想法,沉溺在刚更新的博客知识里。噢!原来是新章节逻辑控制开篇了,究竟有多大的魅力呢?我们来看看。本篇介绍了逻辑控制的各种语句结构,下一篇我们将其运用在实际问题上面,敬请期待

2024-06-05 07:46:16 954 2

原创 JavaSE——【运算符】(二)

本篇小奥奇将带领大家学习进制的转换,原码反码补码及各种操作符的运算

2024-06-04 15:13:58 1360 6

原创 JavaSE——【运算符】(一)

今天进入Java中运算符的学习,通过本篇的学习,希望大家能够熟练掌握各种运算符的使用,开始步入正题!一、什么是运算符?本篇我们详细介绍了几种简单操作符,续篇会为大家带来位运算符,移位运算,各种运算符的优先性以及原码,反码,补码等方面的知识,敬请期待

2024-06-04 15:13:12 720

原创 JavaSE——【数据类型及变量】

本章小奥奇将带领大家学习JavaSE中的数据类型及变量,希望大家能够完成一下的学习目标:1. 字面常量.2. 数据类型.3. 变量.

2024-06-03 11:15:59 933 6

原创 JavaSE——【初始Java】

通过前面C语言的简单学习后,我们正式开始步入Java的征程,下面小奥奇将带领大家简单认识一下Java编程语言,以及提前了解其部分知识。Java不仅是一种优秀的程序设计语言,具有令人赏心悦目的语法和易于理解的语义;Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。从此篇开始,我们正式步入Java的学习中,当然,小奥奇尽量不偷懒,保持更新,最后,你知道奥奇小课堂的答案吗?文章目录。

2024-06-03 09:06:11 535 6

空空如也

空空如也

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

TA关注的人

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