自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java刷题常用语法总结

输入输出Scanner in = new Scann(system.in);int n = in.nextInt();//读取单个字符;String s = in.nextLine();//读取整行输入类型转换Integer.valueOf();Integer.parseInt();List<Integer> list = new ArrayList<>();list.toArray(new Integer[list.sizes()]ArrayList方法L

2021-10-10 09:56:50 143

原创 自己实现的轻量化RPC框架

源码:https://github.com/codermokeywang/rpc简介参考https://www.imooc.com/video/21092课程实现的轻量化框架rpc核心原理,相关技术介绍RPC:Remote Procedure Call,即远程过程调用。是分布式系统常见的一种通信方法,从跨进程与跨物理机已经有几十年历史。跨进程交互形式:RESTful、WebService、HTTP,基于DB做数据交换、基于MQ做数据交换、以及RPC。交互形式分为以下两种。依赖中间件做数据交互

2021-09-10 23:06:43 234

原创 解决数据库超售方案

在秒杀系统中如何解决超售问题?1.把mysql事务的隔离级别设置成串行(Serializable)可以需要修改my.cnf配置文件,则可通过如下参数配置mysql的事务隔离级别,注意,不是使用tx_isolation,而是使用transaction_isolationtransaction_isolation=Serializable但这样的方法会让原来没有冲突的事务也得串行执行,不可取。2.修改库存的时候对记录加锁(悲观锁)可能会发生死锁现象3.使用乐观锁机制使用乐观锁机制,可以解决超售现

2021-06-24 15:08:52 407

原创 HR面试

HR提问的分类个人情况类的问题个人能力类的问题工作经历类的问题进攻性的问题闲聊式问题结束性问题个人情况类的问题个人能力类的问题(一)进攻性提问闲聊式提问结束性提问...

2021-05-08 09:51:45 74

原创 利用github发布简历

Github Pages 是Github的静态页面托管服务,它设计的初衷是为了用户能够直接通过Github仓库来托管用户个人,组织或者项目的专属页面初始化Git目录创建并且进入一个文件,然后执行下面的命令:git initgit config --global user.name "你的用户名"git config --global user.email "你的邮箱地址"下载简历模板模板地址在自己的github上创建resume仓库echo "# resume" >> RE

2021-05-05 23:45:25 378

原创 刷题日记(4-27):层序遍历创建二叉树

题目描述:输入[3,null,15,7,2,null,8,9],要求创建出如下二叉树:import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Scanner;//二叉树定义class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {}

2021-04-27 15:58:02 391

原创 刷题日记:回溯算法

回溯问题,实际上就是决策树的遍历过程。有三个关键问题:1.路径:也就是已经做出的选择。2.选择列表:也就是你当前可以做的选择。3.结束条件:也就是到达决策树底层,无法在做出选择的条件。框架result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 全排列问题给定一个 没有重复 数字的序列,返回其

2021-04-26 22:05:50 82

原创 秒杀系统(七):课程总结

项目框架搭建1.spring Boot环境搭建2.集成Thymeleaf,Result结果封装3.集成Mybatis+Druid4.集成Jedis+Redis安装+通用缓存Key封装登录功能1.数据库设计2.明文密码两次MD5处理3.JSR303参数校验+全局异常处理器4.分布式Session实现秒杀功能1.数据库设计2.商品列表页3.商品详情页4.订单详情页JMeter压测页面优化技术1.页面缓存+URL缓存+对象缓存2.页面静态化,前后端分离3.静态资源优化4.C

2021-04-25 10:08:16 104

原创 秒杀系统(六):安全优化

1.秒杀接口地址隐藏2.数学公式验证3.接口限流防刷秒杀接口地址隐藏思路:秒杀开始之前,先去请求接口获取秒杀地址1.接口改造,带上PathVariable参数2.添加生成地址的接口3.秒杀收到请求,先验证PathVariable接口改造现在将秒杀按钮的功能变成先获取秒杀地址 <td> <!-- <form id="miaoshaForm" method="post" action="/miaosha/do_mia

2021-04-25 09:15:48 236

原创 秒杀系统(五):接口优化

方法1.Redis预减库存减少数据库访问2.内存标记减少Redis访问3.请求先入队缓冲,异步下单,增强用户体验。4.nginx水平扩展减少数据库访问的思路1.系统初始化,把商品库存数量加载到Redis2.收到请求,Redis预减库存,库存不足,直接返回,否则进入33.请求入队,立即返回排队中4.请求出队,生出订单,减少库存5.客户端轮询,是否秒杀成功系统初始化public class MiaoshaController implements InitializingBean {

2021-04-23 16:24:06 165

原创 秒杀系统的一些问题

如何解决买超和一个用户重复秒杀利用数据库来结解决,在sql加上判断语句,防止库存量为复数 @Update("update miaosha_goods set stock_count = stock_count - 1 where goods_id = #{goodsId} and stock_count > 0") public int reduceStock(MiaoshaGoods g);数据库加唯一索引防止用户重复购买唯一索引不允许具有索引值相同的行,从而禁止重复的索引或键值。系统在

2021-04-22 23:38:10 124

原创 秒杀系统(四):页面优化技术

页面优化技术1.页面缓存+URL缓存+对象缓存2.页面静态化,前后端分类3.静态资源优化4.CDN优化页面缓存+URL缓存+对象缓存并发的瓶颈在数据库,如何减少对数据库的访问呢?最有效的方式就是加缓存,通过加不同粒度的缓存,最大粒度的页面缓存,最小粒度的对象缓。页面缓存1.取缓存2.手动渲染模板3.结果输出/** * 页面缓存:所有的客户端请求过来返回的都是同一个页面,例如用户访问淘宝,返回的首页都是同一个页面 * produces="text/html" 直接返回html的源代

2021-04-22 22:49:54 169

原创 秒杀系统(三):jrs303参数校验

JSR-303简介JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator。此实现与 Hibernate ORM 没有任何关系。 JSR 303 用于对 Java Bean 中的字段的值进行验证。Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。注:可以使用注解的方式进行验证maven依赖<dependency> <grou

2021-04-21 23:25:20 1045

原创 秒杀系统(二):两次MD5加密

秒杀系统(二):两次MD5加密md5是什么MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。两次MD51.用户端:pass = MD5(明文密码+固定Salt)2.服务端:pass = MD5 (前端传来的加密后的密码+随机Salt)为什么要与salt混合第一次 (在前端加密,客户端):密码加密是(明文密码+固定盐值)生成md5用于

2021-04-21 19:23:59 990

原创 秒杀系统(一):项目介绍

秒杀系统(一):项目介绍目的掌握秒杀的核心技术,应对高并发情况。 ps: 本文章基础思路来自于若鱼1919老师!大家可以关注老师的课和博客很不错,老师很nice! 谢谢大家 !课程地址:https://coding.imooc.com/class/168.html技术点框架介绍...

2021-04-21 10:52:33 591

空空如也

空空如也

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

TA关注的人

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