自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows安装Java并配置环境变量

如图所示 在cmd命令提示符中输入javac这时 我们右键电脑 点击属性向下翻 点击高级系统设置点击环境变量点击新建 如图 在变量名(N) 和变量值(V)中分别输入引号中“CLASSPATH” 和 “.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar”继续点击新建 如图 在变量名(N) 和变量值(V)中分别输入引号中“path" 和 “%Java_Home%\bin;%...

2023-07-06 08:50:25 592 1

原创 Ubuntu服务器 无法正常启动redis

当我们在阿里云服务器上启动redis服务 运行下述命令时。安装完成之后 再次运行下述命令。

2025-04-04 13:52:05 284

原创 Spring AOP

什么是面向切面编程呢?切面就是指某一类特定问题,所以AOP也可以理解为面向特定方法编程什么是面向特定方法编程呢?比如"登录校验”,就是一类特定问题.登录校验拦截器,就是对"登录校验"这类问题的统一处理.所以,.Spring框架实现了这种思想,提供了拦截器技术的相关接口.同样的,统一数据返回格式和统一异常处理,也是AOP思想的一种实现.我们现在有一个项目,项目中开发了很多的业务功能。

2025-03-23 15:27:24 783

原创 TCP和UDP

网络上通信设备,事先规定的链接规则,以及传输数据的规则被称为网络通信协议。目的是为了OSI网络参考模型:全球网络互联标准TCP/IP网络模型:事实上的国际标准。

2025-03-20 11:20:52 280

原创 对论坛系统的测试报告

是一种在网络环境中供用户进行交流和讨论的平台。它的功能背景主要源于早期互联网社区的需求,即为网民提供一个可以自由发表观点、分享信息、交流想法的空间。随着时间的发展,论坛逐渐演变成了一个多功能的社交平台,具备了以下几个核心功能如:注册,登录,帖子发布,帖子更新,查看个人帖子,发私信,回复私信修改个人信息等。

2025-03-18 14:20:46 613

原创 python黑马程序员(单例模式&工厂模式)笔记

可以看出 不论实在 Test1.py中 还是在 Test2.py中 输出对象的地址是相同的。创建str_tools_py.py Test1.py Test2.py 三个文件。使用特定的套路得到特定的效果。单例模式就是对一个类,只获取其。1、设计模式就是一种编程套路。2、什么时单例设计模式。

2025-03-18 10:29:11 749

原创 爬虫(requsets)笔记

一个类型六个属性r.text获取网站源码r.encoding访问或定制编码方式r.url获取请求的urlr.content响应的字节类型响应的状态码r.headers响应的头信息。

2025-03-18 10:28:19 3074

原创 selenium_交互 (谷歌浏览器驱动下载 xpath插件安装)

(1)查看谷歌浏览器版本谷歌浏览器右上角‐‐>帮助‐‐>关于查看 浏览器版本:(2)操作谷歌浏览器驱动下载地址http//storagegoogleapiscomindexhtml找到与浏览器相应的版本:以下两个版本都可以:找到相应版本下载:解压安装包 添加到pycharm的文件中:(3)Xpath插件安装:打开谷歌的扩展应用程序下载插件:百度网盘:链接:https://pan.baidu.com/s/1TJ_HKaxKpURWNufJ_D72pQ。

2025-03-18 10:26:15 1187

原创 尚硅谷爬虫(解析_xpath的基本使用)笔记

HTML中添加分别在北京和上海中添加 id='1' id='2'右键——检查——点击左上角小箭头——点击百度一下 即可快速定位。右键定位后的代码——Copy——Copy xPath。如果解析服务器响应文件使用etree.HTML()如果解析本地文件使用etree.parse。xpath 严格遵守HTML规范。:查找所有子孙节点,不考虑层级关系。在meta标签中加入。

2025-03-18 10:24:47 925

原创 SpringBoot统一功能处理

也就是说,允许开发人员提前预定义一些逻辑,在用户的请求响应前后执行.也可以在用户请求前阻止其执行.在拦截器当中,开发人员可以在应用程序中做一些通用性的操作,比如通过拦截器来拦截前端发来的请求,判断Session中是否有登录用户的信息.如果有就可以放行,如果没有就进行拦截.可以看到preHandle方法执行之后就放行了,开始执行目标方法,目标方法执行完成之后执行postHandle和afterCompletion方法.

2025-02-26 12:41:49 947

原创 springboot博客系统详解与实现(后端实现)

用户完整登录,可以查看所有用户的博客信息 通过点击查看全文可以查看该博客的全部内容。如果该博客的作者是当前用户,那么该用户可以完成修改文章、删除文章、发布文章等操作。

2025-02-25 21:06:26 790

原创 Mybatis-Plus的使用

在实际的开发中,MyBatis-Plus提供的操作不能满⾜我们的实际需求,MyBatis-Plus也提供了⾃定义 SQL的功能,我们可以利⽤Wrapper构造查询条件,再结合Mapper编写SQL。为了使用这一功能,mybatis-plus版本不低于3.0.7代码示例1完成下述SQL查询@Mapper测试代码@Test注意事项:在自定义SQL时,传递Wrapper对象作为参数时,参数名必须为ew,或者使用注解。

2025-02-17 14:28:31 1096

原创 Mybatis高级(动态SQL)

完成不同条件下不同的sql拼接,那如果在添加用户的时候有不确定的字段传入。这个时候就需要。

2025-02-15 20:59:16 1365

原创 Mybatis的其他查询

数据库连接池负责分配、管理和释放数据库连接,它允许应⽤程序重复使用⼀个现有的数据库连接, 而不是再重新建立⼀个。没有使用数据库连接池的情况:每次执行SQL语句,要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行完,再关闭连接对象释放资源.这种重复的创建连接,销毁连接比较消耗资源程序启动时,会在数据库连接池中创建一定数量的Connection对象,当客户请求数据库连接池,会从数据库连接池中获取Connection对象,然后执行SQL,SQL语句执行完,再把Connection归还给连接池.

2025-02-08 17:20:47 587

原创 MyBatis XML文件配置

2.结果映射。

2025-02-05 21:16:56 836

原创 MyBatis 初级

MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。持久层:指的就是持久化操作的层,通常指数据访问层(dao),是用来操作数据库。 简单来说MyBatis是更简单完成程序和数据库交互的框架。创建springboot工程,并导入mybatis的起步依赖、mysql的驱动包这种方式pom.xml文件中会自动导入 MyBatis 和 MySQL也可以通过手动导入MyBatis和MySQL2.1.2 数据库的准备创建用户表,并创建对应的实体类User 查询user_info表的数据 创建

2025-02-04 20:48:07 633

原创 八、Spring Boot 日志详解

SLF4J不同于其他日志框架,它不是⼀个真正的日志实现,而是⼀个抽象层,对日志框架制定的⼀种规范, 标准,接口.所有SLF4J并不能独立使用,需要和具体的日志框架配合使用.SLF4J 就是其他日志框架的门面.SLF4J可以理解为是提供日志服务的统一API接口,并不涉及到具体的 日志逻辑实现.引入日志门面引入门面日志框架之后,应用程序和日志框架(框架的具体实现)之间有了统一的AP接口(门面日志框架实现),此时应用程序只需要维护一套日志文件配置,且当底层实现框架改变时,也不需要更改应用程序代码.

2025-02-01 13:14:57 1300 6

原创 七、深入了解SpringBoot的配置文件

1.理论上讲·properties和·yml可以并存在于一个项目中,当·properties和·yml。properties 配置⽂件是最早期的配置⽂件格式,也是创建SpringBoot项⽬默认的配置⽂件。,不止是Java中可以使用,在Golang,Python,Ruby,JavaScript中也可以使用。并存时,两个配置都会加载.如果配置文件内容有冲突,则以properties为主,也就是。,可以简单表达对象,数组,List,Map等数据形态.yml是树形结构的配置文件,它的。如果在项目中,想要主动的。

2025-01-28 17:09:58 988

原创 IDEA创建&修改gitee仓库

创建gitee仓库 点击复制仓库地址右击项目名 --> Open In --> Terminal初始化仓库添加仓库地址 复制之前创建的仓库地址。

2025-01-26 15:50:35 979

原创 六、深入了解DI

是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源,⽽资源指的就是对象. 在上⾯程序案例中,我们使⽤了 @Autowired 这个注解,完成了依赖注⼊的操作. 简单来说,就是把对象取出来放到某个类的属性中。

2025-01-24 17:20:11 1259

原创 五、深入了解IoC

对于同⼀个类,定义多个对象@Component@BeanuserInfo.setName("张三");@BeanuserInfo.setName("李四");定义了多个对象的话,我们根据类型获取对象,获取的是哪个对象?//获取Spring上下文对象//从Spring上下文中获取对象报错信息显⽰:期望只有⼀个匹配,结果发现了两个,userInfo1,userInfo2从报错信息中,可以看出来,@Bean注解的bean,bean的名称就是它的⽅法名。

2025-01-23 18:50:33 900

原创 四、Spring初识IoC和DI

需求:造一辆车先设计轮⼦(Tire),然后根据轮⼦的⼤⼩设计底盘(Bottom),接着根据底盘设计⻋⾝(Framework),最 后根据⻋⾝设计好整个汽⻋(Car)。这⾥就出现了⼀个"依赖"关系:汽⻋依赖⻋⾝,⻋⾝依赖底盘,底 盘依赖轮⼦.//汽车类//车身类//地盘类//轮胎类当我们要去添加轮胎类的Tire构造方法的形参编译时会出现一层一层的关联报错!通过上述案例会发现这样的设计 代码可维护型很低,程序的耦合度⾮常⾼(修改⼀处代码,影响其他处的代码修改).

2025-01-20 19:49:13 1067

原创 三、Spring 应用分层

应⽤分层是⼀种软件开发设计思想,它将应⽤程序分成N个层次,这N个层次分别负责各⾃的职责,多个 层次之间协同提供完整的功能.根据项⽬的复杂度,把项⽬分成三层,四层或者更多层. 常⻅的MVC设计模式,就是应⽤分层的⼀种具体体现.

2025-01-19 18:53:56 825

原创 二、学习SpringMVC

RequestMapping 是SpringWebMVC应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的 路由映射的. 表⽰服务收到请求时,路径为/sayHi的请求就会调⽤sayHi这个⽅法的代码.路由映射:当⽤⼾访问⼀个URL时,将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射.如果去掉@RestController会怎么样?注释@RestController 再次访问http://127.0.0.1:8080/sayHi 如下图。

2025-01-16 11:18:42 851

原创 一、什么是SpringWebMVC?

是ModelViewController的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分 为模型、视图和控制器三个基本部分指在应⽤程序中专⻔⽤来与浏览器进⾏交互,展⽰数据的资源.是应⽤程序的主体部分,⽤来处理程序中数据逻辑的部分.可以理解为⼀个分发器,⽤来决定对于视图发来的请求,需要⽤哪⼀个模型 来处理,以及处理完后需要跳回到哪⼀个视图。即⽤来连接视图和模型。

2024-12-21 20:07:46 337

原创 十一、定时器

定时器:定时器也是软件开发中的⼀个重要组件. 类似于⼀个 "闹钟". 达到⼀个设定的时间之后, 就执⾏某个指定 好的代码.定时器是⼀种实际开发中⾮常常⽤的组件举个例子:⽐如⽹络通信中, 如果对⽅ 500ms 内没有返回数据, 则断开连接尝试重连.类似于这样的场景就需要⽤到定时器.运行结果: 定时器的构成• ⼀个带优先级队列(不要使⽤ PriorityBlockingQueue, 容易死锁!)当管理多个任务的时候,需要确保,时间最早的任务,最先执行,通过遍历的方式,找到时间最早.使用优先队列• 队列中的

2024-12-09 16:30:45 276

原创 十、线程池

线程池的概念可以与现实生活中的某些场景进行类比,比如一家餐厅的服务模式。让我们来详细看看这个例子:想象一下,有一家繁忙的餐厅,顾客(任务)不断进入餐厅点餐。每一张桌子都有一个服务员(线程)负责接待和服务。如果每次有新顾客到来,餐厅都雇佣新的服务员,那么很快就会导致成本过高,并且管理这些服务员也会变得非常复杂。为了更高效地服务顾客,餐厅决定采用一组固定数量的服务员(线程池)。这组服务员在没有顾客时处于待命状态。当有新顾客到来时,任意一个空闲的服务员会立即上前服务这位顾客。

2024-12-07 13:26:13 989

原创 九、阻塞队列

阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则. 阻塞队列能是⼀种线程安全的数据结构,并且具有以下特性:• 当队列满的时候,继续⼊队列就会阻塞,直到有其他线程从队列中取⾛元素.• 当队列空的时候,继续出队列也会阻塞,直到有其他线程往队列中插⼊元素.阻塞队列的⼀个典型应⽤场景就是"⽣产者消费者模型".这是⼀种⾮常典型的开发模型.⽣产者消费者模式就是通过⼀个容器来解决⽣产者和消费者的强耦合问题。

2024-12-01 16:55:36 271

原创 八、饿汉单例和懒汉单例

单例模式(Singleton Pattern)是一种常用的软件设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。这种模式通常用于那些需要频繁创建和销毁的对象,或者对象的创建成本较高,但又需要保证对象的唯一性的情况下。

2024-11-24 17:04:33 435

原创 七. wait 和notify

使当前执⾏代码的线程进⾏等待. (把线程放到等待队列中)释放当前的锁满⾜⼀定条件时被唤醒, 重新尝试获取这个锁.wait 要搭配 synchronized 来使⽤. 脱离 synchronized 使⽤ wait 会直接抛出异常.其他线程调⽤该对象的 notify ⽅法.wait 等待时间超时 (wait ⽅法提供⼀个带有 timeout 参数的版本, 来指定等待时间).

2024-11-21 17:03:41 835

原创 六、volatile 内存可见性

现代处理器为了提高性能,通常会将频繁访问的数据存储在其私有的高速缓存中。当多个线程运行在不同的CPU核心上时,它们可能会读取到各自缓存中的不同版本的数据,而不是主内存中的最新值。运行后 t1线程并未结束 这显然是个bug。volatile 能保证内存可⻅性。

2024-11-16 16:35:32 176

原创 五、synchronized 关键字-监视器锁

synchronized 会起到互斥效果, 某个线程执⾏到某个对象的 synchronized 中时, 其他线程如果也执⾏到同⼀个对象 synchronized 就会阻塞等待.• 进⼊ synchronized 修饰的代码块, 相当于• 退出 synchronized 修饰的代码块, 相当于针对同一对象加锁才会产生互斥作用。

2024-10-25 19:18:55 778 1

原创 四、多线程带来的的风险-线程安全

我们把⼀段代码想象成⼀个房间,每个线程就是要进⼊这个房间的⼈。如果没有任何机制保证,A进⼊ 房间之后,还没有出来;B是不是也可以进⼊房间,打断A在房间⾥的隐私。这个就是不具备原⼦性的。那我们应该如何解决这个问题呢?是不是只要给房间加⼀把锁,A进去就把⻔锁上,其他⼈是不是就进 不来了。这样就保证了这段代码的原⼦性了。有时也把这个现象叫做同步互斥,表⽰操作是互相排斥的。

2024-10-23 20:54:26 360

原创 三、线程的状态

这并不意味着线程一定正在运行,它也可能因为其他线程占用CPU而暂时没有执行。- 一个线程尝试获取synchronized锁时如果锁已经被另一个线程持有,则当前线程会进入BLOCKED状态,直到它能够获得锁为止。- 当run()方法正常返回或者由于未捕获异常导致线程停止运行时,线程进入TERMINATED状态。方法等,那么该线程将进入WAITING状态。这种状态下,线程不会被分配处理器时间,并且只有当其他线程显式地唤醒它(通过。一旦超时时间到达,即使没有被唤醒,线程也会自动从这个状态转换出去。

2024-10-18 15:16:08 658

原创 二、Thread常见的方法

Thread 类是 JVM ⽤来管理线程的⼀个类,换句话说,每个线程都有⼀个唯⼀的 Thread 对象与之关 联。

2024-10-17 10:57:32 839

原创 一、认识线程

还是回到我们之前的银⾏的例⼦中。之前我们主要描述的是个⼈业务,即⼀个⼈完全处理⾃⼰的业 务。我们进⼀步设想如下场景:⼀家公司要去银⾏办理业务,既要进⾏财务转账,⼜要进⾏福利发放,还得进⾏缴社保。如果只有张三⼀个会计就会忙不过来,耗费的时间特别⻓。为了让业务更快的办理好,张三⼜找来两 位同事李四、王五⼀起来帮助他,三个⼈分别负责⼀个事情,分别申请⼀个号码进⾏排队,⾃此就有 了三个执⾏流共同完成任务,但本质上他们都是为了办理⼀家公司的业务。

2024-10-15 13:51:49 807

原创 网络编程(Java)

可以计设备中的程序与网络上其他设备中的程序进行数据交互的技术(实现网络通信)。

2024-09-27 14:28:53 990

原创 IO流(java)

IO流概述IO流的分类IO流总体来看就有四大流IO流的体系FilelnputStream(文件字节输入流)作用:以内存为基准,可以把磁盘文件中的数据以字节的形式读入到内存中去。构造器说明创建字节输入流管道与源文件接通创建字节输入流管道与源文件接通方法名称说明每次读取一个字节返回,如果发现没有数据可读会返回-1.每次用一个字节数组去读取数据,返回字节数组读取了多少个字节,如果发现没有数据可读会返回-1//1、创建文件字节输入流,与源文件接通//简化写法,推荐使用。

2024-09-22 15:54:44 595

原创 Mysql索引

索引是什么?MySQL的索引是⼀种数据结构,它可以帮助数据库⾼效地查询、更新数据表中的数据。索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度。MySQL 索引类似于书籍的⽬录,通过指向数据⾏的位置,可以快速定位和访问表中的数据,⽐如 汉语字典的⽬录(索引)⻚,我们可以按笔画、偏旁部⾸、拼⾳等排序的⽬录(索引)快速查找到需 要的字。使⽤索引的好处:,使⽤索引的⽬的只有⼀个,就是提升数据检索的效率,在应⽤程序的运⾏过程中,查 询操作的频率远远⾼于增删改的频率。时间复杂度是 O

2024-09-16 16:48:33 944

原创 视图(mysql)

视图是⼀个虚拟的表,视图本⾝不存储数 据,⽽是通过执⾏查询来动态⽣成数据。⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管 理。视图本⾝并不占⽤物理存储空间,它仅仅是⼀个查询的逻辑表⽰,物理上它依赖于基础表中的数 据。

2024-09-14 21:55:57 858

空空如也

空空如也

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

TA关注的人

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