- 博客(621)
- 问答 (13)
- 收藏
- 关注

原创 蓝桥杯2023年第十四届省赛真题------第十四届蓝桥杯本科A组/研究生组2023年省赛题解--全部采用Java语言实现
今天现在这里 挖个坑,太忙了,这个专题不一样有时间补完,但我会尽力而为的。记录一下今天的日子:2023/04/21看看这个坑要什么时候自己才能补完。的文章参考。
2023-04-21 11:47:57
3937
原创 【无标题】
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2025-05-30 15:38:54
866
原创 1105--面试代码题
CAP定理(CAP Theorem)也被称作布鲁尔定理(Brewer’s theorem),它指出在一个分布式系统中,最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个属性中的两个。CAP定理为分布式系统设计提供了重要的理论指导,系统设计者需要根据具体的业务需求和场景特点,权衡一致性、可用性和分区容错性这三个属性,选择最适合的系统设计方案。在实际应用中,大多数分布式系统会在AP或CP之间。
2024-11-05 21:40:37
892
原创 HashMap 源码分析
loadFactor 负载因子是控制数组存放数据的疏密程度,loadFactor 越趋近于 1,那么 数组中存放的数据(entry)也就越多,也就越密,也就是会让链表的长度增加,loadFactor 越小,也就是趋近于 0,数组中存放的数据(entry)也就越少,也就越稀疏。判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。默认的初始化大小为 16。
2024-11-01 11:26:12
1236
原创 LinkedList 源码分析
在 Java 中,(迭代器)是一个用于遍历集合元素的接口。它提供了一种统一的方式来访问集合中的元素,而不需要了解集合的内部实现细节。一、主要方法 :返回下一个元素。 示例: :移除当前由方法返回的元素。这个方法只能在调用方法之后调用一次。 示例: 二、使用场景三、与增强 for 循环的比较增强 for 循环(也称为“foreach”循环)在语法上更加简洁,但它不能像那样在遍历过程中删除元素。增强 for 循环示例:四、
2024-11-01 11:22:51
1208
原创 ArrayList 源码分析
例如,在 Java 中,如果一个对象包含一个基本数据类型的成员变量和一个引用类型的成员变量,进行浅拷贝时,基本数据类型的成员变量会被复制一份,而引用类型的成员变量只是复制了引用,两个对象仍然指向同一个引用对象。浅拷贝是创建一个新的对象,但是这个新对象的成员变量仍然指向原始对象的成员变量所指向的内存地址。也就是说,浅拷贝只是复制了对象的引用,而不是对象的实际内容。在其他编程语言中,如 Python、C++等,也有类似的深拷贝和浅拷贝的概念和实现方式,但具体的语法和方法会有所不同。方法进行实际的容量调整检查。
2024-11-01 11:18:28
859
原创 Java集合常见面试题总结(下)
虽然 JDK 1.8 中的 HashMap 本身并不是线程安全的集合类,但尾插法减少了因并发操作而产生的不可预测的错误情况,降低了出现死循环等严重问题的风险。在树结构中,节点可以包含数据以及指向子节点的引用。是 Java 中的一个工具类,提供了一系列对集合进行操作的静态方法,主要用于对集合进行排序、查找、同步等操作。在计算机科学中,“Node”通常指的是节点,可以在不同的数据结构中表示一个基本的组成单元。在不同的并发编程场景中都有各自的用途,它们可以结合起来使用,以实现高效、可靠的多线程程序。
2024-10-31 10:50:46
628
原创 Java集合使用注意事项总结
/class java.util.ArrayList 2、最简便的方法 List list = new ArrayList(Arrays.asList("a", "b", "c")) 3、使用 Java8 的 Stream(推荐) Integer [] myArray = { 1, 2, 3 };方法的可读性更好,并且时间复杂度为 O(1)。
2024-10-31 10:49:22
410
原创 堆Heap
堆(heap)是一种满足特定条件的完全二叉树,主要可分为两种类型,如图 8-1 所示。图 8-1 小顶堆与大顶堆堆作为完全二叉树的一个特例,具有以下特性。
2024-10-30 15:17:20
697
原创 Java SPI 机制详解
SLF4J通过其独特的设计原理,为Java应用程序提供了一种简单、灵活且高效的日志记录解决方案,使得开发人员能够专注于应用程序的业务逻辑,同时方便地管理和定制日志行为,并且能够在不同的日志实现框架之间进行平滑切换,适应各种不同的开发和运行环境需求。是Java中一种非常实用的语法特性,它提高了资源管理的便利性、安全性和代码的可读性,有助于开发者编写更健壮、高效的Java程序,尤其是在涉及资源操作频繁的场景中,优势更加明显。值也相同,那么在正常情况下,这两个字符串在内容上是完全相等的。
2024-10-29 11:13:22
1062
原创 P5682 [CSP-J2019 江西] 次大值
这段代码的目的是读取一个整数数组,找到该数组中的次大值(第二大的数)和第三大的数,并在特定情况下输出数组中最大值对次大值取模的结果或者第三大的数与取模结果中的较大值。该程序主要用于解决与数组中特定数值关系相关的问题,可能是信息学竞赛中的一道题目要求。
2024-10-24 16:37:08
1021
原创 Java 反射机制详解
但是我们一般是不知道具体类的,基本都是通过遍历包下面的类来获取 Class 对象,通过此方式获取 Class 对象不会进行初始化 2. 通过 Class.forName()传入类的全路径获取: Class alunbarClass1 = Class.forName("cn.javaguide.TargetObject");/** * 获取 TargetObject 类中定义的所有方法 */ Method[] methods = targetClass.getDeclaredMethods();
2024-10-24 15:56:22
806
原创 IDL 文件
idl 文件在定义软件通用接口方面起着关键作用。接口定义语言(Interface Definition Language,IDL)是一种以中立的方式描述软件组件接口的规范语言。通过使用 IDL 文件,可以为不同平台和不同编程语言编写的程序建立起有效的通信桥梁。IDL 文件通常采用类似 C++ 风格定义结构,包含必须交换的数据结构。例如,可以使用 struct 关键字定义一个结构体,在结构体中可以包含各种数据类型,如基本数据类型(如整数、浮点数、字符串等)、枚举类型、队列、数组、结构体以及它们的组合。
2024-10-24 15:53:56
1546
原创 Java 值传递详解
引用传递看似很好,能在方法内就直接把实参的值修改了,但是,为什么 Java 不引入引用传递呢?的互换只是拷贝的两个地址的互换罢了,并不会影响到实参。两个引用类型的形参互换并没有影响实参啊!Java 中将实参传递给方法(或函数)的方式是。形参、实参、引用类型。
2024-10-23 16:03:35
325
原创 P5682 [CSP-J2019 江西] 次大值,,最多只能90分的思路
Alice 想知道所有的结果中,严格次大值是多少。将取模后得到的所有值进行去重,即相同的结果数值只保留一个,剩余数中第二大的值就称为严格次大值。若取模结果去重后剩余数字不足两个,则输出。Bob 刚学习取模运算,于是便拿这。个数进行练习,他写下了所有。仅一行一个整数表示答案。
2024-10-23 15:51:47
634
原创 P5662 [CSP-J2019] 纪念品--Java语言实现,只能得25分
种纪念品每天的价格。某个纪念品的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。输出仅一行,包含一个正整数,表示小伟在超能力消失后最多能拥有的金币数量。枚金币,他想要在超能力消失后拥有尽可能多的金币。,相邻两数之间以一个空格分开,分别代表未来天数。,数据保证任意时刻,小伟手上的金币数不可能超过。天之后,小伟的超能力消失。当然,一直持有纪念品也是可以的。用于购买纪念品,当日购买的纪念品也可以。每天卖出纪念品换回的金币可以。超能力消失后,小伟最多拥有。,小伟现在拥有的金币数量。
2024-10-23 11:21:37
917
原创 Java基础常见面试题总结(中)
浅拷贝(Shallow Copy)概念:浅拷贝是指创建一个新的对象,这个新对象的非引用类型(如基本数据类型:int、float、char等)的属性会获得与原对象相同的值,而引用类型(如对象、数组等)的属性则会复制原对象中引用类型属性的引用(也就是内存地址)。简单来说,浅拷贝只是复制了对象的“表面”一层。示例(以Python为例)# 修改浅拷贝对象中的基本数据类型属性print(original.val) # 输出10,说明基本数据类型属性未互相影响# 修改浅拷贝对象中的引用类型属性。
2024-10-22 17:00:00
892
原创 重写 equals() 时没有重写 hashCode() 方法的话,使用 HashMap 可能会出现什么问题。
如果在重写 equals () 方法后没有重写 hashCode () 方法,在使用 HashMap 时可能会出现诸多问题。首先,在查询元素时可能会出现查询不到元素的情况,即使使用的是正确的键。这是因为 HashMap 会根据键的哈希值来查找元素,若没有重写 hashCode () 方法,每个对象的哈希值都会不同,导致 HashMap 无法准确地找到对应的元素。
2024-10-22 12:59:39
865
原创 如果两个对象的hashCode 值相等并且equals()方法也返回 true,我们才认为这两个对象相等。
在 Java 中,通常认为如果两个对象的 hashcode 值相等并且 equals () 方法也返回 true,我们才认为这两个对象相等。hashCode () 方法的作用是获取哈希码,也称为散列码,它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。例如在 Java 集合中有两类,一类是 List,再有一类是 Set。对于 Set 集合,要保证元素不重复,判断两个元素是否重复应该依据 Object.equals 方法。
2024-10-22 12:58:58
716
原创 HotSpot VM
HotSpot VM 是 Sun JDK 和 OpenJDK 中所带的虚拟机,也是目前使用范围最广的 Java 虚拟机。它在 Java 技术中起着至关重要的作用,其历史可追溯至 1997 年 Sun 公司收购设计它的 “Longview Technologies” 小公司。HotSpot VM 最初并非为 Java 语言开发,而是来源于 Strongtalk VM,而 Strongtalk VM 中的许多技术又源于一款支持 Self 语言实现 “达到 C 语言 50% 以上执行效率” 目标的虚拟机。
2024-10-21 16:18:57
655
原创 Java基础常见面试题总结(上)
总之,JIT 编译器是 Java 实现高性能的关键技术之一,它通过将字节码编译成本地机器码并进行优化,极大地提高了 Java 程序的执行效率。Just In Time(JIT)编译器,即即时编译器,是 Java 虚拟机(JVM)中的一个重要组成部分。Java 的自动内存管理机制也被称为垃圾回收(Garbage Collection)。在 Java 中,异常处理和自动内存管理机制是两个非常重要的特性。异常处理是一种用于处理程序运行时出现的不正常情况的机制。
2024-10-21 15:06:30
1018
原创 基于静态编译构建微服务应用
经过 JIT 编译优化后的代码对应图中深绿色部分。这也造成了很多的 Java 框架由于在实现过程中使用了大量的上述特性,因此,都难以直接基于 Substrate VM 完成对自身所有代码的静态分析,需要通过额外的外部配置[3]来解决静态分析本身的不足。之后应用会启动,进行预执行,需要尽可能完整的测试一遍应用的所有功能,保证应用的大部分代码都被测试用例覆盖,该过程会基于 GraalVM 的 native-image-agent 收集程序中的动态特性,这样可以确保完整生成应用运行过程中的所有必须的动态属性。
2024-10-21 11:04:19
835
原创 为了解开互联网大厂秋招内幕,我把他们全面了一遍
写在前面近期在和一些即将开始秋招的读者聊天的过程中,发现好多读者对于秋招还是不够了解。对各个公司的秋招招聘流程、面试特点都不清楚。作为一个几乎把所有的互联网大厂都撩了一遍的靓仔来说,在这方面还是有点经验的。其实,我并不是想当互联网面试渣男(海王)的🙄。只是因为我在初期投 offer 的时候(六月底七月初),他们几乎都没理我。但是!从八月下旬到九月底这段时间,他们全来约面了。大家在秋招的时候也建议大家进行互联网公司海投的策略,因为你并不知道哪些公司会给你回信,不过拿到两到三个满意的 offer 后就可以
2024-10-17 22:14:31
352
原创 面试题 17.12. BiNode
该代码通过中序遍历二叉搜索树,将其转换成一个按升序排列的单链表。每个节点的左指针被置为空,右指针指向下一个节点。哨兵节点简化了链表头节点的处理,最终返回链表的头节点。
2024-06-28 11:02:22
357
原创 题目 2668: 蓝桥杯2022年第十三届省赛真题-最长不下降子序列
该代码旨在解决如何通过修改一个整数序列的连续 K 个数,使得修改后的序列的最长不下降子序列(LNDS)的长度最大的问题。
2024-06-26 11:15:36
492
原创 188. 买卖股票的最佳时机 IV
这段代码使用了动态规划和递归相结合的方法,通过三维数组来记录不同状态下的最大利润,避免了重复计算,确保在最多进行k次交易的情况下,能计算出最大可能利润。
2024-06-20 10:35:04
852
原创 123. 买卖股票的最佳时机 III
中最多进行两笔交易所能获得的最大利润。上述代码实现了一个算法来计算在股票价格数组。保存了最多进行两笔交易所能获得的最大利润。,该算法会正确计算出结果。
2024-06-20 09:57:44
451
原创 123. 买卖股票的最佳时机 III
这段代码利用动态规划的方法,记录并更新每一步的买卖状态,通过一次遍历就可以计算出最多完成两次交易时的最大收益。时间复杂度是 O(n),因为只需遍历一次价格数组。
2024-06-19 10:32:55
621
原创 121. 买卖股票的最佳时机
这段代码的时间复杂度是 O(n),因为它只需要遍历一次价格数组。通过在遍历的过程中不断更新最低买入价格和最大利润,它能够在一次遍历中找到最佳的买卖时机。
2024-06-19 10:14:40
590
Learning Tree-based Deep Model for Recommender Systems
2023-10-19
Mining Association Rules between Sets of Items
2023-10-09
ATRank: An Attention-Based User Behavior Modeli
2023-08-14
delimiter一直报红
2023-05-10
python实现最小二乘法_一元线性报错
2023-05-09
蓝桥杯2022年第十三届省赛真题-最优清零方案 --
2023-03-31
大数据--MapReduce报错NativeIO.isAvailable()Z
2022-11-29
虚拟机网络问题,可以连接xshell,但是无法ping百度,也上不了网
2022-11-19
Lexlive就安装失败了
2022-10-07
数据库方面的一个外键错误,求提示一下
2022-04-23
第一次做Java 项目
2022-04-19
一直空指针异常,无法传入参数
2022-03-22
Java Swing中无法实现完全的窗体关闭
2022-04-01
这种问题怎么解决啊?
2022-03-20
JavaSwing相关基础问题
2022-03-21
VS2017版本无法执行命令窗口
2022-02-28
代码执行问题,为啥正常输入无法执行
2022-02-28
我的Eclipse连接不上mysql,这种问题怎么解决啊?
2022-03-10
提问啊,最近一直报空指针异常,还有数据库默认赋空值,是因为我在代码里默认空值嘛?
2022-03-20
sql语句无法识别,怎么解决啊?
2022-03-11
考研调剂咨询,有经验的能解答一下嘛
2022-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人