野火堆
码龄5年
关注
提问 私信
  • 博客:60,348
    社区:101
    60,449
    总访问量
  • 128
    原创
  • 1,477,467
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:日本
  • 加入CSDN时间: 2019-08-05
博客简介:

li237的博客

查看详细资料
个人成就
  • 获得15次点赞
  • 内容获得21次评论
  • 获得126次收藏
创作历程
  • 101篇
    2021年
  • 27篇
    2020年
成就勋章
TA的专栏
  • 学习时间
  • 项目笔记
    1篇
  • 笔记
    18篇
  • 求助
    1篇
  • 一个小练习
    5篇
  • 注意事项
    1篇
  • 索引
    1篇
兴趣领域 设置
  • 前端
    前端框架
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

注解Restcontroller和Controller区别

显然,@RestController = @Controller + @ResponseBody@RestController 被@Controller 和@ResponseBody标注,即拥有二者的注解语义,因此在注解处理时@RestController 比@Controller多了@ResponseBody 语义,这就是@RestController 和@Controller 的区别,也是@RestController 的返回值为何都是经过转换的 json 都原因。使用场景:@Controller
原创
发布博客 2021.07.10 ·
2182 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

finally

public class Test { public static int f(int value) { try { return value * value; } finally { if (value == 2) { return 0; } } }}如果调用 f(2),返回值将是 0,因为 finally 语句的返回值覆盖了 tr
原创
发布博客 2021.06.29 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

泛型一般有三种使用方式

泛型一般有三种使用方式:泛型类、泛型接口、泛型方法。1.泛型类://此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型//在实例化泛型类时,必须指定T的具体类型public class Generic<T> { private T key; public Generic(T key) { this.key = key; } public T getKey() { return key;
原创
发布博客 2021.06.29 ·
1310 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

为什么索引可以提高查询的速度

基本存储结构是页每个数据页可以组成一个双向列表每个数据页中的记录又可以组成一个单向列表每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。(???)以其他列(非主键)作为搜索条件:只能从最小记录开始依次遍历单链表中的每条记录 所以说,如果我们写select * from user where indexname = 'xxx’这样没有进行任何优化的sql语句,默认会这样做:.
原创
发布博客 2021.06.29 ·
1379 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

索引几连问

1.为什么要使用索引唯一索引可以保证数据库每一行数据的唯一性大大加快查询的速度加快表的连接?将随机io变为顺序io?2.为什么不对表中的每一列创建索引索引需要占用物理空间对表中的数据进行修改时,索引也需要动态维护。3.索引如何提高查询的速度将无序的结构变为有序的数据(平衡二叉树)4.索引的注意事项在经常需要查询的列上面创建索引,可以加快查询速度在where子句中的列创建索引,加快判断的速度在经常需要排序的列上面创建索引,因为索已经排序避免在where字句中对字段施加
原创
发布博客 2021.06.29 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2021-06-27

package com.taotao.order.service.impl;import java.util.Date;import java.util.List;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;impo
原创
发布博客 2021.06.27 ·
76 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

创建订单模块的实现

我们创建了三个表:tb_order(订单信息表),tb_order_item(订单详情表),tb_order_shipping(订单配送表).tb_order:这里包含了订单的基本信息tb_order_item:订单详情表:订单的详情主要就是购买商品的信息,通过订单的id来实现关联tb_order_shipping:订单配送表:订单系统接口文档,一般我们开发的时候会收到已经写好的接口文档,比如创建订单的接口文档。我们可以看到该接口的url,接口的传入参数和返回值。接下来我们针对这三个来进
原创
发布博客 2021.06.27 ·
1113 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

整合RabbitMQ实现消息异步发送

大概思路1.引入mq的依赖2.在配置文件中mq服务的配置,例如服务所在的主机号、端口号。3.在RabbitmqConfig配置类中创建队列、交换机、路由以及绑定、发送消息的操作组件实例“RabbitTemplate”等Bean组件(都是一个方法)4.我们需要在通用的消息发送服务类 RabbitSenderService中写一段发送消息的方法,该方法用于接收“订单编号”参数,然后在数据库中查询其对应的详细订单记录,将该记录充当“消息”并发送至RabbitMQ的队列中,等待被监听消费:5.最后,是在通
原创
发布博客 2021.06.27 ·
1621 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

加入购物车功能怎么实现的?

1.首先在前端那边设置一个加入购物车的按钮2.点击按钮之后会通过ajax请求后台接口3.后台接口会先判断用户是否登录4.如果没登录,则提示登陆5.如果登录了,则先查出购物车,看该商品是否已经存在购物车6.如果在则数量+1,如果不在则新增进购物车。https://juejin.im/post/5b7941f8f265da43566f859b...
原创
发布博客 2021.06.27 ·
3583 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

扣库存流程

一、同步扣库存在订单生成的时候直接扣MySQL中的库存,但是也有一系列的问题:会造成有很多订单把产品库存扣除而并没有支付,这就需要有一个后台脚本,将一段时间内没有支付的订单的库存释放,把订单取消掉二、异步扣库存库存有两部分:一个缓存redis层,一个数据库mysql层当客服新增了5个库存,那么,缓存redis和数据库mysql层都需要增加5个库存,这个使用分布式事务的最终一致性来满足要么全加,要么全不加库存。当订单生成的时候,先扣除redis库存,如果扣除成功,则生成订单进行支付,支付成功
原创
发布博客 2021.06.27 ·
720 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

支付宝支付的实现

支付宝支付的实现1.去支付宝官网申请公司企业账号,签约支付功能。从而得到开发中需要用到的几个参数,①商户appid ②商户公钥、私钥 ③支付宝公钥 ④支付宝网关地址2.将支付宝的SDK集成到项目系统里3.后台使用支付宝的SDK与支付宝进行交互4.需要对外提供3个接口即可用户点击“立即购买”时调用商户后台接口,后台返回加签后的订单信息字符串在支付完成之后,支付宝异步通知商户后台订单的付款情况在支付完成之后,跳转回APP时,APP调用商户后台进行最终付款校验。...
原创
发布博客 2021.06.27 ·
665 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis内存回收算法?

LRU算法(淘汰最长时间没被使用的对象)和引用计数器算法(淘汰使用次数最少的对象)(对于创建的每一个对象都有一个与之关联的计数器,这个计数器记录着该对象被使用的次数,垃圾收集器在进行垃圾回收时,对扫描到的每一个对象判断一下计数器是否等于0,若等于0,就会释放该对象占用的内存空间)但是默认情况下,Redis随机挑选5个键,并且从中选取一个最近最久未使用的key进行淘汰...
原创
发布博客 2021.06.24 ·
634 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

try catch问题

public class Test {public static void main(String[] args) {System.out.println(test());}private static int test() {int temp = 1;try {System.out.println(temp);return ++temp;} catch (Exception e) {System.out.println(temp);return ++temp;} finally
原创
发布博客 2021.06.24 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo的架构

Container: 服务运行容器,负责加载、运行服务提供者。必须。Provider: 暴露服务的服务提供方,会向注册中心注册自己提供的服务。必须。Consumer: 调用远程服务的服务消费方,会向注册中心订阅自己所需的服务。必须。Registry: 服务注册与发现的注册中心。注册中心会返回服务提供者地址列表给消费者。非必须。Monitor: 统计服务的调用次数和调用时间的监控中心。服务消费者和提供者会定时发送统计数据到监控中心。 非必须。关于Dubbo架构的一些自测小问题服务提供者宕机后..
原创
发布博客 2021.06.24 ·
152 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

为什么要用dubbo?

Dubbo 帮助我们解决了什么问题呢?随着互联网的发展,网站的规模越来越大,用户数量越来越多。单一应用架构 、垂直应用架构无法满足我们的需求,这个时候分布式服务架构就诞生了。分布式服务架构下,系统被拆分成不同的服务比如短信服务、安全服务,每个服务独立提供系统的某个核心服务。但是!当服务越来越多之后,服务调用关系越来越复杂。当应用访问压力越来越大后,负载均衡以及服务监控的需求也迫在眉睫Dubbo 的出现让上述问题得到了解决。负载均衡 : 同一个服务部署在不同的机器时该调用那一台机器上的服务。服务
原创
发布博客 2021.06.24 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

什么是 RPC?RPC原理是什么?

什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。RPC原理是什么?客户端(服务消费端) :调用远程方法的一端。客户端 Stub(桩) : 这其实就是一代理类。代理类主要做
原创
发布博客 2021.06.24 ·
573 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

spring与springboot的区别

什么是Spring呢?它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test这些模块缩短应用程序的开发时间,提高了应用开发的效率例如,在Java Web开发的早期阶段,我们需要编写大量的代码来将记录插入到数据源中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以将这操作简化为只需配置几行代码。此外,使用AOP可以大大减少
原创
发布博客 2021.06.24 ·
239 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

spring中的总结事务

1. Spring 支持两种方式的事务管理编程式事务管理声明式事务管理(推荐使用(代码侵入性最小),实际是通过 AOP 实现(基于@Transactional 的全注解方式使用最多)。)还有很多………………
原创
发布博客 2021.07.02 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

常见的注解

1.@SpringBootApplication可知SpringBoot官网,这三个注解的作用分别是:@EnableAutoConfiguration:启用 SpringBoot 的自动配置机制@ComponentScan:扫描被@Component( @Service, @Controller)注解的bean,注解默认会扫描该类是包下所有的类。@Configuration:允许在 Spring 上下文中注册额外的 bean 或导入其他配置类2.@Component, @Repository,
原创
发布博客 2021.06.23 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringMVC 工作原理了解吗?

流程说明(重要):客户端(浏览器)发送请求,直接请求到 DispatcherServlet。DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。解析到对应的Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。HandlerAdapter 会根据 Handler 来调用真正的处理器来处理请求,并处理相应的业务逻辑。处理器处理完业务后,会返回一个 ModelAndVi.
原创
发布博客 2021.06.23 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多