自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 工作学习笔记

*在上下文切换过程中,CPU会停止处理当前运行的程序,并保存当前程序运行的具体位置以便之后继续运行。**从这个角度来看,上下文切换有点像我们同时阅读几本书,在来回切换书本的同时我们需要记住每本书当前读到的页码。在程序中,上下文切换过程中的“页码”信息是保存在进程控制块(PCB)中的。PCB还经常被称作“切换桢”(switchframe)。“页码”信息会一直保存到CPU的内存中,直到他们被再次使用。上下文切换是存储和恢复CPU状态的过程,它使得线程执行能够从中断点恢复执行。上下文切换是。

2023-07-12 17:29:18 176

原创 SpringBoot起步依赖和自动配置

等进一步熟练它的使用后,可以再进一步往底层挖掘,虽然有些太细节的东西,在项目开发中基本用不到,但是自己有一定了解的话,在使用过程中碰到问题可以有更清晰的思路去定位并解决。在这个.json文件中,可以找到跟刚才相关的配置,也就是说,这个json文件里面的值,就是SpringBoot自动配置时帮我们配置的值,如果我们需要更改这些配置,只需要在我们的配置文件中配置一下就行了,就会覆盖这里的默认配置,而使用我们的自定义配置。简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

2023-04-18 20:15:39 1549 2

原创 谷粒商城Ⅱ

尚品汇

2023-03-12 16:42:44 496

原创 死信队列与延迟队列

【代码】死信队列与延迟队列。

2023-03-08 23:36:55 148

原创 jwt token学习

代码中的使用,最后返回含有token的map给前端。Binary 二进制的。

2022-12-02 17:37:02 155

原创 Cookie + Session登录-Token登录-SSO 单点登录-OAuth 第三方登录

这种方式可以节省传输时占用的连接资源,但同时也存在一个问题:每次请求都是独立的,服务器端无法判断本次请求和上一次请求是否来自同一个用户,进而也就无法判断用户的登录状态。单点登录指的是在公司内部搭建一个公共的认证中心,公司下的所有产品的登录都可以在认证中心里完成,一个产品在认证中心登录后,再去访问另一个产品,可以不用再次登录,即可获取登录状态。在上文中,我们使用单点登录完成了多产品的登录态共享,但都是建立在一套统一的认证中心下,对于一些小型企业,未免太麻烦,有没有一种登录能够做到开箱即用?

2022-12-02 15:03:38 744

原创 session和cookie的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

2022-12-02 11:21:35 857

原创 秒杀项目笔记

1、自定参数注解/**String message() default "手机号格式错误";Class

2022-12-02 10:50:53 93

原创 谷粒商城-基础(p45~p101)

可以指定特殊的表 删除和不删除的数值。

2022-08-22 11:28:10 289

转载 若依mybatis升级为mybatis-plus

这部分代码放到了码云https//gitee.com/study_badcat/ry_mp_activiti,v1.1分支。链接https//www.jianshu.com/p/b5e9c9aedd43。商业转载请联系作者获得授权,非商业转载请注明出处。一、添加mybatis-plus依赖、删除mybatis依赖。目标将mybatis升级为mybatis-plus。...

2022-07-15 10:02:03 7573 2

原创 RestTemplate使用

restTemplate使用

2022-06-20 13:58:37 828

原创 谷粒商城-环境(p1-p27)

前后分离开发,分为内网部署和外网部署,外网是面向公众访问的,部署前端项目,可以有手机APP,电脑网页;内网部署的是后端集群,前端在页面上操作发送请求到后端,在这途中会经过Nginx集群,Nginx把请求转交给API网关(springcloud gateway)(网关可以根据当前请求动态地路由到指定的服务,看当前请求是想调用商品服务还是购物车服务还是检索),从路由过来如果请求很多,可以负载均衡地调用商品服务器中一台(商品服务复制了多份),当商品服务器出现问题也可以在网关层面对服务进行熔断或降级(使用阿里的se

2022-06-20 13:46:30 178

原创 mysql学习

最好是按照以下顺序优化:1、SQL 语句及索引的优化2、数据库表结构的优化3、系统配置的优化4、硬件的优化详情B+树,经过优化的 B+树主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建议为大部分表使用默认自增的主键作为主索引。B+树,经过优化的 B+树主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建议为大部分表使用默认自增的主键作为主索引。详解在最频繁使用的、用以缩小查询范围的字段上建立索引。在频繁使用的、需要排序的字段上建立

2022-06-09 18:51:00 464

原创 关于变量是否线程安全的问题

2022-05-31 18:50:07 96

原创 常用快捷键

- 回到上级目录:cd .. 【..是一个路径,代表当前路径的上级路径】 cd ../../../ - 直接回到根路径:cd \浏览器新开窗口 ctrl+t* win + r 打开运行窗口* win + d 显示桌面* win + e 打开资源管理器* win + L 锁屏* alt + tab 应用之间的切换* shift + tab 取消缩进...

2022-05-26 16:40:21 110

原创 数据库笔记

文章目录1、同列属性值大小写区分问题1、同列属性值大小写区分问题 当三个记录b_author属性值分别设置为 ab,AB,Ab,使用delet from book where b_author=‘AB’ 表中的三个记录都被删了。原因: mysql查询是不区分大小写的!这可真的是惊呆我了,虽然知道一般情况下,关键字是不区分大小写的,但是没想到连要查询的参数都是不区分大小写的!!再尝试下面的sql语句,果然还是一样的结果。 Mysql默认的字符检索策略:utf8_general_c

2022-05-26 16:24:24 69

原创 Spring体系结构详解

文章目录1、架构图2、 Data Access/Integration(数据访问/集成)3、Web 模块4、Core Container(核心容器)5、其他模块1、架构图Spring 框架采用分层架构,根据不同的功能被划分成了多个模块,这些模块大体可分为 Data Access/Integration、Web、AOP、Aspects、Messaging、Instrumentation、Core Container 和 Test,如图 1 所示。图 1 Spring的体系结构图 1 中包含了 Sp

2022-05-23 19:29:03 676

原创 公司学习笔记

文章目录1、mybatis-plus分页2、自定义线程池,获取cpu核心线程数2、合理设置线程池大小3、高效线程池设置如下:4、1、mybatis-plus分页 @PostMapping("/listDirectSeedingPage") public Rest<DirectSeedingPageListVo> listDirectSeedingPage(@Validated @RequestBody ListDirectSeedingPageDto req) {

2022-05-12 08:36:30 171

原创 采用hutool后端返回文件流供前端下载

文章目录1、导入依赖2、代码3、前端测试1、导入依赖<!--hutool--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.20</version> </dependency> <dependency> <g

2022-05-10 16:17:06 3512 1

原创 使用hutool导入excel

文章目录1、导入依赖2、代码3、excel格式1、导入依赖<!--hutool--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.20</version> </dependency> <dependency> &l

2022-05-10 16:11:50 3872

原创 运行时异常和非运行时异常

文章目录1、运行时异常2、非运行时异常1、运行时异常(1)运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。当出现RuntimeException的时候,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointe

2022-01-10 10:44:06 7606 2

原创 SpringBoot使用事物

关于事物的基本概念等这里就不介绍了。         Spring声明式事物的实现,有两种方式;第一种是配置xml,第二种是使用相关注解(这两种方式可详见《程序员成长笔记(一)》的相关章节)。SpringBoot中默认配置了第二种方式,所以,SpringBoot直接使用注解即可。下面介绍SpringBoot通过注解开启事物的使用。 SpringBoot使...

2021-12-23 14:24:10 581

原创 sql相关笔记

这里写自定义目录标题要求统计应收良品、应收次品、已收良品、已收次品的数量,如下写四个caseSELECT order_no, sku_id, sku_num,CASE inventory_sts WHEN '合格' THEN sku_num ELSE 0 END AS goodNum,CASE inventory_sts WHEN '不合格' THEN sku_num ELSE 0 END AS badNum,CASE inventory_sts

2021-12-21 14:44:22 556

原创 八股文学习笔记

文章目录1、多态2、final参数3、finally4、1、多态2、final参数3、finallyfinally中如果有return语句 则会返回finally中的 return btry{ return a;}catch(){...}finally{ return b;}4、

2021-12-16 14:49:28 448

原创 Spring 支持的常用数据库事务传播行为和事务的隔离级别

文章目录1 事务的传播行为1.1 简介2 事务隔离级别2.1 数据库事务并发问题2.2 隔离级别总结1 事务的传播行为1.1 简介当事务方法被另一个事务方法调用时,必须指定事务应该如何传播,列如方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行,事务传播的行为有传播属性指定,Spring定义了7中类传播行为事务传播属性可以在@Transactional注解的propagation属性中定义2 事务隔离级别2.1 数据库事务并发问题​ 假设现在有两个事务:Transact

2021-12-15 16:59:02 167

原创 谷粒商城笔记

文章目录1、什么是vagrant?2、vagrant常用命令3、docker常用命令1、什么是vagrant?简单理解,就是可以通过Vagrant这个工具管理虚拟机,比如说想创建一个centos环境的虚拟机,不需要安装系统这么麻烦,通过vagrant可以快速创建2、vagrant常用命令vagrant up 启动虚拟机vagrant reload 重启虚拟机3、docker常用命令##列出本地imagesdocker images##下载Redis官方最新镜像,相当于:docker p

2021-12-13 14:21:31 854

原创 MethodInterceptor

文章目录1、Filter、HandlerInterceptor和MethodInterceptor的区别2、MethodInterceptor+自定义注解实例1、Filter、HandlerInterceptor和MethodInterceptor的区别在Web开发中,我们经常会用到拦截器。而常用用于实现拦截的有:Filter、HandlerInterceptor、MethodInterceptor。我们也简单了解一下他们的区别:1、Filter是Servlet规范规定的,不属于spring框架,也是

2021-12-13 13:18:08 1283

原创 ThreadPoolExecutor学习

一共100个线程,首先进入核心线程,其次进入队列等待核心线程释放,队列存满后会进入临时线程,临时线程也满了之后会执行拒绝策略。1、内存溢出oom队列是数据结构会存在内存中,线程是cpu创建的,影响cpu。所以核心线程数和非核心线程数大了会导致cpu使用率100%,而队列大了会导致内存溢出。所以三种线程池中会导致oom的是具有阻塞队列的newSingleThreadPool和newFixedThreadPool,而newCachedThreadPool中的SyschronousQueue只会存储一个任务.

2021-11-22 11:44:25 270

原创 Springboot运维学习笔记

文章目录1、打包2、cmd本地运行jar![在这里插入图片描述](https://img-blog.csdnimg.cn/46134ec688d84a54bdd5d8a36a2b0f84.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5p2h5bCP5ZK46bG8aQ==,size_20,color_FFFFFF,t_70,g_se,x_16)3、临时属性1、打包首先要

2021-11-21 12:43:52 616

原创 查询7日内的展示数据

文章目录1、需求2、service层3、sql1、需求2、service层 /** * 趋势图近七天数据获取 * 1.数据校验 判断仓库是否有效 * 2.自redis取数,取到数据直接返回 * 3.redis无数据,去数据库读,返回并根据key存redis * @param depotCode * @return */ public OverviewAResp overview(String depotCode) {

2021-11-17 11:01:09 755

原创 2021-11-05工作学习笔记

文章目录1、java8的stream中的map和forEach方法的区别2、 Collections.synchronizedList(list) 转线程安全的List1、java8的stream中的map和forEach方法的区别2、 Collections.synchronizedList(list) 转线程安全的List

2021-11-05 08:49:44 104

原创 20211029工作学习笔记

文章目录1、根据排序字段和方式进行排序2、采用反射方式判断某字段是否属于一个类3、判断某字段是否属于一个枚举类的方式(不用遍历)1、根据排序字段和方式进行排序![在这里插入图片描述](https://img-blog.csdnimg.cn/85d628b1fa8649bab1b1a1647b9c9455.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5p2h5bCP5ZK

2021-10-29 17:36:05 84

原创 redis学习

1、redis key值的设置new ArrayList(){{}}这个写法其实就是创建了一个ArrayList的匿名子类而已。里面的那层大括号就相当于你给类加了一个初始化的代码块,这个代码块会自动合并到类的init方法,也就是对象的构造方法里...

2021-09-29 09:30:03 245

原创 Json学习

1、Json数组[ { "post":"", "name":"张超", "phone":"010-62987632", "email":"", "qq":"", "postcode":null, "telephone":null, "fax":null, "purchaseUsers":null }, { "post":""

2021-09-28 16:48:00 94

原创 待研究问题记录

文章目录1、future和future.get()方法详解(对异常的处理、callback接口)2、feign的使用3、http请求(form表单传值、请求体传值、httpClient、求返回值的获取)4、json的处理5、对数据量大的接口的处理6、BigDecimal1、future和future.get()方法详解(对异常的处理、callback接口)2、feign的使用3、http请求(form表单传值、请求体传值、httpClient、求返回值的获取)4、json的处理5、对数据量大的接口

2021-09-17 13:39:00 111

原创 线程池学习

线程池详情参数详解@Testpublic void test4() { ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 15, 3L, TimeUnit.SECONDS, new LinkedBlockingDeque<>(), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());

2021-09-11 12:05:10 139

原创 查询优化(sql及代码)

文章目录1、建立索引2、优化sql3、java的操作要比sql快的多,连表查询效率很低1、建立索引详解一般来说,应该在这些列上创建索引,例如:第一、在经常需要搜索的列上,可以加快搜索的速度;第二、在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;第三、在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;第四、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;第五、在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引

2021-08-26 13:32:42 510

原创 Java 8 日期时间 API

Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。在旧版的 Java 中,日期时间 API 存在诸多问题,其中有:非线程安全 − java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。设计很差 − Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间,而jav

2021-08-16 13:27:06 149

原创 sql注入是什么意思以及防止sql注入?

----------------------------------------------应对方法-------------------------------------------------------------一般开发,肯定是在前台有两个输入框,一个用户名,一个密码,会在后台里,读取前台传入的这两个参数,拼成一段SQL,例如: select count(1) from tab where usesr=userinput and pass = passinput,把这段SQL连接数据后,看这个用

2021-07-26 09:34:09 764

原创 面试题整理1

文章目录1.基本类型和包装类的区别2.一个对象要存储在Set中,必须重写equals和hashCode方法的原因?1.基本类型和包装类的区别声明方式不同:基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;存储方式及位置不同:基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;初始值不同:基本类型的初始值如int为0,boolean...

2021-07-26 08:32:46 78

空空如也

空空如也

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

TA关注的人

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