自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSM框架知识点汇总

IOC:控制反转,他是一种创建和获取对象的思想,依赖注入(DI)是实现这种技术1等一种方式。在传统的开发中,我们需要使用new去创建对象,使用IOC思想开发的话,我们不通过new关键字创建对象,而是通过IOC容器来帮我们实例化对戏那个,通过IOC的方式可以大大降低耦合度。AOP:面向切面编程,使得那些与业务无关,却为业务模块共同调用的方式逻辑封装起来,减少系统上的重复代码,降低耦合度。

2025-04-14 16:23:52 637

原创 Java虚拟机JVM知识点(已完结)

根据JDK8的规范,我们的JVM内存模型可以拆分为:程序计数器、Java虚拟机栈、堆、元空间、本地方法栈,还有一部分叫直接内存,属于操作系统的本地内存,也是可以直接操作的。

2025-03-30 21:16:45 1097

原创 Java并发编程(JUC)知识详解(持续更新)

Java底层会调用pthread_create来创建线程,所以本质上Java程序创建的线程就是个操作系统上的线程一样的。

2025-03-13 15:56:07 532

原创 手写高性能RPC框架——Java实现(持续更新)

RPC,一种远程过程调用框架,是一种计算机通信协议,它允许程序在不同的计算机之间进行交互,就像本地调用一样。在RPC的定义中,我们知道,他可以允许程序在不同计算机之间进行交互,而无需关心底层的网络细节、数据的处理过程,这些都由RPC帮我们完成,使得开发者可以轻松的完成远程的过程调用。使得开发者可以轻松的远程调用程序,构建高性能分布式项目。

2025-03-10 16:45:28 1105

原创 Java集合面试题(已完结)

在Java8之前,当一个key要插入hashmap时,需要根据相应的hash公式计算出key该放在数组的哪个位置,但是数组长度有限,很可能出现撞车现象,那么此时我们在数组内存放一个链表,链表内存储键值对,然后将撞车的key插入到头部。HashSet:是通过HashMap实现的,HashMap的key就是HashSet存储元素,其中的value值都是一样的,使set内元素保持唯一性。好的,ArrayList在添加元素时,如果当前元素的个数已经超过了list的容量上限,那么就会触发我们的扩容机制。

2025-03-06 22:02:08 968

原创 静态代理与动态代理详解

Java的动态代理是一种非常强大的功能,它允许在运行时动态地创建代理对象,并拦截对代理对象的方法调用。动态代理的核心是通过代理对象来间接调用目标对象的方法,同时在方法调用前后插入额外的逻辑(如日志记录、权限检查、事务管理等)。这种机制在设计模式中被称为代理模式。

2025-03-05 11:36:25 672

原创 Java基础面试题(已完结)

Java能够支持跨平台,主要得益于JVM。他的底层原理是这样的,我们的Java程序经过编译后会生成.class字节码文件,由JVM将字节码转化为机器码然后交由JVM运行。这里为什么跨平台,因为是JVM给我们做了一个中间层,使得Java代码到哪里,只要有JVM就可以运行。

2025-02-24 22:07:49 680

原创 Redis面试专题(不死背,好理解,已完结~)

刚刚我们看过了缓存穿透的场景,那么此时我们就必须要检索一个key在不在数据库或者缓存里。⬅️这个就是布隆过滤器的作用!那么我们就要看它的底层原理了。它的底层是一个超大的数组,初始化全部为0,当一个key到达时,将经过三次哈希运算并模除数组长度,并找到相应数组下标并置为1。这样,三个数组的位置就能证明一个key的存在~but!很抽象的一点就是布隆过滤器会有一些很抽象的失误,当key的数量足够多,数组的长度足够少,那么他就很大概率会失误。所以要根据业务调整数组的长度。

2025-02-10 21:50:54 622

原创 天马学航——智慧教务系统(移动端)开发日志十(完结撒花!)

日志摘要:修复了一些已知的BUG,压力测试等。

2024-06-21 10:52:19 443

原创 天马学航——智慧教务系统(移动端)开发日志九

日志摘要:完成了应用图标、应用名称的更改,完成了用户欢迎界面的编写。

2024-06-21 10:51:07 376

原创 天马学航——智慧教务系统(移动端)开发日志八

日志摘要:完成了对用户主界面的优化,再次优化数据库缓存,使数据库读写分离。

2024-06-21 10:49:48 297

原创 天马学航——智慧教务系统(移动端)开发日志七

日志摘要:完成了教师端课程分析的编写,优化界面UI,解决了一些已知的BUG。

2024-06-21 10:48:58 530

原创 天马学航——智慧教务系统(移动端)开发日志六

日志摘要:统一身份认证设计,修复了选课信息错乱的问题。

2024-06-20 22:11:33 382

原创 天马学航——智慧教务系统(移动端)开发日志五

日志摘要:更新了增值服务模块:绩点查询以及学业预警,处理了高并发环境下的卡顿问题。

2024-06-20 22:10:39 379

原创 天马学航——智慧教务系统(移动端)开发日志四

日志摘要:优化了教师端界面的UI,更新了教师端添加课程,提交成绩等功能,修复了一些已知的BUG。

2024-06-20 22:09:49 434

原创 天马学航——智慧教务系统(移动端)开发日志三

日志摘要:更新了学生选课模块、我的课程模块以及退课的功能,优化了后端数据库的缓存。

2024-06-20 22:08:51 557

原创 天马学航——智慧教务系统(移动端)开发日志二

日志摘要:新增了学生端个人信息、成绩查询模块,优化前端UI等,解决了一些已知的BUG。

2024-06-20 22:06:28 555

原创 天马学航——智慧教务系统(移动端)开发日志一

日志摘要:完成了学生端+教师端登陆功能的实现以及相应功能的后端调优开发日志中所有图片均为概念图,请大家以实际发布上线为准。

2024-06-19 15:54:33 724

原创 天马学航——智慧教务系统—技术架构+功能概览+数据库设计

学生端:

2024-06-19 15:46:39 449

原创 天马学航——智慧教务系统(移动端+网页端) 持续更新技术文档~

天马学航——智慧教务系统(移动端)”是一款专为现代教育机构设计的高效、智能化教务管理解决方案,特别优化于HarmonyOS(鸿蒙操作系统)平台。该系统旨在提升教务管理效率,为师生提供便捷的操作体验和全面的功能支持。“天马学航”不仅提供丰富的功能,更注重用户体验,依托鸿蒙操作系统的卓越性能,确保系统运行的流畅性和稳定性。通过移动端应用,实现随时随地的教务管理,打造智能化、便捷化的校园生活。

2024-06-18 21:37:34 859

原创 蓝桥杯 算法训练 最大获利 C++实现

Chakra是一位年轻有为的企业家,最近他在进军餐饮行业。他在各地开拓市场,共买下了N个饭店。在初期的市场调研中,他将一天划分为M个时间段,并且知道第i个饭店在第j个时间段内,会有Aij位服务员当值和Bij位客户光临。他还分析了不同饭店不同时间段客户的需求,得到第i个饭店在第j个时间段内,平均每位客户消费Cij元。为了创设品牌形象,Chakra决定每个饭店每天只选择一个时间段营业,每个服务员至多接待一位顾客(若顾客数多于服务员数,超过部分的顾客当天就无法在该店消费了)。企业家的目的终究还是获利。

2024-02-03 19:52:33 426 1

原创 蓝桥杯算法训练 24点 C++实现

这样有一些是得不到24点的,所以这里只要求求出不超过24的最大值。输入第一行N(1

2024-01-23 21:38:22 547 1

原创 试题 算法训练 逗志芃的危机 C++实现

轮到小豆拿时,小豆有两种拿的方法,第一种是拿左边的,即a[l],由于我们使用的是动态规划,故 我们的状态转移方程为 dp[l][r] =dp[l+1][r]+a[l] 了解动态规划的小伙伴可能都不陌生,dp[l+1][r]在前面的计算中已经计算出来了,第二种为拿右边的,同理dp[l][r] =dp[l][r-1]+a[r],因为小豆要拿最大的,所以我们要取他们两种情况的最大值,即。在这里,小豆的dp[l][r]=dp[l+1][r]+dp[l][r-1]组成的。在本题中的最优解中,那肯定是取两端最大的。

2024-01-22 21:04:04 1689

原创 蓝桥杯算法训练 跳马 C++实现

一看到最短路径,有的同学可能就会说迪杰斯特拉算法,emmm,怎么说,调用迪杰斯特拉算法之前还要建造一个图,然后再使用异常复杂的迪杰斯特拉算法,这不是自己给自己挖坑嘛。从一个点出发,选择好一条路径后开始出发,维护一个N计数器,每走一步便N++,直到找到答案点为止,经过递归地回溯,再选择零一条边,同上,开始递归。我们仔细地想一下这道题,马在走完任意一步后,他还要在8种选择中再找一条,再走一步,如此反复,直到走到题目中要求的点或者走到尽头为止。上边的表格便是很好的表现了马走的行踪。一行四个数字a,b,c,d。

2024-01-19 20:32:11 648 3

原创 蓝桥杯算法训练 无聊的逗 C++实现

根据对搜索类题目一种潜意识(可能是我做的题比较少),我的第一反应是使用暴力推导(虽然可能不能得全部的分数,但也是最保底的一种情况),在看到数据规模和约定时,我便更加坚定了我的想法,(n

2024-01-17 21:06:29 514

原创 蓝桥杯算法训练 数字游戏 C++实现

给定一个1~N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。例如 16 分化成 (1 15) (2 14) ...... (7 9).......(注意,这里允许相同数据不同位置的数据组合出现)结果,我得到了一棵无比庞大的树,并且还需要使用巨大的空间存储所有的结果,最后还要根据字典序进行查找出最小的结果。7 分化为(1 6) (5 2) (4 3) (3 4)........

2024-01-16 20:27:36 1015 2

原创 蓝桥杯算法训练 礼物 C++实现

我标黄的那个1,我们再回顾一下,在分区内的所有数列都小于等于S是吧,正我们的意,如果我们以黄色的5为分界点,左边是标红的部分,右边是标绿的部分,那么我们最优的解法就是10。同学们注意题目可以发现,题目中给出的要求是 选择连续的2*k个数组,所以我们要保证两边都是k个数,且最后的2*k一定是个偶数。通过上一节的分区,同学们可能就会有思路了,题目中给出的要求是:取走连续的石头,所以有的同学就会所以然的。在分区的过程中,我们维护一个b数组,b数组中,存放的是数组指向每一位的分区的长度。

2024-01-15 20:31:42 2012

原创 蓝桥杯练习集试题 算法训练 印章 C++实现

m) 有两种情况,第一种是前n种已经集齐了m钟印章,所以这种情况,只要在m中挑选出一个加入n中就可以 dp[n-1][m]*(m+1)*(1/n),第二种情况是,前n种没集齐m种印章,所以我们还需要从n-m种选取一个出来 dp[n-1][m-1]*(n-m)*(1/n),所以当n!比如:我们可以先求我们手里有1个印章的时候,我们可以集齐1张印章的概率,我们手里有2个印章的时候,我们可以集齐1张印章的概率..........依次类推,我们便可以推出,我们手里有m张印章的时候,我们可以集齐n张印章的概率。

2024-01-13 21:19:31 405 1

原创 基于python opencv和LBPH的人脸识别系统

人脸识别

2023-12-04 17:41:00 431

原创 基于Java GUI 多线程 UDP网络编程的小型聊天软件

本程序可以支持多个用户同时再局域网环境下在线进行聊天,本程序采用Java GUI 多线程 UDP技术,将一个客户端发送的消息通过内置服务器端发送到所有在线的客户端中。信息接收服务器采用多线程技术,避免在多条消息进入后产生线程堵塞的问题。exe可执行文件可供下载。

2023-10-28 21:57:05 163 1

原创 一个基于Java GUI和IO流的文件管理系统(持续更新)

IO流和GUI编程

2023-10-05 15:39:00 471

原创 随机快排全网最详细讲解(c语言)

随机快排全网最详细讲解(c语言)

2023-01-06 20:00:01 167 1

基于Java GUI 多线程 UDP网络编程的小型聊天软件

基于Java GUI 多线程 UDP网络编程的小型聊天软件

2023-10-28

空空如也

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

TA关注的人

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