自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 30天学Java第九天——线程

调用 start 方法会启动一个新线程,内存会分配一个新的栈空间给新线程(分配完成start方法就结束了,main 方法中的代码继续向下执行),新线程的代码在新的栈空间执行,main 方法的代码在 main 方法的栈空间执行,两个线程抢夺 CPU 时间片交替执行。调用 run 方法并没有启动新线程,代码都是在 main 方法中执行的,内存只有一个主线程的栈,因此必须 run 方法中的代码执行玩,才能执行后续的代码。在 Java 中,线程被分为两大类,一类是用户线程,一类是守护线程。

2025-04-11 17:20:28 367

原创 30天学Java第八天——设计模式

装饰器模式是一种结构型设计模式,它通过将额外的行为动态地附加到对象上,增强了对象的功能。装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许通过动态地添加功能来扩展对象的行为,而不需要修改原有的类。这种模式通常用于增强对象的功能,与继承相比,使用装饰器可以避免类的爆炸增长,因为它允许在运行时动态添加功能,而不必创建多个子类。实现具体的装饰器,给咖啡添加额外的功能:例如加奶,加糖等额外功能。创建一个装饰器抽象类,它实现了咖啡接口,并持有一个咖啡的引用。这就是装饰器模型,它的优点如下。

2025-04-10 16:54:28 648

原创 30天学Java第7天——IO流

Java 中所有 IO 流中凡是以 Stream 结尾的都是字节流。凡是 Read 和 Writer 结尾的都是字符流。

2025-04-07 21:50:32 746

原创 力扣算法Hot100——128. 最长连续序列

题目要求时间复杂度为O(n),因此不能使用两次循环匹配。

2025-03-21 19:57:23 197

原创 力扣算法Hot100——49. 字母异位词分组

异位词的题,都考虑计算 26 个字母出现的数量,然后进行比较,字母数量出现相同的一定是异位词。

2025-03-21 19:06:49 221

原创 力扣算法Hot100——438. 找到字符串中所有字母异位词

异位词:字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。

2025-03-20 14:57:11 119

原创 力扣算法Hot100——3. 无重复字符的最长子串(滑动窗口)

【代码】力扣算法Hot100——3. 无重复字符的最长子串(滑动窗口)

2025-03-20 14:06:15 119

原创 力扣算法Hot100——75. 颜色分类

使用一次循环,过程中使用两个指针,将所有的 0 放前面,所有的 2 放后面。或者将所有的 0 放前面,所有的 1 放 0 后面。循环两次,第一次循环将所有的 0 交换到前面;第二次循环将所有的 1 交换到 0 的后面。

2025-03-19 19:59:09 429

原创 力扣算法Hot100——70. 爬楼梯(动态规划)

遇到没思路的就先手写几种情况,看看规律,就像做数学题一样。写到 5 的时候能看到规律了,后一个数是前两个数的和,正好是斐波那契数列。并且我们知道f(1) = 1,f(2) = 2,所以用减的方式写递推公式,,然后使用递归就能解决问题了当然这样的递归不做任何记忆化操作,遇到大一些的数,时间复杂度很高 O(2n),下面是使用循环的解法.

2025-03-19 17:45:57 258

原创 技术派项目—— IOC & AOP

IOC 是骨架:提供对象的管理、生命周期控制。我们不用管怎么 new,Spring 来管对象;AOP 是装饰器:在方法执行前后“偷偷加代码”。AOP 也是依赖 IOC 实现的 —— Spring 动态代理就是由 IOC 容器帮你装配的。

2025-03-19 12:01:59 702

原创 技术派项目——分层架构中的数据对象的分类

在具有分层结构的项目中,数据对象在不同的层中根据职责有不同的名字,下面是一些常用的 do、dto、bo、vo、po、entity、rsp、req。

2025-03-19 11:44:38 805

原创 力扣Hot100——560. 和为 K 的子数组

【代码】力扣Hot100——560. 和为 K 的子数组。

2025-03-18 17:37:32 222

原创 力扣Hot100——118. 杨辉三角

【代码】力扣Hot100——118. 杨辉三角。

2025-03-18 16:06:06 67

原创 力扣Hot100——169. 多数元素

当遍历选票时,第一次我们将第一张票作为 candidate 的值,然后遍历,遇到相同的票 count +1,否则 -1,当 count == 0,就将下一张票作为候选人 candidate,如此遍历至最后,candidate 的 count!= 0的 candidate一定是票数最多的 candidate,也就是所有票中的众数。(原因就是上面的众数 + 非众数 count 结果一定大于零)首先明白一点:将众数标记为 +1,非众数标记为 -1,遍历所有数值后,众数的和一定是大于零的,因为众数有过半的票数。

2025-03-17 21:12:19 889

原创 力扣Hot100——136. 只出现一次的数字

难点在于时间与空间复杂度的要求,一般遇到这样的限制,就要考虑使用位运算,位运算效率最高了。

2025-03-17 16:57:40 251

原创 版本控制工具Git

记录文件的每次更新,可以对版本做个快照,或者是记录补丁文件,适合个人用,如 RCS。

2025-03-17 00:30:56 1402

原创 30天学Java第六天——集合框架

主要包括 List、Set、Queue。

2025-03-16 20:51:58 693

原创 力扣Hot100——35.搜索插入的位置(二分查找)

除暴力循环,更好的办法是二分查找,降低查询次数。

2025-03-16 18:02:40 342

原创 30天学习Java第六天——super关键字

super关键字的用法。

2025-03-16 13:41:01 180

原创 30天学习Java第六天——抽象类、接口

关于抽象类的命名,《阿里的 Java 开发手册》上有强调,“抽象类命名要使用 Abstract 或 Base 开头”,这条规约还是值得遵守的,真正做到名如其意。

2025-03-16 13:05:47 676

原创 30天学习Java第六天——Object类

对于equals方法也是一样,如果业务需要,而equals的比较方法不满足,也可以对其重写,以满足需求。如果你不满意toString的实现不满意,可以对其进行重写,使其更具有可读性,符合自己的需求。java.lang.Object时所有类的超类。Java中所有类都实现了这个类中的方法。匿名内部类可以不显示定义一个类,直接在new对象的时候进行实现即可,适用于只使用一次的类。在类中定义的类称为内部类,分为静态内部类、实例内部类、局部内部类、匿名内部类。默认实现是:完整类名+ @ + 十六进制的数字。

2025-03-15 00:00:03 487

原创 30天学习Java第五天——数组 & 字符串

随着字符串的拼接,value 数组的长度会不断增加,因此在 StringBuilder 对象的实现中,value 数组的长度是可以动态扩展的,就像ArrayList那样。由于字符串是不可变的,因此我们对于字符串的操作,都需要创建很多新的字符串,这样一来造成了过多的空间浪费,尤其是字符串拼接时,因此StringBuffer和StringBuilder应运而生。,这样的方法创建的字符串,JVM会先去字符串常量池里找,如果找到了就不创建对象了,如果没找到就在字符串常量池中创建一个对象,这样一来就能节省堆内存。

2025-03-14 16:45:53 813

原创 30天学习Java第五天——继承、多态

父类型引用指向子类型对象Java程序包括两个重要阶段:编译阶段上文代码在编译时,编译器只知道a1的类型是Animal,在编译时会去Animal类中找move()方法,如果找到了就进行静态绑定,编译通过;如果没找到,编译不通过。运行阶段上文代码在运行时,堆内存中的真实对象还是Cat类型,因此执行的时候还是Cat类中的move方法。这种绑定称为运行期绑定/动态绑定由于编译阶段是一种形态,运行阶段又是一种形态,故而谓之多态。

2025-03-13 17:12:05 581

原创 30天学习Java第四天——设计模式

设计模式是一套被广泛接受的、经过试验的、可反复使用的基于面向对象的软件设计经验总结,它是开发人员在软件设计时,对常见问题的解决方案的总结和抽象。一句话就是,设计模式是针对软件开发中常见问题和模式的通用解决方案。

2025-03-13 10:09:22 431

原创 30天学习Java第四天——JVM规范

JVM是一个规范,我们常用的是Oracle实现的一个JVM规范HotSpot,在Oracle官网可以查看其规范。Specification就是规范,其中的 Language and VM 就包含了Java虚拟机的规范。的java教程视频后的笔记整理,方便自己复习的同时,也希望能给csdn的朋友们提供一点帮助。,这个就是JVM的运行时数据区,包含六块内容。进入Java虚拟机规范中,可以看到。、运行时常量池、本地方法栈。

2025-03-12 21:28:43 395

原创 30天学习Java第四天——面向对象

面向过程与面向对象面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候一个个依次调用就行了。面向过程关注于首先功能的步骤上,适合简单的流程,速度快面向对象就是分析出解决这个问题都需要哪些对象的参加,然后让对象与对象之间协作起来形成一个系统。面向对象关注于实现功能需要哪些对象的参与,耦合度低,扩展力强面向对象三大特征。

2025-03-12 15:45:30 960

原创 30天学习Java第四天——package、import以及idea快捷键

上面的代码如果直接执行javac PackageTest.java,然后java PackageTest就会报错,可以编译不能运行。参数,javac -d 编译后的存放目录 PackageTest.java即可,编译后会自动生成package定义的包目录。有了包之后,完整的类名是带包名的,运行的时候要带包名,例如java com.PackageTest。包命名规范要求全部小写,一般是:公司域名倒序 + 项目名 + 模块名 + 功能名。“hello” 然后ctrl + alt + v。

2025-03-12 13:19:50 430

原创 30天学习Java第四天——方法

方法如果只定义不调用,不会分配内存空间方法调用瞬间,会在JVM的栈内存中分配空间,发生入栈操作方法一旦结束,空间就会释放。

2025-03-12 12:21:05 254

原创 30天学习Java第三天——控制循环

这部分比较简单,挑了一些相对重要的知识点记录。

2025-03-11 21:24:58 610

原创 30天学习Java第二天——运算符

运算符很多,执行有优先级,记起来麻烦,简单点就是希望哪个先运算就加()

2025-03-10 21:57:57 1103

原创 30天学习Java第二天——数据类型

当一个整数型字面量没有超过byte或short的取值范围时,也可以直接赋值给byte和short类型变量,不会报错(char也支持)byte与short在进行运算时(不管是混合还是自己与自己运算),各自先转换为int再运算。Java中允许将一个整数赋值给char类型变量,这个整数会被当作ASCII码值处理。局部变量需要先赋值在使用,而成员变量没有赋值的话,系统会为其赋默认值。大容量转换为小容量,不能自动类型转换,需要强制转换,但是可能会损失精度。Java中任何一个整数型字面量会被当做int类型处理。

2025-03-10 14:38:10 1072

原创 30天学习Java第一天——java基础语法(进制,三码)

两边又一边是字符串,执行字符串拼接,拼接完还是一个字符串。两边都是数字,执行求和。

2025-03-10 10:42:50 243

原创 30天学习Java学前准备3——JAVA的加载与执行

【代码】30天学习JAVA学前准备4——JAVA的加载与执行。

2025-03-09 22:09:10 131

原创 30天学习Java学前准备2——JAVA中的三种注释

【代码】30天JAVA学习学前准备2——JAVA中的三种注释。

2025-03-09 17:50:43 118

原创 30天学习Java学前准备1——常用DOS命令

常用的windows中的dos命令

2025-03-09 16:57:53 149

原创 《从零备战蓝桥杯》——洛谷P4414《ABC排序输出问题》

因为题目规定A

2023-12-25 19:11:09 1265 1

原创 《从零备战蓝桥杯》——分数约分问题

Fraction(分子,分母)类的构造函数中,第一个参数为分子,第二个参数为分母,这样就得到了一个分数,这个分数将自动被约分。在py中如果想获得约分后的分数,使用py内置fractions模块中的Fraction类即可。

2023-12-25 16:58:20 591

原创 《从零备战蓝桥杯》——洛谷P1424《小鱼游泳》周末双休问题

(i+x)%7的范围为【0—6】,因此只要不是6,0,那么这一天就是工作日。解:在循环中累加工作日的里程(判断这一天不是周末)

2023-12-25 16:43:20 444

原创 《从零备战蓝桥杯》——zip函数

如果有两个迭代器A,B,你想要(A1,B1),(A2,B2)…这种形式的匹配成对输出,可以使用zip函数。使用zip将若干个可迭代对象打包到一起。zip(迭代器1,迭代器2····)

2023-12-25 14:26:24 424

原创 《从零备战蓝桥杯》——enumerate内置函数

上面的代码中,运用了上篇文章中的连续赋值的技巧,在for循环中,直接使用两个变量接收参数,使得代码更为简洁。py中我们想要同时获得一个迭代器的值与其对应的序号,可以使用enumerate函数。使用enumerate函数可以很方便的获取迭代器的值及其序号。两个参数,第一个为可迭代对象,第二个为你希望的起始序号。enumerate(可迭代对象,起始序号)

2023-12-25 14:17:42 359

空空如也

空空如也

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

TA关注的人

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