- 博客(41)
- 收藏
- 关注
原创 ReentrantReadWriteLock锁降级的使用场合和代码示例
比如 缓存更新与读取: 在缓存系统中,一个线程可能需要更新缓存内容(需要写锁保护以防止数据不一致)。此时,如果支持锁降级,线程可以降级为读锁,允许其他线程也进行读取,提高缓存的访问效率。等待Writer-Reader Thread锁降级之后Reader Thread就能获得读锁了。当发生降级后, Writer-Reader Thread的写锁降级为读锁, 这时候。的场景,它可以减少不必要的独占锁时间,提高系统的并发性能。取消注释, 运行主程序后, 结果是。取消注释, 运行主程序后, 结果是。
2024-08-29 11:24:17
1058
原创 对比@Autowired, @Resource, @Component和@Bean
@Autowired`注解用于自动注入Spring容器中的bean。它会在Spring上下文启动完成后,通过类型匹配来注入已存在的bean。如果在Spring容器中找不到合适的bean,使用@Autowired标注的字段就会抛出NullPointerException@Bean: 在此方法中创建并返回一个目标实例@Bean注解用于定义一个Spring bean并将它注册到Spring容器中。这个方法通常在@Configuration类中定义,Spring会在初始化视图时调用这个方法
2024-08-09 10:59:00
837
原创 【代理模式AOP】2. @Aspect的代码实战(比较Cglib和动态JDK)
本文介绍了代理的使用方法与代码demo.注解@Aspect的使用方式有使用execution表达式,直接匹配需要被代理的目标方法和使用自定义注解两种方式.具体生效有静态代理AspectJ和动态代理Cglib和动态JDK
2024-08-08 17:10:36
893
原创 【Docker】新手教程的第一个demo:Wordpress
使用自建 WordPress 容器方法在Docker上部署Wordpress,mac使用过程中遇到一些坑,因此写本博客记录一下。
2024-05-06 15:02:53
1269
1
原创 注解@requestBody @requestParam@RequestHeader的区别和使用方式
总的来说,@RequestBody用于接收请求体数据,@RequestParam用于获取请求参数,@RequestHeader用于获取请求头信息。
2024-02-27 15:03:51
763
原创 【Java基础】BIO/NIO/AIO的详细介绍与比较区分
BIO适用于连接数较少的场景NIO适用于连接数目多且连接时间较短的架构,比如聊天服务器· AIO适用于连接数目多且连接时间较长的架构,比如相册服务器
2024-01-18 17:08:59
1585
原创 【计算机网络】OSI七层模型与TCP/IP四层模型的对应与各层介绍
TCP/IP四层模型是开放系统互连(OSI)模型的简化版本。OSI模型有七层,而TCP/IP模型只有四层。在实际应用中,TCP/IP模型更为广泛使用,特别是在互联网和大多数企业网络中。
2024-01-18 16:59:48
1543
原创 【Java基础】进程与线程,并发与并行,CPU单核与多核
并发与并行 并发:同一时间段内运行多个 并行:同一时刻同时运行多个CPU的一个核在同一时刻只能执行一个线程,但是由于CPU可以做到调度线程的快速切换,因此在**同一时间段内达到的效果是可以并发运行不同的线程
2024-01-12 10:48:57
522
原创 【Java数据结构】实例变量和局部变量在作用域、生命周期、初始化方面(是否有默认值)的区别
实例变量和局部变量是在 Java 中两种不同类型的变量,它们在作用域、生命周期和初始化方面有一些关键的区别。如实例变量有默认值,而局部变量没有默认值,必须显式初始化后才能使用。
2024-01-11 17:27:56
527
原创 【SpringBoot3】实现自定义配置——以静态资源自定义配置为例(源码+代码示例)
创建一个配置类,通常使用 @Configuration 注解标记,并在该类中定义配置方法。在配置类中定义用于自定义静态资源配置的方法,使用。alt+7 可以获得接口定义的所有的方法。方法,用于配置自定义的静态资源路径。如果你希望将自定义的配置放在。
2024-01-10 16:46:53
2103
原创 【SpringBoot3】1.SpringBoot入门的第一个完整小项目(新手保姆版+教会打包)
新手在idea中创建一个SpringBoot项目(超详细教学),内含SpringBoot原理介绍,最简单的demo代码,jar包打包方式和一些常见报错的说明
2024-01-02 21:36:22
1632
原创 【SSM】4. SSM项目的配置测试demo
本文旨在通过一个简单的SSM(Spring + Spring MVC + MyBatis)框架项目实战,帮助读者理解和掌握SSM框架的基本概念和使用方法。文章将介绍项目的创建、配置,包括数据库的设计、MyBatis的整合,以及Spring MVC的搭建和使用。通过这个小项目,读者将学会如何在SSM框架下进行开发,建立起对这一流行JavaWeb框架的初步认识。
2023-12-20 17:38:15
419
原创 【SSM】3. SSM项目的详细配置(使用maven工程+配置类方法)
配置日志新建module,module下面的pom.xml文件里设置打包方式为war设置webapp:在左上角project structure-> module中,选中相应的模块,点击左上角的加号,增加“web”模块将添加为……\src\main\webapp\WEB-INF\web.xml将设置为……\src\main\webapp2 控制层配置类控制层的配置类,需要配置controller,SpringMVC在src文件的自己的包(如com.example)下建包confi
2023-12-20 12:07:11
2026
原创 【SSM】2. SSM整合的介绍
web容器是root容器的子容器(为的是子容器可以调用父容器中的组件)狭义:把Spring、SpringMVC和MyBatis应用到项目中。广义:Spring进行IOC管理。
2023-12-18 22:12:51
383
原创 【SSM】1. Spring,SpringMVC和MyBatis的总体复习
Spring是腾讯SpringFramework是QQ基础应用使用流程:核心配置文件mybatis-config.xmlMapper接口mapper配置文件(与Mapper接口同名的xml文件)参数输入:${}:字符串拼接#{}:占位符参数输出多表实体类设计:一对一:对象一对多:集合
2023-12-18 20:13:22
1056
原创 【SpringMVC】报错No converter found for return value of type: class的解决,向浏览器返回json响应
想要在Controller里使用注解@ResponseBody来返回类对象浏览器报错:No converter found for return value of type: class com.atguigu.mvc.bean.User。
2023-12-04 15:59:23
721
原创 【SpringMVC】比较转发Forward与重定向Redirect的区别
当在web.xml中配置了Thymeleaf解析器时,在Controller内返回会自动生成,找到html资源并通过Thymeleaf解析器将html资源渲染出来。
2023-11-28 20:51:45
145
1
原创 【Java】java反射机制
Java的反射机制是指在运行时检查和操作类、方法、字段等程序结构的能力。通过反射,在运行时获取类的信息、调用类的方法、访问类的字段,而不需要在编译时知道这些信息。
2023-11-16 16:22:56
72
原创 【spring】4. spring的核心思想之控制反转IOC(Inversion Object Control)
本图为UserControllerl类中定义userService-构造方法-直接定义。这么写的好处是:如果数据库连接发生改变,不需要更改代码内容,只需要维护属性文件即可。spring默认不使用注解装配Bean,因此需要在xml文件中开启组件扫描功能。本图为UserControllerl类中定义userService-构造方法。以使用druid连接数据库为例,将数据库的连接属性写在外部属性配置文件中。如果是"ref"则为对应的类,可以注入类对象。类有属性,创建对象过程中,向属性设置值。
2023-11-15 22:03:49
98
原创 【Android】在手机本地创建文件夹与文件代码示例与区别(mkdir,mkdirs与createNewFile)
> mkdir: 创建文件夹> mkdirs: 创建多级文件夹> createNewFile: 创建文件 会在rootPath下创建文件夹test1,注意如果路径中有文件夹不存在会报错 - 通过`new File(filePath)`定义文件夹位置 - 通过`dirFile.mkdir();`新建单个文件夹、会在rootPath下创建文件夹test2与其子文件夹data(会自动生成路径下的所有文件夹),注意就算最后的“data”就算写成“data.txt”也会成为文件夹的名字 会在r
2023-10-18 22:34:49
1488
2
原创 【Android】如何申请定位|存储|运动健康的动态权限+申请权限不弹窗的问题
通过在AndroidManifest.xml文件中添加相关权限声明来增加权限申请,还需要在运行时请求权限,以便用户明确授权。要添加权限,在元素下添加元素,要在运行时请求权限,需要使用ActivityCompat.requestPermissions()方法。
2023-10-18 21:31:58
1363
1
原创 【JavaWeb】数据库与java时间类型不匹配带来的问题
数据库的时间存储类型与java中的时间类型不匹配,可将com.atguigu.qqzone.pojo.Topic中的topicDate由java.util.Date改为java.time.LocalDateTime类型即可解决。
2023-09-17 14:31:04
412
1
原创 【JavaWeb】网页发送request执行getName获取不到参数名的字符串却返回arg0、arg1...解决办法
网页发送request,执行getName获取不到参数名的字符串,却返回arg0、arg1…从而产生参数获得为nul的问题。如图,此处parameterName的结果应为具体的参数结果。这是IDEA设置产生的问题,在。结果却得到“arg0”
2023-09-16 22:57:20
327
1
原创 【数据库】快速分清三大范式之间的区别
数据库的范式是设计规范,第一范式要求每列不可再分,第二范式要求每张表只描述一件事情,第三范式要求每列都和主键直接关联。但是在满足范式的前提下,还需要考虑数据库的实现效率,需要进行权衡。
2023-09-14 22:31:37
353
1
原创 【JavaWeb】按照学习顺序记录重点与细节2. Servlet
Servlet主要可以override重写三个方法,这三个方法也对应着Servlet的生命周期:实例化(调用构造方法)、初始化(调用init())、然后服务(调用service())、当容器销毁的时候调用destroy()HTTP 是无状态的,服务器无法判断两次请求是同一个客户端发过来的,还是不同的客户端发过来的,可以通过会话跟踪技术来解决无状态的问题。会话跟踪技术:sessionID。Http包含两个部分:请求和响应。
2023-09-14 17:34:50
196
1
原创 【JavaWeb】按照学习顺序记录重点与细节1. Tomcat项目的部署
=File→ Project Structure → Problems ==里面报错:依赖包找不到的原因是在建完web项目并上传部署包之后,后添加的依赖,那么这些依赖jar包没有添加到部署包中,只需要点击图中的 [Fix] 即可。
2023-09-14 11:56:43
91
1
原创 Java配置正确,但tomcat依然闪退的原因
尝试3. 运行catalina run,看catalina具体出了什么问题,提示:错误: 找不到或无法加载主类 org.apache.catalina.startup.Bootstrap。问题:运行startup.bat闪退,提示Using CATALINA_OPTS: ""下载错安装包了qaq,记录一下警醒后人。尝试2.确认版本正确。
2023-09-08 16:25:53
193
1
原创 Idea2023配置tomcat服务器(详细步骤版)
本文是JavaWeb新手版教程,IDEA2023+JDK1.8+apache-tomcat-8.5.91,没有使用Maven。
2023-08-09 15:29:17
19017
20
原创 vscode python代码在debug模式下找不到相对路径的文件
问题在run的时候可以找到相对路径文件,而在debug模式下无法找到FileNotFoundError: [Errno 2] No such file or directory: 'decode.js'解决办法增加代码,解决问题import os,sysos.chdir(sys.path[0]) #使用文件所在目录debug前进入代码相应文件夹PS Z:\yrf\tencent\影视剧搜索-腾讯> cd .\douban\...
2022-01-11 15:00:33
1969
原创 Scrapy的入门
参考博客:(28条消息) Scrapy爬虫框架,入门案例(非常详细)ck784101777的博客-优快云博客scrapyScrapy框架主要由五大组件组成,分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。Scrapy项目的准备工作 新建虚拟环境 conda create -n spider python=3.6.3 激活环境 conda acti
2022-01-02 17:13:02
446
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人