自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024.11.7- Redis的主从复制&集群

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。​默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。负载均衡。

2024-11-07 20:00:00 1654

原创 2024.11.6-Redis的事务与持久化

MULTI、EXEC、DISCARD和WATCH 是 Redis 事务相关的命令。Redis的事务是将一系列待执行的指令存到一个Queue中,并使用exec执行事务。​--1. Redis事务是一个独立的隔离机制:事务中的所有命令都会序列化到queue、并按顺序地执行queue里的指令。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。​​multi: 用于开启事务,将待执行的命令放入到队列中exec命令:负责触发并执行事务中的所有命令:discard: 用于取消组队。

2024-11-06 20:15:00 936

原创 2024.11.5- Redis(3)

Redis通过publish、subscribe和psubcribe、Unsubscribe和punsubscribe等命令实现发布、订阅和退订功能。这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等。​-- 客户端通过PUBLISH命令向通道发送信息的时候,我们称这个客户端为发布者(publisher)。-- 客户端使用SUBSCRIBE或者PSUBSCRIBE命令接收信息的时候,我们称这个客户端为订阅者(subscriber)。​。

2024-11-05 20:15:00 420

原创 2024.11.4- Redis(2)

这是redis中的最简单类型。如果你只用这种类型,Redis就像一个可以持久化的memcached服务器(注:memcache的数据仅保存在内存中,服务器重启后,数据将丢失)。​由于 Redis 的键是字符串,所以当我们也使用字符串类型作为值时,我们是在将一个字符串映射到另一个字符串。字符串数据类型可用于许多用例,例如缓存 HTML 片段或页面。​应用场景: 可以将内存中的对象,进行存储到redis中如果将内存对象转成json字符串,再序列化成字节数组,保存到redis中,可以。

2024-11-04 18:00:00 2076

原创 2024.11.3- Redis(1)

1. NoSql, 是Not only Sql的简写,泛指非关系型数据库。2. 为了解决高并发、高可扩展、高可用、大数据存储问题而产生的另一种数据库解决方案3. 是RDBMS的良好补充,并不能取代RDBMS。(各有各的应用场景,RDBMS适合OLTP,Nosql适合OLAP)4. NoSQL数据库基本上也都是基于内存的,所以访问速度也很快。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

2024-11-03 20:00:00 636

原创 2024.11.2- Linux(CentOS7) Shell脚本编程

定义格式: variable=(值1 值2 … 值n)注意:元素之间除了使用空格作为分隔符,还可以使用换行符。或者name[0]=值1name[1]=值2name[n]=值n。

2024-11-02 19:00:00 1838

原创 2024.11.1- Linux(CentOS7) 笔记(4)

在Linux中,周期性的执行任务一般由cron这个守护进程来处理,它是一个linux下 的定时任务执行工具,可以在无需人工干预的情况下运行作业。- cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。- cron的配置文件称为“crontab”,是“cron table”的简写。

2024-11-01 20:00:00 1515

原创 2024.10.31- Linux(CentOS7)笔记(3)

四、软件管理机制四、软件管理机制4.1 Linux软件管理介绍有一个很好的软件生态圈支持,才是一个优秀、值得广泛使用的操作系统平台。比如PC端的window操作系统、mac操作系统,手机端的IOS系统,Android系统等。在这些操作系统上安装软件,方便的不能再方便了。都有类似的一键安装,方便用户进行操作。当然,大名鼎鼎的Linux操作系统,也有自己的软件生态,也有自己的软件管理方式。目前在Linux操作系统上,软件管理方式最常见的有两种,分别是:- RPM。

2024-10-31 20:00:00 751

原创 2024.10.30- Linux(CentOS7)笔记(2)

命令模式(一般模式)用户对一个文件启动 Vim/Vi,便进入了命令模式(也称为一般模式)。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。在此模式下,可以通过命令对文件内容进行删除,复制,粘贴等行为,可以理解为快捷键操作插入模式(编辑模式)

2024-10-30 19:45:00 1244

原创 2024.10.29- Linux(CentOS7)笔记(1)

Linux的文件系统与Unix的文件系统类似,也是一个树形结构。最基本的是根目录:/。相当于windows文件系统的盘符。/: 根路径, 根路径下有以下文件夹​/bin -> usr/bin : 存储的是用户级别的指令文件/boot : 用于存储操作系统的启动文件/dev : 用来挂载其他设备的,/etc : 系统配置文件/home : 除了超级管理员,其他用户的家的位置。

2024-10-29 20:00:00 801

原创 2024.10.28- SpringBoot(3)

全称是 Aspect Oriented Programming 即:面向切面编程。是OOP的延续,也是Spring框架中的一个重要内容,是函数式编程的一种衍生泛型。简单的说他就是把我们程序重复的代码抽取出来,在需要执行的时候使用动态代理技术在不修改源码的基础上,对我们的已有方法进行增强。Spring Boot 中使用 AOP 非常简单,假如我们要在项目中打印一些 log,在引入了上面的依赖之后,我们新建一个类 LogAspectHandler,用来定义切面和处理方法。只要在类上加个@Aspect注解即可。

2024-10-28 20:00:00 807

原创 2024.10.27- SpringBoot整合Mybatis和日志框架

mysql依赖。

2024-10-27 20:00:00 1179

原创 2024.10月26日- SpringBoot (2)

由于封装的 json 数据的类型不确定,所以在定义统一的 json 结构时,我们需要用到泛型。统一的 json 结构中属性包括数据、状态码、提示信息即可,构造方法可以根据实际业务需求做相应的添加即可,一般来说,应该有默认的返回结构,也应该有用户指定的返回结构。如下:​/*** 因为单纯的对实体类或者集合或者map转成JSON后,并不能完全满足前端的需求,* 比如前端,需要一个提示代码code, 0表示成功 1表示失败。

2024-10-26 20:00:00 1342

原创 2024.10月25日- SpringBoot整合Thymeleaf

第一步:引入起步依赖第二步:添加Thymeleaf配置项然后在配置文件中配置thymeleaf的配置项或者spring:thymeleaf:mode: HTML配置项以及其他配置项说明#spring.thymeleaf.cache = true #启用模板缓存。#spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在。

2024-10-25 16:55:03 1202

原创 2024.10月23日- SpringBoot (1)

项目的根: 程序员在开发项目的过程中: 哪些文件夹属于项目的根路径src/main/resources: 配置文件的根 ​ 静态资源(html,css,js,jsp...) ​src/main/java: 是java源文件的根 ​程序在运行的过程中: 哪些文件夹属于项目的根路径classes: java的字节码文件的根 ​配置文件也默认在这个根下。

2024-10-23 20:15:00 1043

原创 2024.10月22日- MySql的 补充知识点

数据库事务: 是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。脏读: 脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并不一定最终存在的数据,这就是脏读。不可重复读: 不可重复读指的是在一个事务内,最开始读到的数据和事务结束前的任意时刻读到的同一批数据出现不一致的情况。幻读。

2024-10-22 21:03:40 884

原创 2024.10月21日- Vue Router路由管理器

一个路由就是一组映射关系(key - value)key 为路径,value 可能是 function 或 component1)路由插件的使用安装vue-router编写路由实例对象的配置项,管理一组一组的路由规则实现切换(可配置高亮样式):2)几个注意事项路由组件通常存放在pages或者views文件夹,一般组件通常存放在components文件夹通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载每个组件都有自己的$Router属性,里面存储着自己的路由信息。

2024-10-21 20:30:00 1540

原创 2024.10月20日- 关于Vuex

Vuex,是专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信先来看一下全局事件总线来实现多组件之间的数据共享图解:再来看一下下图,将共享数据放在第三方处Vuex里来管理的样子:Vuex适用场景:1. 多个组件依赖于同一状态2. 来自不同组件的行为需要变更同一状态3. 如果做的不是大中型单页应用,不建议使用Vuex参考官网。

2024-10-20 20:30:00 710

原创 2024.10月19日- 关于Vue2的 Ajax

在Vue中,我们可以使用下列方式,来发送ajax请求,但是最近这几年使用的最多的还是axios。1. xhr: js原生代码,也就是new XMLHttpRequest(), 我们还得调用其方法,比如xhr.open() xhr.send()等3. Fetch: 是一个基于Promise的API, 可以发送HTTP请求4. axios: 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

2024-10-19 14:07:55 1194

原创 2024.10月18日- Vue2组件开发(3)

所有组件的style,都会被汇总到一起,如果style中设置的样式名有重复的,那么可能就会后引入的组件的样式会覆盖掉先引入组件的样式。此时,我们可以在组件的style开始标记里,使用scoped属性,来设置style样式只针对当前组件生效,即局部生效。注意:App.vue不适合使用scoped属性。组件的数据是独立的,无法直接访问其他组件的数据;想使用其他组件的数据,就需要组件通信。组件通信,就是指组件与组件之间的数据传递。除了js中的内置事件,Vue还允许开发者自定义事件。vm.$on。

2024-10-18 20:30:00 2250

原创 关于Vue脚手架

Vue Cli 全称Vue command line interface(Vue命令行接口),俗称Vue脚手架, 是Vue官方提供的一个标准化开发工具(开发平台)。可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】Vue CLI最新版本是4.x,目前处于维护模式其优点1. 开箱即用,零配置2. 内置babel等工具3. 标准化的webpack配置。

2024-10-17 19:10:48 2011

原创 2024.10月17日- 关于Vue2-(2)

侦听(监听)就是对 内置对象的状态或者属性进行监听,如果发生了变化,就做出一些相应的处理操作。在 Vue.js 中,监视属性是用于观察 Vue 实例中的数据变动的一种机制,当需要在数据变化时执行异步或开销较大的操作时,适合使用监听属性watch。在Vue中添加watch属性// 完整写法watch: {`被监听的属性名`:{immediate: true, //Vue初始化时,就调用一次回调函数handlerdeep:true, //开启深度监听。

2024-10-17 18:44:44 876

原创 2024.10月16日- 关于Vue2(1)

模版指的就是VUE开发过程中的容器代码我是:{{name}}

2024-10-16 19:14:28 1446

原创 2024.10月15日- Vue前置基础

当访问一个对象的属性或方法时,首先JavaScript引擎会从对象自身上去找,如果找不到,就会往原型中去找,即__proto__,也就是它构造函数的prototype中。如果原型中找不到呢?因为构造函数也是对象,实例原型也是对象,他们也都有__proto__,就会往原型上去找,这样就形成了链式的结构,称为原型链原型链的作用JavaScript中没有传统的类继承概念,而是通过原型链实现继承。一个对象可以通过原型链继承另一个对象的属性和方法。1)引入方式都是通过标签来引入到同一个html文件中。

2024-10-15 18:33:31 794

原创 2024.10月14日-SpringMVC-基于注解声明式事务的属性

SQL标准中规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性就越好,但并发性越弱。•Propagation.REQUIRES_NEW•:所修饰的方法只会运行在它自己的事务中,与调用方的事务互不影响。•Propagation.SUPPORTS•:所修饰的方法自身不运行在事务中,若调用方有事务,则运行在调用方的事务中;若无事务,则以非事务方式运行。如果A没有事务,B就抛出异常,如果A有事务,B就使用A的当前事务。若A的方法有事务, B就新建事务,使用新建的,将A的事务挂起。

2024-10-14 17:35:33 959

原创 2024.10月13日--- SpringMVC-声明式事务处理

事务功能的相关操作全部通过自己编写代码来实现:try {// 开启事务:关闭事务的自动提交// 核心操作// 提交事务// 回滚事务}finally{// 释放数据库连接编程式的实现方式存在缺陷细节没有被屏蔽:具体操作过程中,所有细节都需要程序员自己来完成,比较繁琐。代码复用性不高:如果没有有效抽取出来,每次实现功能都需要自己编写代码,代码就没有得到复用。

2024-10-14 08:37:50 1352

原创 2024.10月12日--- SpringMVC异常处理

*** 用户【】 IP[]* 在【时间】* 操作【Controller.find】 发生如下异常*/@OverrideSystem.out.println("---------执行了自定义异常处理器------------");// 根据不同的异常类型,设置不同的响应状态码// 可以添加更多的自定义处理逻辑//}else {// 记录日志或其他处理逻辑// 可以将异常信息放入模型中供视图展示。

2024-10-12 17:12:17 1046

原创 2024.10月11日--- SpringMVC拦截器

SpringMVC里的拦截器是面向切面编程AOP的一个具体实现,用于对请求做预处理。在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的。最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情。

2024-10-11 18:53:01 789

原创 2024.10月7~10日 进一步完善《电信资费管理系统》

10月7日至10日。进一步完善《电信资费管理系统》

2024-10-10 20:49:30 937

原创 2024.10月7日- 非关系型数据库--- Redis

Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。例如,需要存储用户、商品信息到redis,有一个用户id是1,有一个商品id恰好也是1,此时如果使用id作为key,那就会冲突了,该怎么办?Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。String类型,也就是字符串类型,是Redis中最简单的存储类型。

2024-10-07 20:15:00 1246

原创 2024.9月29日~10月6日 SSM框架项目-《电信资费管理系统》

9月29至10月6日,这几天完成了使用,SSM框架,完成的小项目-《电信资费管理系统》

2024-10-06 21:36:09 935 3

原创 2024年9月28日--- SSM框架整合

SSM框架,即是将SpringMVC框架、Spring框架、MyBatis框架三个框架,整合到一起使用,用于构建企业级的Web应用程序。这样可以大大的简化在web开发中繁琐、重复的操作,让开发人员的精力专注于业务处理的开发上。spring框架和mybatis框架整合到一起spring容器来管理dataSource,SqlSessionFactory等spring框架与springmvc框架整合到一起。SpringMVC容器:主要对Controller控制器对象,视图等用户请求和请求结果进行管理。

2024-09-28 19:06:30 854 2

原创 2024年9月27日--- SpringMVC

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式就是一种模子,经过多年实践锤炼形成一套行之有效的完成某个特定任务的步骤和方式。例如:飞天茅台的酿造过程,酿造工序,前后不能变,温差不能变,这样做就是好喝,稍微改动就变味道了。

2024-09-27 19:26:52 1129

原创 2024年9月26日--- Spring-AOP

AOP(Aspect Oriented Programming)意为:面向切面编程,它是一种思想,是对某⼀类事情的集中处理。它的核心思想是 将方法在执行过程中切分为多个部分,也就是多个横切关注点,这样可以与业务逻辑代码分离开来,使代码模块化,进而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP是OOP(面向对象编程)的一个补充,它允许开发者以声明方式实现关注点,而不是通过在业务逻辑代码中散布大量重复代码。AOP是一个思想,是一个编程范式。

2024-09-26 20:16:12 669

原创 2024年9月25-26日--- Spring-IOC 2

Autowired默认按类型装配(属于spring规范),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用。byName的时候,需要保证所有的bean的id唯一,并且这个bean需要和自动注入的属性set方法的值一致!byType的时候,需要保证所有的bean的class唯一,并且这个bean需要和自动注入的属性的类型一致!

2024-09-26 10:04:15 918

原创 2024年9月25日--- Spring-IOC 1

IoC控制反转:即,把创建对象的权利交给框架,也就是指将对象的创建、对象的初始化、对象的存储、对象的管理交给了Spring容器。IOC本质是一种设计思想。IoC 是一种通过描述来生成或者获取对象的技术,对于Java初学者 更多时候所熟悉的是使用 new 关键字来创建对象,而在spring中则不是,它是通过描述(XML或注解)来创建对象。

2024-09-26 07:47:05 1160

原创 2024年9月24日---关于MyBatis框架(3)

缓存(cache):提前把数据存放到缓存当中,下一次再使用的时候,直接从缓存中拿,而不用再次去数据库中查询一次了。这样的优势在于:通过减少IO的⽅式,来提⾼程序的执⾏效率。比如浏览器就有缓存功能…..MyBatis的缓存:将select语句的查询结果放到缓存(内存)当中,下⼀次还是这条相同select语句的话,直接从缓存中取,不再查数据库。⼀⽅⾯是减少了IO,另⼀⽅⾯不再执⾏繁琐的查找算法;效率⼤⼤提升。mybatis缓存包括:⼀级缓存:将查询到的数据存储到SqlSession中。

2024-09-24 18:49:42 626

原创 2024年9月23日---关于MyBatis框架(2)

需要注意的是,我们将 selectKey 放在了插入语句的前面,这是因为 MySQL 在 insert 语句中只支持一个 select 子句,而 selectKey 中查询 UUID 的语句就是一个 select 子句,因此我们需要将其放在前面。因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。而对于不支持自增型主键的数据库(例如 Oracle)或者字符串类型主键,则可以使用 selectKey 子元素:selectKey 元素将会首先运行,id 会被设置,然后插入语句会被调用!

2024-09-23 18:44:44 685 1

原创 2024年9月22日---关于MyBatis框架(1)

是一款优秀的开源的 持久层 框架,用于简化JDBC的开发。是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。MyBatis的特点MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis封装了几乎所有的JDBC代码和参数的手工设置以及结果集的检索;

2024-09-22 19:06:49 1058

原创 2024年9月21日---关于Maven

1、都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?2、为什么在我的机器上可以正常打包,而配置管理员却打不出来?3、项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了。4、我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?5、这是我开发的第二个项目,还是需要上面的那些jar包,再把它们复制到我当前项目的svn库里吧6、现在是第三次,再复制一次吧。----- 这样真的好吗?

2024-09-21 22:27:00 1595

空空如也

空空如也

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

TA关注的人

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