自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stewie Lee的博客

分享学习过程中遇到的知识

  • 博客(134)
  • 收藏
  • 关注

原创 Java——集合框架(5)——Collection 元素遍历的三种方式

在需要在循环中删除元素时,优先考虑使用Iterator的remove()方法,以避免并发修改异常。对于只读操作,可以使用for-each循环,它更简洁。如果需要访问索引或进行复杂的逻辑处理,使用传统的for循环,但需谨慎处理集合的修改。

2024-12-10 11:00:00 2248

原创 Java——集合框架(6)——LinkedList

这里放上部分集合结构图:本文将要讲解橙色方框框起来的LinkedLIst类。

2024-12-10 11:00:00 1019

原创 Java——集合框架(3)——ArrayList

第一次扩容会被扩容为默认 10 元素大小,后面每次扩容都会扩容为原容量的 1.5 倍。如果串入参数为 0,则过程与使用无参构造器开局的过程无异。如果传入参数为 1,则第一次扩容会扩容为原容量的 2 倍,即 2 元素大小,后面每次扩容都会扩容为原容量的 1.5 倍。如果传入参数大于 1,则每次扩容都会扩容为原容量的 1.5 倍。知道了集合参数对象的元素个数后,后续的扩容机制与有容量参数的构造器开局的机制一致。

2024-12-09 11:00:00 1012

原创 Java——集合框架(4)——Vector 和 Stack

将指定元素压入栈顶,并返回该元素。该方法会将栈的大小增加1。

2024-12-09 11:00:00 733

原创 Java——集合框架(1)——集合框架结构和 Collection 接口介绍

Java 的集合框架(Java Collections Framework)是一个用于存储和操作数据的架构,它提供了一组接口和类,用于处理不同类型的数据集合。集合框架的设计旨在提高代码的可重用性和灵活性。Collection和Map发散出来的。我们知道数组创建之后大小就是固定的了,如果想要扩容还需要新建数组,然后将之前的数据复制到新数组中。使用集合框架,则可以解决这一问题。

2024-12-05 11:00:00 1046

原创 Java——集合框架(2)——List 接口介绍

List接口介绍

2024-12-05 11:00:00 417

原创 Java——BigInteger 和 BigDecimal

在Java中,BigInteger和BigDecimal是两个用于处理大数和高精度数值的类,分别位于java.math包中,在使用时需要导入这个包。它们主要用于需要高精度数学计算的场景,尤其是当普通的基本数据类型(如intlongfloat和double)无法满足需求时。BigInteger和BigDecimal都继承自Number类。

2024-12-04 11:00:00 1042

原创 Java——三代日期类

Java 的最初日期类。它表示特定的瞬时时间,内部使用的是从1970年1月1日00:00:00 UTC开始的毫秒数。该类有一些设计缺陷,比如缺乏对时区的明确支持等。现在其中许多方法已被标记为过时。为了解决Date类的一些不足,Java引入了Calendar类。它提供了对日期和时间的更灵活的操作。Calendar是一个抽象类,它不能被直接实例化,但是它提供了许多的静态方法来获得Calendar实现类的实例(例如该类支持多种日历系统和时区,提供了更多的日期操作方法,例如增加天数、获取月份等。使用方法。

2024-12-04 11:00:00 868

原创 Java——Arrays 类详解

Arrays 类是 Java 语言中用于操作数组的一个工具类,提供了多种静态方法来处理数组,包括排序、搜索、填充、比较等操作。这个类位于 java.util 包中。Arrays类的构造方法被设置为私有(private),因此无法创建 Arrays 对象。Arrays 类的所有公有方法都是静态的,可以直接通过类名调用。

2024-12-03 11:00:00 1452

原创 Java——System 类

System 类是 Java 中的一个重要类,它提供了一些有用的类变量和方法,用于与系统进行交互。System 类是 java.lang 包的一部分,因此不需要额外的导入。由于System类的构造方法是私有的(private),因此无法实例化该类,所有公有方法和属性都是静态的(static),可以直接通过类名调用。

2024-12-03 11:00:00 309

原创 Java——StringBuffer 和 StringBuilder

StringBuffer 是 Java 中一个用于可变字符串操作的类。与 String 类不同,String 对象是不可变的,一旦创建就无法更改,而 StringBuffer 则允许对字符串内容进行修改,能够提高字符串操作的效率,尤其是在需要频繁修改字符串内容的场合。StringBuffer 的所有的公共方法都是有 synchronized 关键字的,所以都是同步的,所以它在多线程中使用是线程安全的,但是由于这种对多线程情况的优化,导致它在单线程中使用性能较差。

2024-12-02 11:00:00 1520

原创 Java——Math 类详解

Java 的 Math 类是一个工具类,提供了一系列用于数学运算的方法。该类中的方法都是静态的,因此可以直接通过类名调用,而不需要创建 Math 类的实例。Math 类主要用于基本的数学计算,如三角函数、对数、平方根等。Math 类位于 java.lang 包中,因此无需导入即可使用,它是一个 final 类,这意味着它不能被继承。

2024-12-02 11:00:00 680

原创 Java——八大包装类

Java中的包装类缓存机制是为了优化性能和节省内存而设计的。它为整型(Byte、Short、Integer、Long)、字符型(Character)和布尔型(Boolean)的包装类提供了缓存,确保在这些类型的小范围值之间可以复用对象。而对于浮点数类型的包装类(Float、Double),则没有这种缓存机制,意味着每次都需要创建新的对象。这样一来,Java在处理常用值时更加高效,但在浮点数处理上则相对简单直接。

2024-12-01 11:00:00 2249

原创 Java——String 类

字符串常量是指在程序中直接使用的固定字符串值。这里,"Hello, World!" 就是一个字符串常量。字符串常量一旦创建,它的内容不能被修改。

2024-12-01 11:00:00 1186

原创 Java——枚举类

enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY // 这里如果只是定义这些枚举常量的话,则这里不需要分号,// 如果后面还有其他成员,则需要分号实际上枚举类的构造器默认是私有的,如果你自己定义了一个构造器,没有加访问修饰符的话,就是默认 private 的。SPRING("温暖"),SUMMER("炎热"),AUTUMN("凉爽"),WINTER("寒冷");

2024-11-30 11:00:00 3678

原创 Java——异常

多个catch结构用于处理try块中可能抛出的不同类型的异常。当一个try块中的代码可能抛出多种异常时,可以使用多个catch块来分别捕获和处理这些异常。这样可以提高程序的健壮性和可维护性。多个catchtry {// 可能抛出异常的代码// 处理 ExceptionType1 异常// 处理 ExceptionType2 异常// 处理 ExceptionType3 异常// 可选的 finally 块finally {// 清理操作,无论是否发生异常都会执行需要注意的是,在多个。

2024-11-30 11:00:00 940

原创 Java——注解(Annotation)

注解是使用 @interface 关键字定义的,并且默认继承自Annotation接口。用于标识一个方法是重写父类的方法。该注解只能用于方法。@Override表示某个元素(类、方法、字段等)已经过时,不建议使用。仍然可以使用,但是不建议使用,通常是因为这个元素已经被替换为较新的功能。在使用这个类时,会显示:可以看到这个类被线划掉了,说明这个类已经过时。用于抑制编译器发出的警告。int i;

2024-11-29 09:43:31 4756 2

原创 Java——内部类

成员内部类是定义在一个外部类的成员位置的的类,没有 static 修饰。class MemberInnerClass { // 成员内部类静态内部类是定义在一个外部类的成员位置的的类,有 static 修饰。static class StaticNestedClass { // 静态内部类它的地位就相当于外部类的一个静态成员。局部内部类定义在方法、构造器或代码块内部,类似于方法的局部变量。它的作用域仅限于定义它的块中。class LocalInnerClassA { // 在构造器中定义局部内部类。

2024-11-29 09:43:13 3840 1

原创 Java——接口

/ 常量// 默认有修饰符 public static final// 抽象方法// 默认有修饰符 public abstractvoid eat();// 默认有修饰符 public abstract。

2024-11-11 12:22:11 2557

原创 Java——final用法

在Java中,final关键字有多种用途,可以用来修饰变量、方法和类。它的主要作用是确保所修饰的内容不可改变。

2024-11-09 11:00:00 885

原创 Java——抽象类

OverrideSystem.out.println("喵~");从这里我们发现,对于 Animal 类中的 cry() 方法好像没有什么作用,只要有具体的动物类要继承这个 Animal 类,就会重写 cry() 方法,所以 Animal 类中的 cry() 方法就不会被调用,即使被调用,也没有实际意义。所以说这里将 Animal 的 cry() 方法实现是没有意义的。所以我们可以将 cry() 方法声明为抽象方法,但是抽象方法只能在抽象类中,所以我们也要将 Animal 声明为抽象类。

2024-11-09 11:00:00 1503

原创 Java——静态成员

/ 静态变量// 实例变量常用组合来定义常量。定义全局常量,如数学常数、配置信息等。在Java中,main方法是程序的入口点。它是一个特殊的方法,Java虚拟机(JVM)在运行程序时会首先调用它。这是 main 方法的定义格式,但是,它的定义格式为什么是这样的呢?public: 访问修饰符,表示该方法可以被任何地方调用。因为JVM需要调用main方法,因此必须是public。static: 静态修饰符,意味着该方法属于类而不是类的实例。JVM无需创建类的对象即可调用main方法。void。

2024-11-08 11:00:00 2115

原创 Java——单例设计模式

设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。

2024-11-08 11:00:00 438

原创 二分法详解

二分法(或二分查找)是一种有效的查找算法,适用于在一个已排序的数组中查找特定元素的索引。其原理是通过不断将查找范围减半来快速找到目标元素的索引。

2024-11-07 11:00:00 1293

原创 位运算相关算法

int a = 3;int b = 5;a = a ^ b;b = a ^ b;a = a ^ b;在一个数组中,其他元素都出现偶数次,只有一个元素出现奇数次,可以用异或找出它。ans ^= i;return ans;在之前的文章《Java——二进制原码、反码和补码_原码反码补码-优快云博客》中有提到过,求一个数的相反数可以使用取反加一的方法,对于变量 a,其相反数为 -a,-a = ~a + 1。

2024-11-07 11:00:00 1691

原创 时间复杂度和空间复杂度

时间复杂度是计算机科学中的一个概念,用于描述算法的运行时间相对于输入大小的增长关系。它是衡量算法效率的重要指标之一。

2024-11-06 11:00:00 1390

原创 对数器详解

对数器是一种用于验证算法正确性的工具。其基本原理是利用一个已知正确但可能效率较低的算法(通常是暴力算法)来生成结果,并与待验证的算法输出进行比较。

2024-11-06 11:00:00 401

原创 补码另一种理解

我们一般来理解补码都是通过原码和反码,实际上我们还可以通过模数的方式来理解补码。

2024-11-05 11:45:00 1602

原创 SSH详解

SSH(Secure Shell)是一种网络协议,用于通过不安全的网络安全地访问计算机。它提供了一个加密的通道,可以在客户端与服务器之间安全地传输数据。SSH 在远程登录、文件传输等场景中广泛应用。SSH 的实现有多种,比较常见的是 OpenSSH。在大多数 Linux 和 macOS 系统上,SSH 客户端默认安装。我们需要通过 SSH 客户端来生成秘钥。在 Windows 上,可以使用 Git Bash、WSL 或 PuTTY 等工具。file ...

2024-11-05 11:45:00 2141

原创 在IDEA中使用Git

这里我们使用 Gitee 做例子,使用 SSH 协议。看这个文章前最好看一下《》这个文章,了解一下 SSH。

2024-11-04 11:45:00 2286 1

原创 Git 的分支管理

快进合并发生想要合并到的分支在分支后没有提交记录。这种情况下,Git只需将 master 分支指针向前移动到 feature 分支的位置,无需创建新的合并提交。注意:在合并后 feature 分支并不会消失。如果你不再需要 feature 分支,你可以手动将其删除。三方合并适用于目标分支和被合并分支都有各自独立的提交,且存在一个共同的祖先节点。在这种情况下,Git 会将两个分支的最新提交与二者的最近祖先节点三者进行合并并提交。

2024-11-04 11:45:00 2858

原创 Git文件操作指令和文件状态

我们在新创建且初始化过后的 git 仓库中新建一个文件,然后在 git 的命令行中输入此指令后,就可以看到的状态:在此显示的是 Untracked 的状态,也就是未追踪状态。

2024-10-24 10:09:00 1190

原创 Git创建本地仓库

从 Github 或 Gitee 中找到自己想要克隆的仓库。复制这个仓库的 URL。点击第二个,就会在此目录进入 git 的命令行,然后在命令行中输入以下指令,这里就是用来存储版本信息的,关于版本等的所有信息都在这个文件夹中。创建一个新的文件夹作为下面要克隆的仓库的文件夹。然后文件夹中就多出了一个 .git 文件,可以发现已经将此远程仓库克隆到本地了。

2024-09-06 10:17:36 858

原创 Git的工作原理

理解 Git 的工作原理需要关注它的四个主要工作区:工作目录(Working Directory)、暂存区(Staging Area)、本地仓库(Local Repository)和远程仓库(Remote Repository)。下面将详细介绍这四个工作区及其功能。

2024-09-05 20:29:54 504 1

原创 Git如何安装和配置

右键“我的电脑”,点击“属性”,找到“高级系统设置”,点击“环境变量”,找到“Path”,一般软件的环境变量都放在这里。点击进入后,找到与Git相关的环境变量,直接删除就可以了。第一次使用 Git 要先配置用户名和邮箱,配置放法是打开 Git 的命令行,然后依次输入以下命令,来配置。如果不是使用直接将 Git 文件夹删除的方式将 Git 删除,环境变量是会随 Git 的删除而删除的。在官网下载好 Git 的安装文件后,接下来就可以进行安装了。可以在设置中找到应用>安装的应用,然后找到 Git,将其卸载。

2024-09-02 16:33:16 977

原创 Git介绍

分布式”指的是每个用户的本地副本都是完整的代码仓库,包括所有的版本历史记录。也就是说每个用户的本地副本都可以进行回滚到之前的版本、提交或者查看差异等操作。并且这些操作都是可以在本地进行的,不需要链接到服务器。这样每个开发者可以在自己的本地仓库中独立工作,开发新特性或修复 Bug,而不影响其他人的工作。当准备好后,可以将更改推送到中央仓库,或通过提交补丁、合并请求等方式共享更改。用户可以在本地不连接网络的情况下进行版本控制操作,然后在有网络时再将更改推送到中央仓库。

2024-09-02 14:27:16 411

原创 Java——断点调试

Java的断点调试是程序开发中非常重要的一个技术,它允许开发者在程序执行时暂停执行,以便检查变量的状态、观察程序的流程、并定位错误。

2024-08-30 20:59:45 1787

原创 Java——Object 类详解

我们现在有一个 Person 类,类中有名字和年龄属性,我们给 Person 类重写一个 equals 方法,要求如果名字和年龄两个属性相同就可以返回 true,否则返回 false。return age;

2024-07-30 14:53:52 4237

原创 Java——多态(Polymorphism)

多态(Polymorphism)是面向对象编程的三大核心特性之一(另外两个是封装和继承)。多态性允许一个接口或基类的不同实现或子类以统一的方式处理。

2024-07-30 10:24:54 1066

原创 Java——继承(Inheritance)

重写(Override)是指子类重新定义父类中已有的方法。重写是实现多态的一种方式,允许子类提供一个特定于自己的方法实现。

2024-07-06 16:11:30 1536

C语言+EasyX图形化界面扫雷

使用EasyX图形化库,基于C语言编写的带有可视图形界面的扫雷程序,压缩包中有源文件,rsc中是源文件图片之类的,还有源代码,以及debug和release版本的可执行程序。

2024-01-28

空空如也

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

TA关注的人

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