自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Caused by: java.io.FileNotFoundException: class path resource..can not find

2、检查target/classes目录下是否存在相应的class文件;1、根据提示信息检查下文件的包名,路径是否一致;出现这种问题,大部分是因为路径名出错了;

2023-03-03 10:50:17 6085 2

原创 【图胜千言】第一篇 优雅的终止线程的方法

《【图胜千言】第一篇 优雅的终止线程的方法》 致力于以流程图的方式 简洁的介绍一些入门知识

2023-03-02 17:05:43 237

原创 链表的回环问题 Found cycle in the ListNode

​ 于是开始推演了下原来的思路,经过调试后发现,因为链表不同于数组,我们的引用实际指向的是内存中的地址,出现环的问题是因为链表的结点相同。leetcode连接:https://leetcode.cn/problems/partition-list/⭐:总的来说,链表和数组是不同的,不能把链表的节点当做单独来处理,应该时刻注意引用指向的是内存地址。出现环其实并不是个错误,真正错误的在于输出的时候会因为循环导致 OOM 的错误。

2022-12-30 15:46:35 898

原创 1.3 消息队列(7-8)

消息队列 7-8

2022-08-11 10:46:31 397

原创 1.2 消息队列(4-6)

消息队列学习笔记

2022-08-09 14:35:20 608

原创 1.1 消息队列基础篇(1-3)

消息队列学习笔记

2022-08-05 16:52:25 497

原创 《剑指offer》刷题笔记

7/12力扣链接:https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/思路:​ 开始感觉比较简单就直接上手写了,结果发现越写越乱,一会在想如何处理返回结果,一会发现移动的顺序开始乱了。看了题解发现,还是使用双指针和虚拟头结点比较好。题解链接:https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/solution/mian-shi-

2022-07-12 14:47:25 185

原创 DataSource杂记

有关于DataSource的杂记

2022-07-08 11:28:49 1849

原创 Sql面试50题 详解 持续更新

学习整理sql面试50题

2022-05-25 09:55:10 7256

原创 Maven核心概念学习笔记

Maven核心概念学习笔记

2022-05-09 21:16:18 590

原创 算法刷题--数组专项

刷题笔记–数组专项2022/4/25一、二分查找leetcode链接: https://leetcode-cn.com/problems/binary-search/使用二分法的前提条件:数组为有序数组;数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的;二分查找涉及很多的边界条件,首先要确定边界条件。区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。写二分法,

2022-05-05 21:43:57 432

原创 MyBatis基础学习笔记

Mybatis基础学习笔记

2022-04-25 19:40:23 317

原创 1.6聚合函数

聚合函数简介:什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值。聚合函数类型AVG()SUM()MAX()MIN()COUNT()注:聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。AVG和SUM函数可以对数值型数据使用AVG 和 SUM 函数。SELECT AVG(salary), MAX(salary),MIN(salary), SUM(salary) FROM employees WHERE job_id LIKE '

2022-04-20 20:45:41 532

原创 1.2基本的SELECT语句

基本的SELECT语句前言:此文章根据尚硅谷Mysql做的学习笔记,仅供学习和参考。SQL 分类DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。​ 主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。​

2022-04-14 22:02:42 272

原创 ArrayList 解析

ArrayList 解析ArrayList实现了List接口,元素存放的数据与放进去的顺序相同,允许放入null元素;底层采用数组实现ArrayList的两个属性transient 关键字修饰的变量 不会 被序列化为字节流;ArrayList的容量是动态变化的,因此将elementData定义为transient,避免了Java自带的序列化机制并定义了两个方法,实现了自己可控制的序列化操作。ArrayList自己实现了writeObject() 方法和readObject,序列化的对象的个数跟数

2022-03-26 20:45:49 109

原创 Redis的持久化 AOF和RDB

Redis的持久化前言:此文章是学习Redis 核心技术与实战时做的学习笔记,仅供学习和参考。Redis如何避免数据丢失?Redis用作缓存时,数据存储在内存中。一旦服务器宕机,内存中的数据就会全部丢失。一个解决方案是从数据库中恢复数据,但是存在两个问题:1、数据库中的数据是存储在硬盘中的,存取速度相对于内存来说太慢,大大影响了Redis的性能;2、频繁读取数据会给数据库增加压力;因此Redis拥有自己的持久化机制,即 AOF(Append Only File)日志和 RDB 快照。AOF日志

2022-03-18 13:15:30 2981 1

原创 Redis 五种数据类型的数据结构

Redis 五种数据类型的数据结构Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。对应的底层数据结构一共有 6 种,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。String 类型的底层实现只有一种数据结构,也就是简单动态字符串。而 List、Hash、Set 和 Sorted Set 这四种数据类型,都有两种底层实现结构。通常情况下,我们会把这四种类型称为集

2022-03-16 17:21:24 1396

原创 直接内存 直接内存的释放和回收

直接内存特点不属于Java虚拟机管理,属于系统内存;属于操作系统,常见于NIO操作时,比如ByteBuffer【】用于数据缓冲区分配回收成本较高,但读写性能高;不受JVM内存回收管理文件读写过程java不具备磁盘读写的能力,因此需要调用操作系统提供的方法;java函数->本地方法,用户态->内核态弊端:需要在系统内存和java堆内存都复制一份磁盘文件,浪费空间也降低传输效率。直接内存是在系统内存和Java堆内存之间开辟出的一块共享区域,可以供操作系统和java代码访问。

2022-03-15 10:42:44 2753 3

原创 1.4 JVM堆内存

JVM堆内存堆内存的特点Java堆(Java Heap)是java虚拟机所管理的内存中最大的一块;java堆被所有线程共享的一块内存区域;虚拟机启动时创建java堆;java堆的唯一目的就是存放对象实例;java堆是垃圾收集器管理的主要区域。从内存回收的角度来看, 由于现在收集器基本都采用分代收集算法, 所以Java堆可以细分为:新生代(Young)和老年代(Old)。 新生代又被划分为三个区域Eden、From Survivor, To Survivor等。无论怎么划分,最终存储的都是实例

2022-03-14 10:53:56 101

转载 1.3 JVM的栈内存

JVM的栈内存​ 每当启动一个新线程时,Java虚拟机都会为它分配一个Java栈。Java栈以帧为单位保存线程的运行状态(栈帧)。​ 虚拟机只会直接对Java栈执行两种操作:以帧为单位的压栈和出栈。某个线程正在执行的方法被称为该线程的当前方法,当前方法使用的栈帧称为当前帧,当前方法所属的类称为当前类,当前类的常量池称为当前常量池。在线程执行一个方法时,它会跟踪当前类和当前常量池。此外,当虚拟机遇到栈内操作指令时,它对当前帧内数据执行操作。每当线程调用一个Java方法时,虚拟机都会在该线程的Jav

2022-03-13 21:02:51 658

原创 1.2 Native关键字 程序计数器 方法区

Native关键字用Native关键字修饰的方法其实就是一个java调用非java代码的接口,这个接口的具体实现需要调用本地方法库。比如常见的Thread线程类在 Start()方法中调用了start0()方法,而start0()被native修饰,是一个本地方法接口,底层调用的是C++;native关键字修饰的方法其实就是一个java调用非java代码的接口,比如调用底层c++,c去实现跟硬件相关的操作;native修饰的方法会进入本地方法栈,由本地方法栈去调用本地方法接口,本地方法接口再去调

2022-03-13 20:30:48 2375

原创 类加载器和双亲委派机制

类加载器和双亲委派机制JVM中提供了三层的ClassLoader:Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。ExtClassLoader:扩展类加载器 主要负责加载jre/lib/ext目录下的一些扩展的jar。AppClassLoader:主要负责加载应用程序的主函数类类加载器​ 编译后的字节码文件首先由类加载器对其进行初始化,加载生成Class模板,使用new

2022-03-13 15:20:50 569

原创 7.4 Redis高级数据类型

Redis高级数据类型HyperLogLog采用一种基数算法,用于完成独立总数的统计。占据空间小,无论统计多少个数据,只占12K的内存空间不精确的统计算法,标准误差为 0.81% 。统计数据编写测试方法,测试20万个重复数据去重之后的个数;测试结果为95553 存在一点误差可以接受@Testpublic void TestHyperLogLog(){ String redisKey="Test:hll:001"; //循环100000次 for (int i

2022-03-13 09:14:13 181 1

原创 7.3 使用Security实现权限控制置顶、加精、删除

使用SpringSecurity实现权限控制,管理帖子的置顶、删除、加精

2022-03-12 17:18:58 2443

原创 7.2 使用Security进行权限控制和防止 CSRF

Securit进行安全控制和防止CSRF

2022-03-12 10:15:25 4558

原创 7.1 Spring Security入门和简单案例

Spring Security• 简介 Security是一个专注于为Java应用程序提供 **身份认证**和**授权**的框架,它的强大之处在于它可以 轻松扩展以满足自定义的需求。• 特征对身份的 认证 和 授权 提供全面的、可扩展的支持。防止各种攻击,如会话固定攻击、点击劫持、csrf攻击等。支持与Servlet API、Spring官网:https://spring.io/projects/spring-security中文学习网址:http://www.spring4all.c

2022-03-11 18:07:26 372

原创 6.1 Elasticsearch快速入门+中文检索安装+POSTMAN简单使用

Elasticsearch入门Elasticsearch简介一个分布式的、Restful风格的搜索引擎。支持对各种类型的数据的检索。搜索速度快,可以提供实时的搜索服务。便于水平扩展,每秒可以处理PB级海量数据。• Elasticsearch术语索引:相当于数据库中的数据库类型:一开始相当于数据库表格,6.0版本之后被弃用;文档:存储在Elasticsearch中的一个JSON格式的字符串。它就像在关系数据库中表的一行。字段:相当于关系数据库中表的列,每个字段都对应一个字段类型。集

2022-03-10 20:50:16 2008

原创 5.3 显示系统通知

文章目录显示系统通知编写Mapper实现查询通知的方法编写Mapper对应的xml实现sql语句编写MessageService实现Mapper的方法编写MessageController接受查询系统通知的请求修改页面开发通知详情编写MessageController接受查询通知详情的请求修改页面修改导航栏的消息数量,使用拦截器显示系统通知编写Mapper实现查询通知的方法每次页面显示最新的通知,并且显示每个主题所包含的通知数量和未读通知在MessageMapper增加查询某个主题下最新的通

2022-03-08 12:27:41 599

原创 5.2 使用Kafka 发送系统通知

发送系统通知封装事件 当事件被触发时,发送相关的数据set方法返回值设置为事件本身 方便实现连续调用event.set().setpublic class Event { private String topic; //事件的主题 private int userId; //发送人 private int entityType; //事件对象的类型 比如帖子的类型 private int entityId; //帖子的id p

2022-03-07 22:15:23 2087

原创 5.1 Kafka入门和Spring整合

使用Kafka来处理消息队列和Spring的整合

2022-03-07 12:24:04 1873

原创 4.4 使用Redis优化登录模块

使用Redis优化登录模块 把访问频率比较高,会影响效率的功能使用Redis进行优化

2022-03-06 21:43:08 991

原创 4.3 关注、取消关注和关注、粉丝列表

使用Redis实现关注、取消关注等功能

2022-03-06 19:44:36 2024

原创 4.2 点赞和我收到的赞

点赞编写返回点赞key的工具某个实体的赞,需要传入实体的类型,实体idpublic class RedisKeyUtill { private static final String SPILT=":"; private static final String PREFIX_ENTITY_LIKE="like:entity"; // 某个实体的赞 // like:entity:entityType:entityId -> set(userId) publ

2022-03-04 16:13:34 459

原创 4.1 Redis快速入门和Spring整合Redis

Redis快速入门和SpringBoot的整合

2022-03-03 18:53:01 615

原创 3.6 统一处理异常和使用AOP思想统一记录日志

统一记录日志和使用AOP切面思想统一记录日志

2022-03-02 16:37:59 520

原创 3.5 私信列表和发送私信

文章目录1、创建message表对应的实体类2、编写Message数据层方法3、编写Mapper对应xml文件4、编写MessageService5、编写MessageController6、修改页面发送私信增加新增消息和修改消息状态的方法修改js页面把未读的私信设置为已读# 私信列表小id放前1、创建message表对应的实体类public class Message { private int id; private int fromId; //发送者id

2022-03-01 21:29:20 906

原创 3.4 显示评论 增加评论

文章目录显示评论创建帖子对应的实体类编写对应的Mapper编写Mapper对应的xml实现方法编写Service实现Mapper的业务在查询帖子的Controller里增加显示评论的方法(重点)修改相应的页面添加评论业务层表现层修改页面显示评论创建帖子对应的实体类entityType 表示不同的对象 可能回复的是帖子 ,用户 用int代表不同的类型public class Comment { private int id; private int userId; p

2022-03-01 11:38:53 572

原创 3.2 AJAX发布帖子 显示帖子详情

文章目录AJAX发布帖子 显示帖子详情1、引入fastjson包2、编写方法获取JSON字符串增加插入帖子的方法编写DiscussPostMapper编写DiscussPostService编写DiscussPostController处理js显示帖子详情增加通过id查询帖子的方法在帖子标题上增加访问详情页面的链接处理discuss-detail页面AJAX发布帖子 显示帖子详情1、引入fastjson包<!-- https://mvnrepository.com/artifact/c

2022-03-01 09:54:14 842

原创 3.3 事务管理和Spring事务管理简介

事务的简介,事务的隔离性,常见异常 以及Spirng管理事务的简介

2022-02-28 19:23:39 239

原创 3.1 使用前缀树过滤敏感词

文章目录使用前缀树过滤敏感词前缀树简介1、导入敏感词 可以存放到数据库 也可以放到文件里2、定义前缀树 使用内部类3、根据敏感词初始化前缀树将一个敏感词添加到前缀树4、编写过滤敏感词的方法5、测试使用前缀树过滤敏感词前缀树简介​ 前缀树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符

2022-02-27 11:30:34 905

空空如也

空空如也

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

TA关注的人

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