自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯算法实战:从入门到进阶

蓝桥杯算法竞赛是一个提升编程能力和算法思维的好机会。通过扎实基础、多做练习、分析错题和模拟考试等方法,参赛者可以在比赛中取得更好的成绩。希望本文分享的实战经验和技巧能对大家有所帮助,祝大家在蓝桥杯竞赛中取得优异的成绩!

2025-03-28 11:40:11 628

原创 Python 数据可视化创意工坊:从交互到艺术,解锁数据展示新灵感

Python 数据可视化的创意边界远不止于此。从动态交互到艺术设计,再到地理融合,多尝试不同工具的组合,就能让数据展示既专业又有趣。现在就动手用代码实现你的专属可视化创意吧!

2025-03-13 11:44:57 756

原创 Java 中配置接口过滤器几种常见方法

以上是几种常见的在 Java 中配置接口过滤器,对不需要登录就能访问的接口进行放行的方法,你可以根据项目的具体需求和技术栈选择合适的方式。

2025-03-13 11:35:28 284

原创 Manus AI:开启多语言手写识别新时代,解锁无限可能!

Manus AI:它是专门用于处理手写识别相关任务的人工智能技术或平台。它借助先进的算法和模型,能够准确地识别手写文字。多语言手写识别:就是可以识别多种不同语言的手写文字。比如,你既可以用中文手写一段文字让它识别,也可以用英文、法文、阿拉伯文等其他语言进行手写输入,它都能准确地将手写内容转化为电子文本。

2025-03-12 10:19:02 950

原创 JavaScript性能优化实战

DocumentFragment 是一个轻量级的 DOM 对象,它可以在内存中操作,最后一次性插入到真实 DOM 中,减少重排和重绘。例如,在排序时,如果数据量较小,可以使用冒泡排序;如果数据量较大,使用快速排序。事件委托是利用事件冒泡的原理,将事件处理程序绑定到父元素上,而不是每个子元素上,减少事件处理程序的数量。通过以上这些优化策略,可以显著提升 JavaScript 代码的性能,为用户提供更流畅的使用体验。※ async:脚本会异步加载,加载完成后立即执行,执行顺序可能与文档中出现的顺序不一致。

2025-03-11 14:54:13 575

原创 java之内存泄漏

※使用 JVM 参数 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 监控 GC 行为。2、检查所有静态变量和单例类的引用关系/3、对文件 / 数据库资源强制使用 try-with-resources。1、使用 MAT(Memory Analyzer Tool)分析 heap dump,定位泄漏对象。※对长生命周期对象使用引用队列(ReferenceQueue)跟踪回收状态。4、对缓存对象使用 WeakHashMap/SoftReference。

2025-03-11 14:39:55 264

原创 break 与 continue 在for循环中区别

在这个例子中,当i等于3时,continue语句会执行,导致当前迭代中的剩余代码(在这个例子中是System.out.println(i);break用于完全退出循环,而continue用于跳过当前迭代的剩余部分,并继续下一次迭代(如果循环条件仍然满足的话)。当执行到continue语句时,循环体中continue之后的语句将不会执行,控制流将直接跳回到循环的顶部,检查循环条件,然后决定是否继续下一次迭代。在这个例子中,当i等于3时,break语句会执行,导致循环立即终止,因此只输出了1和2。

2024-09-27 10:57:37 485 1

原创 break;作用

在switch语句中,break;,则一旦某个case的条件匹配成功,就会执行该case块内的代码,然后自动地继续执行下一个case块内的代码,即使下一个case的条件并不匹配。语句在编程中是一个非常有用的控制流语句,它的主要作用是立即退出它所在的循环体(如for循环、while循环、do-while循环等)或switch语句,并继续执行该循环或switch语句之后的代码(如果有的话)。语句,循环将不再继续执行剩余的迭代,而是直接跳转到循环之后的代码。是可选的,但通常建议总是使用它来避免意外的行为。

2024-08-21 14:22:24 344

原创 经典面试题:怎么解决哈希碰撞?

Hash 碰撞是指在使用哈希算法时,不同的输入数据通过哈希函数计算后,得到了相同的哈希值(即散列值)。红黑树的查找时间复杂度为 O(log n),相较于链表 O(n) 的查找复杂度,性能更高。使用链表来处理冲突,每个哈希表的槽(bucket)不仅存储单个元素,而是存储指向链表头部的指针。将哈希表中每个槽的位置变成一个链表,当多个键的哈希值相同时,将它们存储在同一个链表中。在出现碰撞时,使用第二个哈希函数计算新的索引位置,减少碰撞的概率。在出现碰撞时,使用第二个哈希函数计算新的索引位置,减少碰撞的概率。

2024-08-16 10:32:17 812

原创 经典面试题:MySQL 外连接、内连接与自连接的区别?

内连接是一种基本的 SQL 连接操作,它根据两个或多个表之间的共同列值进行匹配,并返回符合条件的行。内连接仅返回两个表中在连接条件上有匹配的行,其他不匹配的行将被排除在结果集之外。●索引的重要性:对于任何类型的连接操作,优化连接条件并且确保合适的索引使用是提高性能的关键。●数据量和内存消耗:外连接和全外连接可能会引入更大的内存消耗和较长的查询时间,特别是在大数据集上。●查询设计:合理设计查询,只返回必要的数据,避免不必要的连接操作和数据传输,有助于提高性能。

2024-06-25 13:56:51 801 1

原创 数组和链表的区别是什么?最原始的问题,能否回答出新东西?

数组(Array)是一种线性数据结构,它由一组连续的内存单元组成,每个单元都存储着相同类型的数据。数组中的每个元素可以通过一个唯一的索引(通常是整数)来访问,这个索引表示元素在数组中的位置。数组可以是一维的(包含一行数据)、二维的(包含多行数据)甚至更高维度的。

2024-06-25 10:00:30 851

原创 SpringBoot 同时可以处理多少请求?这可难倒了不少人

看到 Tomcat 的最大连接数是 8192 是不是已经有很多小伙伴直接认为:8192 是 SpringBoot 默认同时可以处理的请求了呢,如果是的话,那大家就刚刚好中了圈套啦,其实 8192 并不是 SpringBoot 默认同时可以处理的请求,因为 Tomcat 还有一个默认等待数,加上这个才是 SpringBoot 默认同时可以处理的请求数。这个问题留给大家思考一下吧~通过上面的源码查看我们可以得到:Tomcat 配置的最大连接数是 8192、Tomcat 配置的默认等待数是 100。

2024-06-18 10:18:10 1078

原创 Java ORM 双雄:Mybatis 和 Hibernate,你选哪个?

Mybatis 是一个持久层框架,它封装了数据连接、获取结果集等一系列的繁琐操作,使用者只需关注操作 SQL 语句的编写,通过 xml 或注解的方式就能将数据库中的数据与对象形成映射进行返回。

2024-06-17 14:02:04 1466

原创 最新编程语言排行榜,C++ 和 Go 成为新王?!

对于后端开发来说,语言只是一个工具和基础,除了语言本身和对应的开发框架外,其他要学的后端开发技术都是通用的,比如数据库、缓存、队列、搜索引擎、Linux、分布式、高并发、设计模式、架构设计等等。注意,TIOBE 编程语言排行榜是基于 全球 工程师的数量、课程、热门网站、第三方供应商综合计算出来的,只是一个编程语言流行度和趋势的反映,并不代表语言之间的优劣,也不能反映国内的就业情况。这是可预见的,Python 凭借其简单易学的语法和广泛的应用领域,如数据科学、机器学习、网络开发、爬虫等,吸引了大量开发者。

2024-06-17 13:51:46 1547

原创 当面试被问到分布式事务,就这样答!

在两阶段提交中,事务协调者(Transaction Coordinator)协调多个参与者(Participants)的资源管理器,确保所有参与者要么都提交事务,要么都回滚事务,从而保证事务的一致性。所以这时候如果本地的其他请求要访问同一个资源,比如要修改商品表 id 等于 100 的那条数据,那么此时是被阻塞住的,必须等待前面事务的完结,收到提交/回滚命令执行完释放资源后,这个请求才能得以继续。比如是提交请求,然后那些收到命令的参与者就提交事务了,此时就产生了数据不一致的问题。解决了数据不一致问题。

2024-06-11 15:41:31 939

原创 不要再问我跨域问题了,这篇文章全搞定

跨域问题指的是在Web开发中,由于浏览器的同源策略限制,当一个网页尝试访问与它不同源(协议、域名或端口不同)的资源时,可能会遇到安全限制导致无法正常访问的问题。这种策略旨在防止恶意网站读取或修改其他网站的数据,保护用户信息安全。这样说可能有点抽象,下面具体展开说明。通常情况下,我们主流的开发模式是:前后端分离。当我们从浏览器80访问服务端81应用下面我们用一个Web工程,一个后端工程具体简单演示下。1、Web工程结构:index.html 页面

2024-06-06 14:24:04 318

原创 有代码冗余的检查工具嘛

Clang Static Analyzer: Clang Static Analyzer 是 Clang 编译器提供的一个静态代码分析工具,用于检测 C/C++ 代码中的各种问题,包括冗余代码。是的,有一些代码质量工具可以帮助检查冗余代码。ESLint: 对于 JavaScript 项目,ESLint 是一个常用的静态代码分析工具,可以配置来检查冗余代码和其他代码质量问题。Cppcheck: Cppcheck 是一个针对 C/C++ 代码的静态代码分析工具,可以检查代码中的冗余、未使用的变量等问题。

2024-06-06 10:20:22 698

原创 今日代码大赏 | Spring Cloud Gateway 全局过滤器实现

全局过滤器(Global Filter)是 Spring Cloud Gateway 中用于处理跨服务的通用逻辑的组件,例如权限验证、日志记录等。今天的代码大赏就到这里。希望通过这篇文章,你能够对 Spring Cloud Gateway 全局过滤器实现有一个更深入的理解。• 顺序可控:通过实现 Ordered 接口,可以控制过滤器的执行顺序。• 统一处理:可以在一个地方集中处理所有请求的预处理和后处理逻辑。

2024-06-05 18:03:35 372

原创 关于 Bean 容器的注入方式,99 % 的人都答不全!

除了上述提到的标准作用域和生命周期管理方式外,Spring 还允许开发者自定义作用域和生命周期管理策略。可以通过实现 Scope 接口来定义新的作用域,通过实现 BeanPostProcessor 接口来定义 Bean 的自定义初始化和销毁逻辑。

2024-06-05 15:55:42 964

原创 数字化转型大环境,学习数据分析有哪些优势呢?

数据分析正在改变着企业,随着更多企业上云,传统企业想要转型,想要创新就需要数据分析这个职位。那么对于正在学习数据分析专业的你或者正在考虑是否转行学习数据分析的你来说,正是一个学习入行的机会哦~

2024-06-04 11:50:35 599

原创 详谈程序员应该具备什么样的职业素养

能够清晰地表达自己的想法和观点,倾听他人意见,能够与非技术人员有效沟通,避免“码农”与“业务人员”之间的沟通障碍。:注重代码质量和系统稳定性,编写可读性强、可维护性高的代码,严谨对待每一个细节,确保交付的产品达到高质量标准。:能够快速准确地识别和解决问题,善于分析、调试和优化代码,具备良好的逻辑思维能力和解决问题的方法论。:对自己的工作负责,能够承担起自己的角色和义务,及时解决问题,确保项目按时交付并达到预期目标。:不断反思和改进自己的工作方法和流程,追求卓越,不断提高自己的工作效率和质量。

2024-06-04 10:34:08 237

原创 今日代码大赏 | Git 常用命令

完整 Git 命令来源于代码小抄,欢迎点击进入小程序阅读!

2024-06-04 10:21:11 270

原创 C++ 20新特性之Concepts

基本概念定义:Concepts是C++20中引入的一种新的语言特性,用于限制类和函数模板的模板类型和非类型参数。它允许你为模板编写要求,而编译器会检查这些要求是否满足。目的:使模板相关的编译器错误更易于人类阅读,提高代码的可读性和可维护性。特性与优势明确的编译器错误信息:通过使用Concepts,当模板实例化时,如果类型不满足要求,编译器会输出更明确的错误信息,帮助开发者更快地定位问题。提高代码的可读性。

2024-06-03 17:58:43 469

原创 奔走相告,VWware 真的可以免费用了

在 Docker 没有出来之前,很多项目的的部署方案是使用虚拟机,在一台服务器上创建好几个虚机出来,配置一下网络,就可以把一台服务器当做多个服务器用了。而作为开发者来说,我们经常碰到需要使用不同操作系统的需求,比如刚开始打算学习 Linux 的时候,没有系统怎么办,买一台云服务器或者在一台电脑上安装一个 Linux 系统的代价都太大了,最简单的方式就是在自己的电脑上装一个虚拟机出来。这时候不可避免的就要用到 VMware 了,紧接着,又碰到了一个问题,那就是 VMware 它是收费,而且还不便宜。

2024-06-03 15:33:34 1980 1

原创 4个实战脚本,总有适合你的吧

用法:将findsomething找到的API放在文件3.txt。与脚本放在同一文件夹,运行,即可得出结果,结果装在文件4.txt。适用:利用findsomething找到大量API接口,不想一个个访问就可以利用这个脚本了。用法:将收集到的域名放在1.txt,运行即可得到域名对应的IP。用法:将收集到的域名放在2.txt里面,运行脚本即可。

2024-06-03 14:00:34 299

原创 到底什么是 Spring Cloud?这个问题并不简单

Spring Cloud 是一系列框架的集合,旨在为分布式系统的开发提供解决方案。它基于 Spring Boot,利用 Spring Boot 的快速开发特性,帮助开发者快速构建分布式微服务架构系统。Spring Cloud 通过集成和封装各种成熟的开源解决方案,提供了配置管理、服务发现、负载均衡、断路器、分布式追踪、消息驱动微服务、网关路由等功能。了解了 SpringCloud 提供了什么能力,现在跟着我来简单了解一下这些能力是干嘛的,别等了!来吧:1)配置管理:集中管理配置,支持动态刷新。

2024-06-03 10:23:35 1011

原创 three.js 模拟真实海洋(超详细教程,炫酷海洋)

1.2 添加基础三维对象,添加一个Box模拟海面的小船,添加一条方向为(0,1,0)的线,模拟小船方向。不会画图,在二维斜面上,小船会倾斜,并且获得斜面的切线的速度,叠加到小船本身的速度上。想必大家已经知道如何实现这个功能了,根据海平面的生成函数,计算小船的高度。4. 根据海面起伏的角度,更新小船的旋转信息,以及添加小船的加速度。在三维中,需要计算在某个坐标处的,海平面的切面,以及切面的面法线。// 根据对应导数函数,求出x分量的斜率和z分量的斜率。使用sin函数,模拟海面起伏,当然,你也可以用cos。

2024-05-31 10:32:03 953

原创 SpringBoot+Spring WebFlux响应式开发,实现打字效果

Spring WebFlux是实现响应式编程,基于Servlet3.x之后异步响应处理所提供的更简化的实现模式,该组件是一个重新构建的且基于Reactive Streams标准实现的「异步非阻塞」Web开发框架,以Reactive开发框架为基础,可以更加容易的实现「高并发」访问下的请求处理模式。在SpringBoot 2.x版本中你那个提供了“Spring-webflux”依赖模块,该模块有两种编程模式实现:一种基于功能性端点方式,一种基于SpringMVC注解方式。

2024-05-30 10:50:15 964

原创 我觉得 “砍需求” 是程序员最牛逼的本领

我觉个自己团队的例子,前段时间我们想统计下老鱼简历的数据,比如注册率和注册来源等,按照正常的方式,可能是需要开发统计分析的能力,我们开发同学也欣然接受了。所以理解需求、跟需求提出方保持统一是很重要的,之前我们团队的开发同学,在需求评审会上 “大放豪言”,产品经理说完需求,他就说:“这个简单!砍需求的前提是对需求有深刻的理解,这就包括理解需求的背景、需求的目标、分析需求的优先级、可行性、以及对用户和业务的影响等等。注意,砍需求不是砍产品经理,也不是单纯地 “拽” —— 劳资是大爷、劳资说不做就不做!

2024-05-29 10:33:14 885

原创 MySQL集群最全详解(图文全面总结)

主从复制是 MySQL 中最常用的集群模式之一,一个主服务器(Master)负责所有的写操作,并将这些更改,异步复制到一个或多个从服务器(Slave)上。在实际应用中,为了进一步提高数据库的性能和扩展性,可以采用读写分离、和分片法(分库分表)相结合的方式构建 MySQL 集群。MyCAT 是一个开源的数据库中间件,MyCAT 通过配置规则将, SQL 请求路由到相应的数据库、或表。从服务器上的读取和应用:从服务器读取主服务器上的二进制日志,并在从服务器上重放这些日志。

2024-05-28 13:41:46 8758

原创 分库分表最全详解(图文全面总结)

分库分表通过将数据,按照某种策略分配到多个数据库节点、或表中,提高了查询和写入性能,从而,增强系统的可扩展性和容错能力。分库分表是数据库设计、和管理中的一种策略,主要解决随着数据量、和并发访问量的增加而带来的性能、和扩展性问题。: 将一个大表的数据按照某种规则,分散到多个小表中,每个小表称为一个“分片”、或“分表”。等,简化分库分表的实现。分库分表旨在,通过将大表、或大数据库的数据,切分为多个较小的部分,从而提升性能。确定分库分表的必要性,比如:分析当前数据库的性能瓶颈,确定是否需要进行分库分表。

2024-05-28 10:06:31 6347

原创 redis 的字符串为什么要升级 SDS,而不用 C 语言字符串?

第二个点在于存储的字符数组,SDS 中进行了改进,SDS 中不在需要 \0 来判断字符串是否结束,这就是我们上面所说的 Redis 字符串中的 buf 数组可以存储任何的二进制数据,因此存储二进制数据的时候便不会发生字符截断的问题,避免了由于特殊字符引发的异常,不过需要注意一个点,Redis 为了兼容 C 标准库的一些操作, Redis 仍然为末尾的 \0 预留了内存空间。我们可以发现,当 sds 扩容的时候,其是根据 sds 的长度进行判断的,其判断的值就是所需要的 sds 的长度是否超过 1 MB。

2024-05-27 10:47:30 1022

原创 如何用 Redis 统计海量 UV?

PV(Page Views)是页面浏览量,指的是网站或应用程序页面被访问的次数。每一次页面的加载都被视为一个页面浏览量,无论是否为同一用户。UV(Unique Visitors)是独立访客数量,指的是访问网站或应用程序的唯一用户数量。UV通常用于衡量网站或应用程序的独立用户群体规模,而不考虑他们的访问频率。PV 和 UV 是衡量网站或应用程序流量和用户参与度的重要指标之一。

2024-05-27 10:36:52 1338

原创 代码大赏之优雅使用 Docker

【代码】代码大赏之优雅使用 Docker。

2024-05-23 09:48:27 265

原创 今日代码大赏之JavaScript 运算符

1. 算术运算符:执行基本的数学运算,如 +、-、*、/ 和 %。2. 赋值运算符:用于给变量赋值,如 =、+=、-=、*= 等。3. 比较运算符:比较两个值,并返回布尔值(true 或 false),如 、=、!=、!==、>、= 和

2024-05-23 09:41:31 446

原创 Dubbo最全详解(图文全面总结)

典型如 Dubbo、Spring Cloud、gRPC 等,有着异构微服务体系互通的诉求,Dubbo3 借助于新的服务发现模型以及可灵活扩展的 RPC 协议,可以成为 Dubbo3 未来的发展目标。5、Invoker通过路由,负载均衡选择了一个最合适的服务提供者,在通过加入各种过滤器,协议层包装生成一个新的DubboInvoker对象;8、这个Invoker对象会调用本地服务,获得结果再通过层层回调返回到服务消费者,服务消费者拿到结果后,再解析获得最终结果。

2024-05-21 17:22:44 2236

原创 Node 之父新作:一个全新的 NPM 下载源工具!

所以 Node 之父出手了!JSR代表的不仅仅是一个新的下载源工具,它是我们思考和实践JavaScript与TypeScript分发方式的一个根本转变。更多信息可以到 JSR 官网了解~

2024-05-21 16:36:07 518

原创 【消息队列】 一文搞懂 Kafka

消息队列是实现应用程序和应用程序之间通信的中间件产品。

2024-05-21 16:26:38 249

原创 同步/ 异步 / 阻塞 / 非阻塞?真把我搞晕了

1)定义:阻塞I/O是指程序发起一个I/O操作后,如果数据尚未准备好(如数据未到达、文件未找到等),程序会一直等待,直到数据准备好并完成I/O操作。1)定义:非阻塞I/O是指程序发起一个I/O操作后,如果数据尚未准备好,I/O操作会立即返回一个错误或特定值,而不是等待数据准备好。2)特点:异步I/O不会阻塞程序的执行,允许程序在I/O操作进行的同时执行其他任务,提高了程序的并发性和效率。1)定义:同步I/O是指程序发起一个I/O操作后,必须等待该操作完成并获取到结果后,才能继续执行后续代码。

2024-05-21 10:46:17 1204

原创 人才分类--数智时代下的“AI 人才粮仓模型”

当前,AI 技术正在向各个领域渗透,加速产业深度融合,AI 已在各行各业崭露头角。在众多 产业的推动下,2024 年成为大模型应用场景元年。当前,模型层产品百花齐放,并逐渐开始 产品探索。目前国内超 63% 的企业正在构建企业大模型,将大模型与业务流程、产品功能紧密结合,推动其在多个场景中的应用、垂直化发展和产业化落地。

2024-05-20 14:57:16 554

空空如也

空空如也

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

TA关注的人

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