- 博客(121)
- 收藏
- 关注
原创 vuex 快速入门
mapMutations和mapState很像,它把位于mutations中的方法提取了出来,我们可以将它导入。State提供唯一的公共数据源,所有共享的数据都要统一放到Store中的State中存储。打开项目中的store.js文件,在state对象中可以添加我们要共享的数据。上面代码的含义是将mutations的方法导入了methods中,等价于。作用主要是用来修改共享数据的 所有的修改共享数据都应该在这里面写。模板中: {{ $store.state.xxx }}
2024-06-06 22:11:18 588
原创 redis缓存穿透,击穿,雪崩 笔记
有人恶意攻击,发布很多不存在的查询数据,大量穿过redis,访问数据库。当热点key过期并且重建的这段时间如果耗费时间较长,就会造成缓存击穿。给不同的key的过期时间添加随机值。大量key采用了相同的过期时间。redis服务器宕机。
2024-05-18 16:57:00 245
原创 postgresql离线安装到服务器(装不上你砍我)
配置pg_ident.conf 中添加映射,将本地root账户映射为pgsql管理员账户postgres。切换到 postgres用户 因为这个数据库规定root不能使用那些命令 除非配置。# 在pg_hba.conf添加本地账户为ident。这样就能够在root中使用postgresql。# 设置postgresql服务开机自启动。修改 pg_hba.conf 文件。解压之后 进入那个解压出来的文件夹。退出用户 配置其它文件。第一行允许所有ip连接。接下来编译时间比较长。# 修改启动配置文件。
2024-05-16 21:32:12 678
原创 (java)websocket服务的两种实现方式
用java注解来监听连接@ServerEndpoint、连接成功@OnOpen、连接失败@OnClose、收到消息等状态@OnMessage。把spring中的ServerEndpointExporter对象注入进来。
2024-05-12 16:02:14 5272 2
原创 CTF 竞赛训练题
如果图像是jpg图片的话,就没法使用lsb隐写了,原因是jpg图片对像数进行了有损压缩,我们修改的信息就可能会在压缩的过程中被破坏。BMP的图片也是一样,是没有经过压缩的。png图片中的图像像数一般是由RGB三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为0x00~0xFF,即有256种颜色,一共包含了256的3次方的颜色,即16777216种颜色。它包含有PNG文件中存储的图像数据的基本信息,并要作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块。
2024-05-09 12:40:03 871
原创 类加载器和双亲委派机制体会及分析和arthas使用
再打印类加载器 可以看到 为null 这是因为启动类加载器 java程序员是无法用代码获取的。可以看到这个类 选择对应类的id后 输入classloader 可以看到里面确实有。想要被arthas识别到 需要让应用程序不退出 System.in.read();应用程序类加载器 加载的是应用使用的类,它包括了启动类加载器所加载的类。作用是开发中有时候会开发一些基础类,需要每个程序都使用到。启动类加载器,扩展类加载器,应用程序类加载器。在idea中添加jvm参数。可以看到已经加载进启动类了。
2024-04-29 21:30:46 485 2
原创 类的生命周期复盘
类的加载阶段就是 类加载器根据类的全限定名 将java文件转换为字节码文件,当把类转换为字节码文件之后,会生成个instanceKlass文件,并放在方法区中,它保存了类的所有信息,同时还会在堆中生成一个java.lang.class文件和instanceKlass所关联,原因是instanceKlass是c++写的,java不能直接调用,所以关联起来间接调用,这就是类的加载阶段。2.如果没有new B02() 直接调用静态变量,这个静态变量是在父类中声明的,所以此时a=1。所以结果是不会初始化。
2024-04-28 22:35:36 425
原创 freemarker快速入门及使用
''}表示,如果stu或bestFriend或name为空默认显示空字符串。4、文本,仅文本信息,这些不是freemarker的注释、插值、FTL指令的内容会被freemarker忽略解析,直接输出内容。在templates下创建模板文件 01-basic.ftl ,模板中的插值表达式最终会被freemarker替换成具体的数据。在resources下创建templates,此目录为freemarker的默认模板存放目录。1、注释,即<#-- -->,介于其之间的内容会被freemarker忽略。
2024-04-28 16:09:08 1142
原创 Spring Security认证流程分析
EnableWebSecurity //@EnableWebSecurity是开启SpringSecurity的默认行为@EnableGlobalMethodSecurity(prePostEnabled = true)//开启注解功能,默认禁用注解@Resource@Resource@Resource@Bean@Override@Override// 这是配置的关键,决定哪些接口开启防护,哪些接口绕过防护http//关闭csrf。
2024-04-27 15:52:05 1279 1
原创 openFeign拦截器(微服务调用feign接口会造成请求头缺失望周知)
原因:service-order微服务调用service-cart微服务的时候,是通过openFeign进行调用,openFeign在调用的时候会丢失请求头。注意:为了让feign拦截器更加通用,那么此时可以将拦截器定义到common-service模块中。1、在common-service模块中加入openFeign的依赖。针对service-cart微服务是获取不到当前登录用户的信息。由于懒得看视频 最后才发现 文档最后才给了这个解决方案。-- openfeign依赖 -->2、定义feign拦截器。
2024-04-22 21:59:43 1285
原创 第十五届蓝桥杯 javaB组第三题
思路:我想的是用map,k存第几个队列,value存每个子队列的长度,最后给value排序 第一个就最小的也就是是有效元素数量。2,当sync 的数 不存在的时候 向map中添加integer的最大值。测试通过了90% 剩下10%不知道哪错了。考试只对了个案例,其它情况没测试。回来后经过修改改了两个地方。
2024-04-15 20:14:42 444 4
原创 2024第十五届蓝桥杯JavaB组第二道填空题
然后把把每一个字符转化为数字加入到链表中,然后把链表所有元素求和,把求和的加入链表中,把首项去掉,并且把求和置为0,循环往复,可以求出。要求是求前一百万项 最大符合的值 可以随便改,思路应该是对的 链表太符合这个情况了。案例是给了197 = {1,9,7,17,33,57,......197}意思就是假如是三位数字就求三项之和 四位数就求四位之和,五位数就求五位之和。算出来是7913837。将这个数字转为字符串。
2024-04-13 20:45:46 558 6
原创 2024【Java】第十五届蓝桥杯JavaB组第一道填空题
给了前十项 问第202420242024项是多少。实际上就是求24*101210121012。直接用BigInteger 秒了。20和24的倍数交替。
2024-04-13 20:27:04 1017 6
原创 49 字母异位词分组
思路 异位词的意思是相同字母 但是组合方式不同 那么它们排序之后是相同的,所以将它们排序后作为map的key值,如果相同就用list.add 进去。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。
2024-04-09 22:14:18 187
原创 11. 盛最多水的容器
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。思路:双指针 area=(r -l)* height 如果长版向中间移动长一定会变短,高可能会变短或不变。短板向中间一段长一定会变短,高可能会不变也可能会变长。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。
2024-04-06 21:16:24 149
原创 121. 买卖股票的最佳时机
思路: 想求得最高利润,如果第一天成本比第二天低,那么可以跳过第二天,同理,求最高利润,相当于求前i天的最高利润,只需要关注前i天最低成本,然后遍历数组,用每一项去减最低成本。在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。
2024-04-06 19:52:31 232
原创 125. 验证回文串
思路双指针+Character.isLetter(判断是否是字母)+Character.isDigit(判断是否是数字)如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。"amanaplanacanalpanama" 是回文串。在移除非字母数字字符之后,s 是一个空字符串 ""。由于空字符串正着反着读都一样,所以是回文串。"raceacar" 不是回文串。字母和数字都属于字母数字字符。
2024-04-06 19:03:21 131
原创 1. 两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2024-04-06 15:43:01 211
原创 3. 无重复字符的最长子串
先从头遍历每个字符 设指针k=-1 当头指针为i=0 也就是第一个字符 此时子串为1(i-k)如果每个字符不同就放到哈希表中,字符相同就更新指针k,指向最近一次相同字符所出现的位置。思路:求不重复最长子串,采用双指针+哈希表实现。,请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。
2024-04-06 15:36:42 255
原创 15,三数之和
思路:先将数组由小到大排序,然后让从头遍历数组,再设两个左右指针,左指针为从头遍历的指针+1,右指针为数组长度-1;三数之和为0,从头遍历的指针设为i,如果nums[i]>0,就break;如果nums[i]==nums[i-1] 就continue 然后开始用双指针遍历数组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。如果sum>0 就让 r-- 跳过重复的相同数字。注意,输出的顺序和三元组的顺序并不重要。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。
2024-04-06 14:56:33 217
原创 热门一百题 leetcode 5. 最长回文子串
思路:找回文子串,从给定的字符串中,从头开始遍历每个字符,对每个字符先向左扩充,如果和当前字符相等,就再往做扩;然后再向右扩充,如果和当前字符相等就向右扩充;然后如果左右字符相等向左右同时扩充。这样就能得到最长的回文子串。
2024-04-05 21:39:47 115
原创 Spirngboot JWT快速配置和使用
JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。JWT最重要的作用就是对 token信息的防伪作用。
2024-04-04 20:36:02 831
原创 knife4j快速配置入门
description("本文档描述了后台管理系统微服务接口定义")knife4j属于service模块公共资源,因此我们集成到service-uitl模块。.description("用户token")@ApiOperation(value = "获取全部角色列表") 修饰方法。.title("后台管理系统-API文档")//只显示admin路径下的页面。@Api(tags = "角色管理") 修饰类。//添加head参数end。操作模块:service-uitl。操作模块:service-uitl。
2024-04-01 21:19:01 946
原创 阿里云发送短信配置
- 打印SQL语句 -->还需要导入mybatis-config.xml。-- 设置驼峰标识 -->-- 分页插件 -->
2024-03-28 15:51:35 934 1
原创 Spring Cache 快速入门
是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码。Spring Cache只是提供了一层抽象,底层可以切换不同的cache实现。具体就是通过接口来统一不同的缓存技术。CacheManager是Spring提供的各种缓存技术抽象接口。描述使用EhCache作为缓存技术使用Google的GuavaCache作为缓存技术使用Redis作为缓存技术。
2024-03-27 21:04:39 805
原创 【无标题】
SKU = stock keeping unit(库存量单位) SKU即库存进出计量的单位(买家购买、商家进货、供应商备货、工厂生产都是依据SKU进行的)。SPU = Standard Product Unit (标准化产品单元), SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的。以手机为例,假设有一款名为 “XPhone” 的手机品牌,它推出了一款型号为 “X10” 的手机。那么,“A衬衫” 这款衣服就是这个商品的 SPU,它包含所有属性。2、颜色:白色、黑色、灰色、蓝色。
2024-03-23 16:44:16 321
原创 使用springboot和vue3以及EasyExcel做导出数据(复用)
el-button type="success" size="small" @click="exportData">导出</el-button>responseType: 'blob' // // 这里指定响应类型为blob类型,二进制数据类型,用于表示大量的二进制数据。<el-button type="primary" size="small" >导入</el-button>// 调用 ExportCategoryData() 方法获取导出数据。// 创建 Blob 对象,用于包含二进制数据。
2024-03-22 21:38:13 559
原创 EasyExcel
EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy ExcelEasyExcel 的主要特点如下:1、高性能:EasyExcel 采用了异步导入导出的方式,并且底层使用 NIO 技术实现,使得其在导入导出大数据量时的性能非常高效。2、易于使用:EasyExcel 提供了简单易用的 API,用户可以通过少量的代码即可实现复杂的 Excel 导入导出操作。
2024-03-22 21:04:14 1115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人