自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一、CSharp_Basic:什么是.Net平台?什么是.Net FrameWork?什么是C#?

上面我们知道,微软在2000年推出.Net的标准,具体实现就是.Net FrameWork。就像我规定好奥运会的举办标准,需要什么场地,什么条件等等,这就标准看不到摸不到。而具体实现,就像是08年北京奥运会一样,要去耗费大量人力物力落到实处。这就是实现,看得到摸得到。.Net Core说到.Net FrameWork 我们就不得不提一下.Net Core 了,在2014年,微软不满足于使用.Net技术开发出来的程序只能运行在Windows操作系统上。所以他们要搞跨平台。

2023-12-03 14:58:05 592

原创 一、深入简出串口(USRT)通信——基本概念。

串口到底是什么?简单来说一句话就可以解释,。看到这里可能大家会觉得你这不是放屁么,说了跟没说一样。所以这里做前言来描述,大家要先对通信协议有一个下意识地认识才能在学习串口的时候不至于迷茫。通信协议所谓通信协议,说白了就是传输数据的双方规定好的一些规则。就像你朋友问你这周末去干嘛?你回复个233。如果不事先规定好,你朋友肯定觉得一头雾水。另一种情况同样是你朋友问你这周末去干嘛?但是你俩事先规定了,2就是钓鱼,3就是追剧。那么他就知道你周末要做的事就是钓鱼、追剧、追剧。

2023-11-26 12:37:25 1364 1

原创 七、JDK的安装(rpm)与项目发布

JDK8下载地址:https://www.oracle.com/java/technologies/downloads/#java8。3、开启对应端口(本程序设置访问端口为9090)1、Oracle官网下载jdk的rpm安装包。通过rpm安装的jdk无需配置环境变量。2、将下载好的安装包发送到服务器。在阿里云服务器设置对应安全组。

2022-12-11 20:00:00 1051

原创 六、账号管理,用户组管理,磁盘管理,进程管理

Linux中,root账号拥有最高权限。Linux中的一切都是文件,所以用户也是以文件形式存在的。我们将用户分成不同的组,来方便进行权限管理,就像:开发组、运维组、测试组、root组。在文件的属性中,属主就代表这个文件属于哪个用户。2、mount 、umount 命令。1、groupadd 命令。2、groupdel 命令。3、groupmod 命令。1、useradd 命令。2、userdel 命令。3、usermod 命令。5、passwd 命令。1、df 、du 命令。3、pstree 命令。

2022-12-10 20:00:00 728

原创 五、文件查看命令,软连接和硬链接,Vim编辑器

在Lniux命令行窗口中,因为没有Windows那样的图形化界面,想要查看文件(白色的为文件)就要必须借助文件查看命令将其内容显示在窗口上。我们知道用cat、less等命令可以查看文件,但是并不能修改文件,那么vim可以用来实现这一功能。:编辑完成之后,按Esc键退出输入模式。在命令模式下,可以切换到底线命令模式,:切换为输入模式,这样才能进行编辑。3、head 、tail 命令。是退出,一般这两个联合使用。

2022-12-09 21:01:53 1394

原创 BUG记录:SSM使用pageHelper插件报空指针异常

将ApplicationContext.xml中重复配置(红框内)的部分删除即可。因为我再mybatis-config.xml配置过PageInterceptor。

2022-11-06 12:12:48 425

原创 Redis进阶篇:四、删除策略

(默认是10)次删除轮询,不过Redis没有员工,它是通过调用serverCron()—>databasesCron()—>activeExpireCycle()执行轮询检查操作的。他是由Redis自动执行的。以上我们说的都是针对已经过期的数据的删除,那么当内存不足时,还有数据要存放,就会将还未过期的数据排挤掉,那么让那个数据出去呢?(ps:其实key指向的应该是对应数据的内存地址,field也是对应的内存地址,这里为了方便理解就直接用数据代替)综合以上两种策略的优缺点,定期删除是一个性能平衡的删除策略。

2022-10-13 21:16:08 558

原创 Redis进阶篇:三、事务

在MySQL中,我们提到事务是。简单来说就是不能被打断,就像飞机起飞一样,中途不能有任何因素干扰,一旦被打断只能被迫中止回到原来的位置重新起飞。在Redis中同样是这样。

2022-10-13 21:09:40 593

原创 进阶篇:二、持久化

Redis作为一款高速NoSQL型数据库,操作数据时是在内存中,如果断电数据将丢失。就是将数据永久的保存在磁盘(是存储介质就行)上,下次使用可以恢复,防止数据丢失。

2022-10-12 21:03:14 436

原创 进阶篇:一、Linux下Redis的安装和启动

实际开发中,我们运用Redis需要做很多相关的配置,显然一个一个的传入参数进行配置是不现实的。Redis在实际应用中主要运行在Linux系统之上。(Windows版上次更新还是2016年(lll¬ω¬))Redis中文网安装地址:https://www.redis.net.cn/download/Redis默认启动端口是6379,我们在启动服务端时携带自定义的端口参数来改变端口。在Linux下切换到你想安装的路径下----->用以下指令进行安装。启动成功之后,不会有任何输出。

2022-10-12 20:55:49 419

原创 基础篇:四、Jedis介绍

为什么要定义Jedis工具类?原因是在企业开发不可能让你去不断地new Jedis对象,而是通过Jedis连接池去获取对象,一般会将其封装为工具类,需要使用时调用工具类即可。//连接池 private static int MaxIdle;//活动链接数 private static int MaxTotal;//最大连接数 private static String host;//Redis.server的ip地址 private static int port;

2022-10-11 15:33:03 316

原创 基础篇:三、通用指令

Redis中,针对不同的数据类型有不同的操作命令。除了他们特定的命令外还有通用指令。对key的命令和。对key的指令属于通用指令很好理解。毕竟key是全局性的约束(唯一、string型)。对db的约束又是个什么鬼啊(ˉ▽ˉ;)…,简而言之就是Redis并不是一个单体数据库,它是由16个数据库(个人认为叫数据区更好)组合而成的,所以会有对数据库的操作指令。像你要用哪个数据库啊,如何切换,如何退出。。。

2022-10-11 15:30:23 230

原创 基础篇:二、Redis中的数据类型

而且在Redis中数据都是以key-value的形式存储的,key规定只能是string类型的,所以我们所讨论的数据量类型默认是对value来说的。

2022-10-08 21:19:13 625

原创 基础篇:一、Redis简介

Redis是一款NoSQL型数据库,在学习Redis之前,我们要先来了解一下NoSQL。背景-- 1、双十一活动每年双十一,淘宝会出现大量用户同时购物,使得并发度飞速增加,在早些年会造成系统的崩溃。-- 2、12306抢票春运期间,12306网站将承担上亿级别的高并发访问,早些年官网发生崩溃是常见现象。大量的随机IO浪费很多时间各表之间存在复杂的关联关系NoSQL的特性NoSQL:Not-Only SQL 非关系型数据库。作为关系型数据库的补充,来弥补以上两大痛点。可扩容、可伸缩。

2022-10-08 16:12:50 764

原创 四、文件的属性

(r代表读,w代表写,-代表可以运行)后面对应的由属主名和属组(权限组)名。

2022-09-25 16:07:49 1795

原创 三、基本命令

4、mkdir 命令。5、rmdir 命令。

2022-09-25 16:06:41 148

原创 二、Linux开关机以及基本目录介绍

任何操作系统,想要使用它都要先学会开关机。开机系统在开机时会启动很多必要的进程,在Windows中叫做服务(Service),Linux叫做守护进程(Daemon)命令行登录(一般用于本机Linux系统)SSH远程登录(一般用于远程服务器)图形界面登录(用于配置图形化界面的Linux系统)root账户具有整个系统的最高权限。关机Linux一般作为服务器的操作系统是很少去关机的,因为服务器不出意外的话是希望它一直处于运行状态的。在Linux中没有回应就是没有出错。

2022-09-25 16:05:38 349

原创 一、Linux入门:购买服务器,与服务器建立连接

阿里云购买服务器:www.aliyun.com。下载完成之后,按照提示安装。2、打开Xshell进行连接。按照指定流程进行购买即可。1、获取服务器公网IP。

2022-09-25 16:04:23 429

原创 三、IDEA连接GIT远程仓库

配置公钥是本地仓库与远程仓库的一种连接验证,就像你回家要用到钥匙开门一样。想要用IDEA连接到远程仓库,要先配置公钥。到这里,可以打开浏览器去获取远程仓库的ssh了。https://gitee.com/登录,没有账号的注册一个。测试是否配置完成:ssh -T git@gitee.com。

2022-09-18 22:27:14 5273

原创 二、Git安装及常见指令

在任意目录下打开鼠标右键,选择Git Bash Here,在命令窗口输入git init就可以将该目录初始化为本地git仓库。安装:https://git-scm.com/download。下载好之后,自定义安装路径一直点next直到安装完成。

2022-09-18 22:21:15 301

原创 一、Git介绍、以及原理

分布式版本控制设置两个仓库来存放资源,一个本地仓库、一个远程仓库。本地仓库在开发人员的电脑上,无需联网也可以存放代码。远程仓库需要用到gitee、github等网站,需要联网才能将程序上传存放。这样就算远程仓库遭到破坏任意一个本地仓库都有存放远程仓库的数据。集中式版本控制是将程序集中存储在中央服务器中,每个开发人员需要连接中央服务器才能获取代码,同时提交代码也需要连接中央服务器。如果中央服务器受到损坏,那会造成严重的损失。Git是一个分布式版本控制的系统。以上几个场景,利用Git都能很好的解决。

2022-09-18 22:18:28 295

原创 BUG记录:端口被占用。

1、查询指定端口(在这里以8082为例)可以查询到该端口的pid为 13724。2、杀掉指定进程(pid)

2022-09-05 15:32:15 164

原创 5、声明式事务

比如买一本书是事务,将买多本书的操作封装在一个大事务中,如果第一本书成功购买(对于买一本书的事务已经提交了),第二本出错,那第一本买的书还要回滚吗?jdbcTemplate具备增删改查功能的实现,除了查询功能其他都是调用update函数,利用重写实现不同需求的更新数据功能。利用注解实现声明式事务比较简单,只需要在spring核心配置文件中配置两个标签,然后就可以使用注解进行标识事务了。传播行为可以理解为:事务之中还有事务的情况下,如果出错是全部回滚还是部分回滚。1、readOnly——只读。...

2022-08-17 11:04:10 131

原创 4.3、注解实现AOP

利用@Before(“execution(public int com.lu.Spring.aop.CaculatorImpl.add(int , int ))”)标识的方法为前置通知。返回通知注意要在@AfterReturning中设置returning = "result"属性,对应的方法参数要含有Object result接受返回结果。基于xml和基于注解的AOP实现的效果都是一样的,只是实现的语法不同。环绕通知包含上面四种通知,可以实现他们四种通知组合使用的效果。...

2022-08-17 10:59:11 285

原创 4.2、AOP思想和相关术语

理解通知的概念要以横向思维去看代码,可以看到图中的代码包含四个横向的通知。如果说是前置通知,则只需要处理方法执行前的操作,不必考虑之后的操作,而环绕通知更像OOP编程,是包含了四个横向通知所以要全面考虑。AOP(Aspect Oriented Programming)面向切面编程,是OOP的一种延续,它可以将业务代码与非业务代码分离,可以对程序进行解耦,提高程序的可重用性,同时提高了开发的效率。每一个横切关注点上的功能都有对应的方法去实现,这种方法就叫做通知。实现通知的类(代理类)。...

2022-08-17 10:55:48 103

原创 4、AOP

如果我们直接在加减乘除四个函数内部直接添加日志信息,那么我们要写四次,而且代码分散不利于维护,况且日志信息对于计算器来说为非核心代码,我们可以利用代理模式的思想,将与核心代码无关紧要的操作交给其他类来做,核心类只执行核心代码。可以看待如果我们想要加减乘除都具备日志功能,我们就要写4遍,虽说静态代理实现了核心代码与非核心代码分开管理的解耦功能,但是这样还是的代码还是比较分散不方便管理,动态代理就可以解决这种问题。我们建立一个代理类,在代理类中处理非核心操作,调用被代理类的核心方法来处理核心业务。...

2022-08-17 10:53:16 86

原创 3、IOC——基于注解管理bean

Autowired注解默认是ByType方式,当ByType找不到对应的bean时自动转换成ByName(默认通过属性名的首字母小写来查找)。注解可以理解为对代码的标记,就像家里面做饭用的调料瓶,上面总会有标签写着油、盐、酱、醋等。相比于xml的自动装配,基于注解的自动装配相对简单,只需要在对应位置加上@Autowired注解即可。在对应的类上添加注解之后,经过扫描IOC容器才能知道那个类应该添加到容器中产生对应的bean。利用注解设置bean时,如果没有手动设置bean的id,那么就会使用默认id,...

2022-08-17 10:50:40 128

原创 BUG记录:java.lang.ClassNotFoundException: org.springframework.core.NativeDetector

排查后发现,是引入的依赖版本冲突。改成5.3.1版就成功执行。

2022-08-09 21:05:02 2736

原创 BUG记录:springMVC引入vue报错---not defined

这样的话会无法获取js资源。就很奇怪啊,然后我清理了一下target,又把它换到WEB-INF目录下,试了一下也可以获取到,搞不懂,就很奇怪。就很奇怪,试了好多办法一直是找不到这个静态资源。后来我把static换了一下路径。今天在SpringMVC中引入vue的时候发现了一个很奇怪的现象。...

2022-07-31 20:00:53 442 1

原创 2-3、bean的作用域生命周期,以及xml自动装配

通过autowire="byName"自动装配有一个注意点,自动装配时将会通过属性名作为id在IOC容器中自动装配对应的bean。所以要注意IOC容器中对应bean的id要和属性名一致。为UserController类对应的bean配置autowire="byType"属性,则会自动在IOC容器中查找对应的bean为其类类型或者接口类型的属性赋值。根据制定策略,在IOC匹配某一个bean自动为其类类型或者接口类型的属性赋值。当bean的作用域为prototype时,IOC容器关闭时对象也不会销毁。...

2022-07-28 06:12:29 169

原创 2-2、依赖注入以及特殊属性的赋值

我们在Spring配置文件中引入的bean初始值是空的,依赖注入就是给他们赋值。这里主要介绍三种常用的方式。利用标签给对应的属性赋值(本质是调用set()方法)。构造器注入要求在对应的实体类中编写有参构造,其本质是调用有参构造来进行初始化。默认是按照构造器参数的顺序进行赋值,也可以用name属性指定赋值。p命名空间是根据属性来注入依赖的,相当于将property标签换成来进行注入。2.5、依赖注入的特殊值处理当我们想要给属性赋值为null时,不能直接,这样是给属性赋值字符串"null"。要

2022-07-28 06:10:01 311

原创 2-1、IOC思想以及实现

IOC容器就是IOC思想在Spring的一个罗德实现,IOC容器中管理的组件叫做bean,创建bean之前要先创建IOC容器。在程序组件中需要获取资源时,传统方式我们需要主动的从容器中去获取资源,这种模式要求开发人员了解特定资源在具体容器中的获取的方法。反转控制思想与传统获取资源方式相反,改为由容器主动提供资源,开发人员只要做好接受准备即可,无需了解资源获取的具体方法。例想要吃饭,传统方式买菜——>洗菜——>切菜——>炒菜——>吃饭。例想要吃饭,IOC方式点外卖——>拿外卖——>吃饭。...

2022-07-28 06:03:50 267

原创 1、Spring简介

Spring框架是一个开放源代码的J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容器(lightweightcontainer)。Spring框架是现在企业级开发最流行、也是应用最多的框架,利用该框架让全世界的开发者构建性能好、易于测试、可重用的代码。...

2022-07-28 05:56:49 87

原创 11、分页插件

可以利用PageInfo获取更多分页信息,便于前端使用。执行查询之前,先设置要查询的分页,以及页面大小。2、在核心配置文件中加入配置。

2022-07-20 22:07:06 147

原创 10、MyBatis逆向工程

正向工程由实体类-------->自动生成相对应的数据库表。(HiBernate可以实现)逆向工程由数据库表--------->自动生成实体类、映射文件、对应接口。

2022-07-20 22:06:06 99

原创 9、MyBatis缓存

MyBatis的一级缓存针对的是SqlSession级别的,即同一个SqlSession执行查询后会将结果存放,下次再有相同的查询可以直接获取缓存数据。MyBatis中的缓存就是将从数据库中查询出来的数据暂时记录,下次再有相同的查询就可以直接返回结果。...

2022-07-20 22:05:02 210

原创 8、动态SQL

在MyBatis框架中,动态SQL表示根据特定条件拼接SQL语句的功能,主要通过在映射文件中使用特定的标签来实现。

2022-07-20 22:03:26 303

原创 7、ORM映射

ORM(ObjectRelationalMapping)对象关系映射,解决面向对象与关系数据库存在的互不匹配的现象的技术,将程序中的对象自动持久化到关系数据库中。可以看到,无论是一对多映射还是多对一映射,都可以用分步查询,其中分步查询有一个优势就是延迟加载,也就是懒汉式加载(用什么加载什么,不用不加载)。可以看到,属性和字段名并不一样,属性是按照java命名规范的驼峰命名,字段是按照sql规范的下划线命名。上面提到的班级信息的多个字段要存放在一个学生实体类属性中,叫做多对一映射。...

2022-07-20 22:01:28 1261

原创 6、MyBatis的几种特殊操作

也就是说,班级建立的同时,要获取id(因为id不是自己输入的,所以事先未知),然后在分配学生(将班级id插入对应的学生记录中)。useGeneratedKeys=“true”打开获取主键功能。对应的映射文件(注意这里获取参数用${},如果用#{}则会产生多余的。keyProperty=“id”将获取到的主键赋值给id。对应的映射文件(注意这里获取参数用${})...

2022-07-20 21:58:20 206

原创 org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

Causedbyorg.xml.sax.SAXParseException;lineNumber1;columnNumber1;前言中不允许有内容。org.xml.sax.SAXParseException;lineNumber1;columnNumber1;前言中不允许有内容。原因核心配置文件中,引入映射文件出错。标签引入的时候要写完整路径。用包引入的时候别忘了用。...

2022-07-16 11:17:37 4932

空空如也

空空如也

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

TA关注的人

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