![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
公司学习
文章平均质量分 54
一条小咸鱼i
道阻且长,行则将至 行而不辍,未来可期
展开
-
死信队列与延迟队列
【代码】死信队列与延迟队列。原创 2023-03-08 23:36:55 · 158 阅读 · 0 评论 -
jwt token学习
代码中的使用,最后返回含有token的map给前端。Binary 二进制的。原创 2022-12-02 17:37:02 · 161 阅读 · 0 评论 -
Cookie + Session登录-Token登录-SSO 单点登录-OAuth 第三方登录
这种方式可以节省传输时占用的连接资源,但同时也存在一个问题:每次请求都是独立的,服务器端无法判断本次请求和上一次请求是否来自同一个用户,进而也就无法判断用户的登录状态。单点登录指的是在公司内部搭建一个公共的认证中心,公司下的所有产品的登录都可以在认证中心里完成,一个产品在认证中心登录后,再去访问另一个产品,可以不用再次登录,即可获取登录状态。在上文中,我们使用单点登录完成了多产品的登录态共享,但都是建立在一套统一的认证中心下,对于一些小型企业,未免太麻烦,有没有一种登录能够做到开箱即用?原创 2022-12-02 15:03:38 · 829 阅读 · 0 评论 -
session和cookie的区别
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。原创 2022-12-02 11:21:35 · 882 阅读 · 0 评论 -
RestTemplate使用
restTemplate使用原创 2022-06-20 13:58:37 · 839 阅读 · 0 评论 -
mysql学习
最好是按照以下顺序优化:1、SQL 语句及索引的优化2、数据库表结构的优化3、系统配置的优化4、硬件的优化详情B+树,经过优化的 B+树主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建议为大部分表使用默认自增的主键作为主索引。B+树,经过优化的 B+树主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建议为大部分表使用默认自增的主键作为主索引。详解在最频繁使用的、用以缩小查询范围的字段上建立索引。在频繁使用的、需要排序的字段上建立原创 2022-06-09 18:51:00 · 477 阅读 · 0 评论 -
关于变量是否线程安全的问题
原创 2022-05-31 18:50:07 · 101 阅读 · 0 评论 -
常用快捷键
- 回到上级目录:cd .. 【..是一个路径,代表当前路径的上级路径】 cd ../../../ - 直接回到根路径:cd \浏览器新开窗口 ctrl+t* win + r 打开运行窗口* win + d 显示桌面* win + e 打开资源管理器* win + L 锁屏* alt + tab 应用之间的切换* shift + tab 取消缩进...原创 2022-05-26 16:40:21 · 133 阅读 · 0 评论 -
公司学习笔记
文章目录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 · 180 阅读 · 0 评论 -
使用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 · 3913 阅读 · 0 评论 -
运行时异常和非运行时异常
文章目录1、运行时异常2、非运行时异常1、运行时异常(1)运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。当出现RuntimeException的时候,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointe原创 2022-01-10 10:44:06 · 7678 阅读 · 2 评论 -
SpringBoot使用事物
关于事物的基本概念等这里就不介绍了。 Spring声明式事物的实现,有两种方式;第一种是配置xml,第二种是使用相关注解(这两种方式可详见《程序员成长笔记(一)》的相关章节)。SpringBoot中默认配置了第二种方式,所以,SpringBoot直接使用注解即可。下面介绍SpringBoot通过注解开启事物的使用。 SpringBoot使...原创 2021-12-23 14:24:10 · 623 阅读 · 0 评论 -
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 · 565 阅读 · 0 评论 -
八股文学习笔记
文章目录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 · 464 阅读 · 0 评论 -
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 · 170 阅读 · 0 评论 -
谷粒商城笔记
文章目录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 · 875 阅读 · 0 评论 -
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 · 1361 阅读 · 0 评论 -
ThreadPoolExecutor学习
一共100个线程,首先进入核心线程,其次进入队列等待核心线程释放,队列存满后会进入临时线程,临时线程也满了之后会执行拒绝策略。1、内存溢出oom队列是数据结构会存在内存中,线程是cpu创建的,影响cpu。所以核心线程数和非核心线程数大了会导致cpu使用率100%,而队列大了会导致内存溢出。所以三种线程池中会导致oom的是具有阻塞队列的newSingleThreadPool和newFixedThreadPool,而newCachedThreadPool中的SyschronousQueue只会存储一个任务.原创 2021-11-22 11:44:25 · 279 阅读 · 0 评论 -
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 · 629 阅读 · 0 评论 -
查询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 · 760 阅读 · 0 评论 -
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 · 108 阅读 · 0 评论 -
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 · 85 阅读 · 0 评论 -
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 · 101 阅读 · 0 评论 -
待研究问题记录
文章目录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 · 115 阅读 · 0 评论 -
线程池学习
线程池详情参数详解@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 · 142 阅读 · 0 评论 -
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 · 151 阅读 · 0 评论 -
sql注入是什么意思以及防止sql注入?
----------------------------------------------应对方法-------------------------------------------------------------一般开发,肯定是在前台有两个输入框,一个用户名,一个密码,会在后台里,读取前台传入的这两个参数,拼成一段SQL,例如: select count(1) from tab where usesr=userinput and pass = passinput,把这段SQL连接数据后,看这个用原创 2021-07-26 09:34:09 · 803 阅读 · 0 评论 -
[Example构造方法增加notNull参数,默认false,允许值为null,值为null的时候不加入到条件中
Example构造方法增加notNull参数,默认false,允许值为null,值为null的时候不加入到条件中。原创 2021-07-25 17:25:00 · 406 阅读 · 0 评论 -
公司代码学习笔记
文章目录String.formatFile.separatorString.formatreturn String.format("https://%s", "www.baidu.com");此处的%s 相当于占位符返回结果为 ”https://www.baidu.com“File.separatorFile.separator 的作用相当于 ' \ '原创 2021-07-25 17:20:48 · 131 阅读 · 0 评论 -
mybatis 及 mysql 部分操作(模糊查询,批量插入)
<select id="list" parameterType="com.SysDictTypeAReq" resultType="com.SysDictTypeAResp"> select t.id as id, t.create_time as createTime, t.delete_time as deleteTime, t.mark as mark, .原创 2021-07-24 16:25:09 · 1923 阅读 · 3 评论 -
公司封装方式导出excel过程
文章目录1、IPrinterInfoServiceRemote层2、PrinterInfoServiceRemoteImpl层3、PrinterInfoService层4、PrinterInfoDao层5、IPrinterInfoMapper层6、mapper.xml层7、pojo层1、IPrinterInfoServiceRemote层@ApiOperation(value = "个人测试-导出打印机信息excel")@PostMapping("/export")ResponseData<P原创 2021-07-25 16:11:52 · 120 阅读 · 0 评论 -
lombok 下的@Builder和@EqualsAndHashCode(callSuper = true)注解
pom依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>0.10.2</version> </dependency>java~lombok里的Builder注解lombok注解在java进行编原创 2021-07-25 13:30:48 · 266 阅读 · 0 评论 -
java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的
1、entity 里的每一个字段,与数据库相对应,2、vo 里的每一个字段,是和你前台 html 页面相对应,3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。举个例子:你的html页面上有三个字段,name,pass,age你的数据库表里,有两个字段,name,pass , 注意没有 age。而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。private string name;private strin原创 2021-07-25 09:07:48 · 950 阅读 · 1 评论 -
java项目中VO和DTO以及Entity,各自是在什么情况下应用的
按照标准来说:1、ENTITY里的每一个字段,与数据库相对应,2,DTO里的每一个字段,是和你前台页面相对应,3,VO,这是用来转换从实体到DTO,或者从DTO到实体的中间的东西。举个例子:你的HTML页面上有三个字段,名称,传球,年龄你的数据库表里,有两个字段,姓名,通(注意没有年龄哦),而你的DTO里,就应该有下面三个(因为对应的HTML页面上三个字段嘛)私人字符串名称;私人串传;私人字符串年龄;这个时候,你的实体里,就应该有两个(因为对应数据库表中的2个字段嘛)私人字符串名称原创 2021-07-25 09:05:46 · 576 阅读 · 0 评论 -
算法题-有效的括号
题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true原创 2021-07-24 10:24:11 · 92 阅读 · 0 评论 -
GROUP_CONCAT分组数据拼接
详解原创 2021-07-21 10:06:18 · 235 阅读 · 0 评论 -
gulp步骤
(1)全局安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org (2)全局安装gulp-cli cnpm install -g gulp-cli (3)安装插件 cnpm install (4)编译 gulp原创 2020-11-22 10:54:52 · 133 阅读 · 0 评论