- 博客(138)
- 收藏
- 关注
原创 java八股之并发编程
1.java程序被编译成了字节码.class文件,JVM可以在不同的操作系统或平台上运行这些字节码,不同的平台有不同的JVM实现,它屏蔽了底层操作系统和硬件的差异,使得java程序实现了“一次编写,到处运行”的特性。当发生线程切换的时候,如主动让出CPU,时间片用完,IO操作,这个时候需要保存上下文信息,方便下次回复现场,这就是所谓的上下文切换。wait是让获得对象锁的线程实现等待,会自动释放当前线程占有的对象锁,每个对象都有对象锁,因此操作的是对象Object而不是Thread。
2025-04-18 20:38:49
945
原创 WPS复制粘贴错误 ,文件未找到 mathpage.wll
MathType Commands 2016.dotm粘贴到。3.1 输入ctrl+alt+delete打开任务管理器。右键关闭包含wps的所有服务,重启wps即可。注意:你包含的数字文件夹和我不一样是正常的。MathPage.wll粘贴到。找到如下包含数字的文件夹。
2025-04-11 16:29:05
625
原创 java八股之集合
2.需要存放元素值就用Collection集合下的元素,需要保证元素唯一选择Set接口的集合如TreeSet或HashSet,不需要就选择List接口比如ArrayList或LinkedList。1.需要根据键值获取到元素值就选用Map接口下的集合,需要排序的话用TreeMap,不需要排序就选择HashMap,需要保证线程安全就选用ConcurrentHashMap。ArrayList空间浪费主要体现在list列表结尾会预留一定的容量空间,LinkedList的花费体现在需要存储前驱和后继地址。
2025-04-11 09:47:09
293
原创 JAVA基础八股复习
浅拷贝创建新对象,但是对象中引用类型成员仍然指向原对象,修改了会互相影响,深拷贝则是完全修改,互不影响,重写clone方法,需要自己手动添加引用类型变量的复制逻辑。空指针,算数错误,类型转换错误,数组越界错误等。把对象加入hashset,先计算hashcode,如果hashset中没有一致的就加入,有一致的再计算下equals判断是否真的存在,大大减少了equals的判断。1.是一个本地方法(native),处理字符串常量池中字符串的引用,常量池中有会直接返回该对象的引用,否则在常量池中先创建再引用。
2025-04-09 11:41:12
378
原创 redis解决缓存穿透/击穿/雪崩
缓存雪崩指的是同一时段大量的缓存key同时失效或者redis服务宕机,导致大量请求到达数据库,带来巨大压力也称为热点key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来极大冲击。
2025-03-21 11:07:39
2068
原创 redis缓存更新策略
1.采用主动更新,修改数据库的同时,修改缓存2.修改缓存:选择删除缓存,避免无效写操作,查询数据库的时候再把数据写入redis3.先更新数据库,再删除缓存,因为缓存的速度比较快。
2025-03-19 20:41:11
150
原创 基于Redis实现共享token登录
上述登录注册功能,设定的token有效期固定为30min,如果用户持续再这个网页上,30分到期需要重新登录,显然不符合,因此需要做一个刷新token有效期的动作。总结:经过两道拦截器,第一道拦截生成UserDTO是否有用户,第二道判断有用户则放行,没有就拦截。这样子所有请求都会刷新token。多台Tomcat不共享session存储空间,当请求切换到不同tomcat服务时导致数据丢失的问题。上述只有需要登录的拦截器才会刷新token有效期。2.yaml文件配置信息。
2025-03-18 12:10:36
547
原创 springboot基于session实现登录
用户第一次在浏览器输入正确的账号密码进行http请求时候,后端会根据他的信息设置一个该账户唯一的session并保存在后端,并设置有效期,最后返回保存到浏览器cookie中。下一次请求需要浏览器携带session到后端,校验通过,用户便可以无需登录访问,否则直接被拦截。总结:用户登录访问的页面需要拦截器拦截,拦截判断成功之后,才会请求访问对应的Controller。线程内部存放该线程对应的自己数据,线程之间相互隔离,主要用在多线程并发的场景下。2.函数式接口,指的是接口中只有一个抽象方法。
2025-03-18 09:45:07
1229
原创 Spring注解方式替代原始的applicationContext的Bean配置
需要在applicationContext.xml中配置组件扫描,指定哪些包下的Bean需要进行扫描这样子spring才会理解注解的含义。个人理解:@Confiuration直接可以替换掉原始的applicationContext.xml的原文内容。@ComponentScan表示哪些包下会用注解。spring原始注解主要是替代的配置。@Bean是用在方法上的,不是类上。
2025-02-23 18:38:33
321
原创 spring中关于Bean的复习(IOC和DI)
为什么使用Bean?交给spring 帮我管理对象的创建和销毁使用Bean的流程是什么?1.写好接口和实现类,准备appplicationContext.xml基础文件2.写bean3.spring应用上下文获取配置文件,通过getBean方式获取配置的Bean4.获取到的bean对象,通过.的方式调用其方法我的这个bean想用其他的bean怎么办1.2.UserServiceImpl写好接受userDao的set方法即可。
2025-02-23 18:17:37
503
原创 获取阿里云对象存储OSS中access-key-id和access-key-secret操作流程
Data;import org@Component // application.yml下sky.alioss有对应的属性值就会自动注入到该类中 @ConfigurationProperties(prefix = "sky.alioss") @Data public class AliOssProperties {
2025-02-23 16:53:53
2935
原创 python蓝桥杯超时解决方案
蓝桥杯算法正确的情况下,经常会出现超时的情况,这很大程度上可能是由于输入和输出比较耗时,因此需要采用别的方式加速代码的输入和输出速度。
2025-02-18 11:14:44
416
原创 差分数组的学习
还原后的nums就是[i,j]范围内加3的结果。如果想对nums[i, j] 范围的数组加3。需要频繁对某个区间的数组进行增减操作。
2025-02-03 11:10:13
355
原创 B站黑马程序员-Redis基础篇笔记
1.新建JedisConnectionFactory文件。3.在application.yaml配置redis信息。基本使用步骤:(创建一个基本的Maven项目)3.使用jedis,方法名和redis命令一致。进入改软件,填写信息,测试连接即可。1.创建一个项目,注意勾选下面这个。4.注入redisTemplate。1.编写RedisConfig文件。2.创建redis对象,建立连接。2.pom.xml引入依赖。2.图形化桌面客户端。
2025-01-09 15:47:33
998
原创 B站黑马程序员----linux视频完整学习笔记
Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的特有功能。同Tomcat一样,nginx可以托管用户编写的web程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。:redis是一个开源的,使用C语言编写的,支持网络交互的,可基于内存也可持久化的Key-Value数据库。虚拟机:指的是在windows电脑上安装某个软件,通过这些软件模拟硬件,并给虚拟的硬件安装真实的操作系统。
2024-12-27 17:15:11
1126
原创 wps下划线一直对不整齐的解决方法
2.选中整个表格–属性栏上无框线。选中冒号后面内容,边框最下面的边框和底纹,点一下右边的下框线和中框线点确定,选中下划线上的文字点菜单栏上的表格工具–文字水平居中。1.在姓名冒号后面打上逗号,插入–表格–文本转换成表格(行列根据实际情况,如两列四行),文字分隔位置–其他符号(输入刚才的逗号)3.选中整个表格,开始–居中。视图–表格虚框前的对勾去掉。
2024-12-23 19:53:24
609
原创 wps添加引用和参考文献的方法
显示如下(如果下图有一条分割线,点击上图中的脚注/尾注分隔线即可取消)找到上述序号,双击可以正常跳转即可。最后删除1中的目标文献即可。前面的需要可以不需要。
2024-12-23 18:41:55
5998
原创 yolov8缝合模块的具体操作(8.2.100版本)
在backbone&head部分分别添加以下代码。右键运行,可以看到终端又该模块,表示模块添加成功。根目录下新建yolov8.py,编写以下代码。复制一份yolov8.yaml命名为。在该py文件末尾添加以下代码。
2024-12-19 15:36:08
967
原创 SpringBoot连接数据库启动报错Plugin ‘mysql_native_password‘ is not loaded(2024最新)
使用mysql8.0—springboot项目运行报错。进入找到mysql84,右键停止。在文件的末尾追加以下语句。
2024-12-14 19:53:29
719
原创 import torch报错OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initiali
1.打开你配置的项目虚拟环境下的lib文件夹,如下如。2.ctrl+F找到。
2024-12-12 17:14:51
648
原创 yolov8目标检测复现步骤(训练自己的数据集)(2024-12-05)
运行后会生成转换后labels文件夹下图片的txt文件,还会在data文件夹下得到三个包含数据集路径的txt文件,train.txt,test.txt,val.txt这3个txt文件为划分后图像所在位置的绝对路径。classes = [‘‘litchi’’] 这里填写自己的类别要和转换后的xml的Name一致。根目录下新建MyUtils文件夹下新建文件txtToXml.py文件。根目录下新建文件split_train_val.py。根目录下新建voc_label.py。
2024-12-05 19:17:11
988
原创 B站狂神说--springboot项目学习(新建一个springboot项目)
浏览器可以直接访问localhost:8080/hello。以下程序打开,进入到打包的目录后。浏览器测试访问依然可以成功!选择Spring Web。双击package即可。新建该接口,启动项目。
2024-12-03 17:04:31
576
原创 B站狂神说SpringMVC--(第一次使用Controller注解)
使用Controller注解的方式,免去了继承的麻烦,可以直接在类中设置访问的路径,以及返回的页面地址不需要在web.xml用bean的方式进行配置,大大提高了开发的效率。
2024-11-26 20:15:48
457
原创 B站狂神说 SpringMVC的demo以及执行原理
Spring MVC 的执行原理基于前端控制器模式(Front Controller)。核心组件是,它作为前端控制器拦截所有请求,根据配置的映射关系(HandlerMapping)将请求分发给对应的处理器(Controller)。处理器处理完业务逻辑后,将结果数据封装为模型(Model),并通过视图解析器(ViewResolver)定位到具体的视图模板(如 JSP)。最终,视图渲染生成响应,返回给客户端,实现请求到响应的完整流程。
2024-11-25 21:23:05
841
原创 B站狂神说Spring5学习--(动态代理和静态代理的学习)
proxy代理,invocationHandler调用处理程序。代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作。动态代理分为两类:基于接口的动态代理,基于类的动态代理。动态代理的代理类是动态生成的,不是我们直接写好的。抽象角色:一般使用接口或抽象类来解决。动态代理的代理角色和静态代理是一样的。真实角色:被代理的角色。客户:访问代理对象的人。
2024-11-22 20:15:26
252
原创 B站狂神说spring5学习(Bean相关的学习)
2.注入:bean对象中的所有属性,由容器来注入。1.依赖:bean对象的创建依赖于容器。[环境搭建] (此步骤不再介绍)再Sping中有三种装配的方式。其中Address类如下内容。1.在xml中显示的配置。2.在java中显示配置。
2024-11-21 20:38:05
1095
原创 B站狂神说Spring5学习笔记(一个最简单的HelloSpring程序理解)
原本应该是Hello hello = new Hello()property相当于给对象的属性设值。bean相当于一个对象。
2024-11-20 11:43:27
286
原创 在使用VPN情况下,pycharm无法正确使用清华源问题解决
保存确定,pycharm即可正常使用清华源镜像。点击网络和Internet,点击编辑。每次开机后需要重新添加。
2024-11-16 10:42:55
542
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人