- 博客(151)
- 资源 (5)
- 收藏
- 关注
原创 【Java Web】Kafka,构建TB级异步消息系统
,因为卡夫卡将数据存在硬盘此类的介质里,而硬盘比内存的价格低廉,所以它可以。replication-factor:指定副本数量。如果想要加入新服务器,只需简单的配置,因此具有。partitions:指定分区。-卡夫卡能处理海量数据(卡夫卡的分布式保证了。【3】创建Topic。【4】查看Topic。【5】删除Topic。
2023-09-10 09:51:13
808
原创 【Java Web】用Redis优化登陆模块
各个逻辑验证通过后,将生成一个用户凭证(UUID生成),存到Redis中,并设置生存周期。在后续需要验证登陆逻辑时,从Redis中get即可。
2023-09-09 20:25:10
514
原创 【Java Web】开发关注、取关功能
需求开发关注、取消关注功能;统计用户的关注数、粉丝数;关键若A关注了B,则A是B的粉丝follower,B是A的关注目标followee ;关注的目标可以是用户、帖子、题目等,在实现时这些目标抽象为实体。1. RedisKeyUtil用于生成相关的keypackage com.nowcoder.community.util;public class RedisKeyUtil { private static final String SPLIT = ":";
2023-09-08 10:02:53
562
原创 【Java Web】实现帖子点赞功能——基于Redis
如果没点过赞,就add到redis;import com// 已经点过赞 redisTemplate . opsForSet() . remove(entityLikeKey , userId);} else {// 没点过赞 redisTemplate . opsForSet() . add(entityLikeKey , userId);1 : 0;} }
2023-09-07 14:42:12
1038
原创 【Java Web】利用Spring整合Redis,配置RedisTemplate
【代码】【Java Web】利用Spring整合Redis,配置RedisTemplate。
2023-09-06 22:53:46
704
原创 【Java Web】统一记录日志
如果不理解面向切面编程,可以重点读被标记的文字。在传统的面向对象编程中,我们将功能模块封装在类中,然后通过创建对象调用类中的方法来实现功能。然而,有些功能并不属于某个具体的类,它们涉及到多个类的共同关注点,比如日志记录、事务管理、权限控制等。如果将这些横切关注点直接嵌入到各个类的业务逻辑中,会导致代码重复、难以维护和扩展。AOP通过将这些横切关注点从业务逻辑中抽离出来,形成一个独立的模块,称为切面(Aspect)。切面包含了需要横切的逻辑,比如日志记录、事务管理等。在AOP编程中,我们定义。
2023-09-05 22:32:41
129
原创 【Java Web】实现发送和删除私信
数据访问层:发送私信:在数据库中增加一条message;删除私信:在数据库中删除一条message;业务逻辑层:发送私信:调用增加message的sql删除私信:调用删除message的sql表现层实现controller前端页面和js一、数据访问层1.1 Message类见上几篇1.2 message-mapper.xml新增insert语句和delete语句:<?xml version="1.0" encoding="UTF-8" ?>&l
2023-09-05 15:13:10
353
原创 【java web】论坛实现帖子回复(仿牛客网),帮助大家理清逻辑
从common数据库中选出某帖子的评论(entity_type=1)或回复(entity_type=2);:从common数据库中计算某帖子评论数或某帖子的回复数;
2023-09-02 17:03:09
750
1
原创 【数据库】事务(概念和特点)
然而,如果在执行过程中出现了错误,比如步骤 3 遇到了问题,无法向账户B添加金额,那么事务将会回滚(Rollback),取消之前的步骤,账户A的金额也不会被扣除。如果在整个过程中没有出现错误,即成功执行了步骤 2 和步骤 3,并且事务成功提交,那么账户A和账户B的余额将会根据转账操作进行更新,保持总额不变。假设有一个银行系统,其中有两个账户:账户A和账户B。现在有一个转账操作需要将一定金额从账户A转移到账户B。事务是在数据库中执行的一系列操作单元,这些操作要么全部成功提交,要么全部失败回滚。
2023-08-31 22:57:12
780
原创 【Java Web】检查用户登录状态,防止用户访问到非法页面
Retention;Target;import com// 拦截到类型为方法 HandlerMethod handlerMethod =(HandlerMethod) handler;// 获取方法 LoginRequired loginRequired = method . getAnnotation(LoginRequired . class);
2023-08-30 14:35:56
380
原创 【Java Web】用拦截器的方式获取用户信息
import com// 从cookie中获取凭证 String ticket = CookieUtil . getValue(request , "ticket");if(ticket!= null) {// 已经登陆 LoginTicket loginTicket = userService . findLoginTicket(ticket);// 检查ticket是否有效 if(loginTicket!
2023-08-29 21:25:17
700
原创 【Java Web】发送邮件 Spring Mail+Thymeleaf
方法发送html类型邮件。如果没有收到邮件,一般可以在垃圾箱中找到。生成授权码,然后看一下发送邮件服务器及端口。在测试类中注入模板引擎,使用。
2023-08-24 22:24:03
720
原创 【Java】常用工具——字符串
在Java中,String是不可变的,也就是说,一旦创建了一个String对象,它的值就不能被修改。这意味着对String对象进行拼接、替换或者其他操作时,实际上是创建了一个新的String对象,原始的String对象保持不变。
2023-08-17 19:17:06
147
原创 【java】常用工具——包装类
整形byte, int, short,long。浮点型float,double。接口interface。布尔型boolean。
2023-08-17 17:10:00
137
原创 【leetcode】459. 重复的子字符串(easy)
解释: 可由子串 “abc” 重复四次构成。(或子串 "abcabc"重复两次构成。给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。输入: s = “abcabcabcabc”解释: 可由子串 “ab” 重复两次构成。输入: s = “abab”输入: s = “aba”
2023-08-12 11:27:03
277
原创 【leetcode】28. 找出字符串中第一个匹配项的下标(easy)
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。解释:“sad” 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。输入:haystack = “leetcode”, needle = “leeto”输入:haystack = “sadbutsad”, needle = “sad”解释:“leeto” 没有在"leetcode" 中出现,所以返回 -1。
2023-08-12 00:20:35
279
原创 【leetcode】剑指 Offer 58 - II. 左旋转字符串(easy)
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
2023-08-12 00:05:48
80
原创 【leetcode】151. 反转字符串中的单词(medium)
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。给你一个字符串 s ,请你反转字符串中 单词 的顺序。
2023-08-11 23:59:33
348
原创 【leetcode】剑指 Offer 05. 替换空格(easy)
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”输出:“We%20are%20happy.”
2023-08-11 23:41:23
91
原创 【leetcode】344. 反转字符串(easy)
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,
2023-08-11 23:32:05
382
原创 【leetcode】18. 四数之和(medium)
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。,使用双指针可以降至。
2023-08-11 23:23:20
356
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人