懵懂的菜鸟

Stay hungry,Stay foolish.

导航

2018年5月2日 #

Java基础知识

摘要: Day01 --java语言 --环境变量配置(临时配置_ classpath) Day02 --java语言基础_1 --关键字,标识符,常量,进制,字符类型运算 --算数运算符,赋值运算符 面试题目 short s=3;赋值运算,3是整数,4个字节,s是2个字节,转换动作。 s+=4;一次赋值运算,进行自动转换 s=s+4;两次运算, 一个编... 阅读全文

posted @ 2018-05-02 14:11 懵懂的菜鸟 阅读(194) 评论(0) 推荐(0) 编辑

秒杀系统-效果展示

摘要: 4.7.2秒杀统运行结果首先是秒杀系统的运行环境,这里是Tomcat、Maven、ReDIS、IDEA、MySQL。然后在数据库中输入相关的秒杀数据,将相关信息登录到秒表列表页中。最后,对秒杀的现状和实施的各种结果进行了分析。以下是秒杀系统运行相关接口: 图1秒杀运行环境 图2秒杀数据库 图3秒表列 阅读全文

posted @ 2018-05-02 13:38 懵懂的菜鸟 阅读(231) 评论(1) 推荐(0) 编辑

秒杀系统-高并发的优化

摘要: 秒杀系统面临着如下问题: (1)无法使用cdn缓存,因为系统逻辑不可能放在cdn中。 (2)后端缓存困难:库存问题,因为运用到了mysql事务操作(设置联合主键)。 (3)一行数据竞争:热点商品,因为多个用户同时对数据库某条数据进行操作。 秒杀系统的优化方案: (1)前端控制:暴露接口,按钮防重复提交。 (2)动静态数据分离:cdn缓存,后端Redis缓存。 (3)事务竞争优化:减少事务锁时间,... 阅读全文

posted @ 2018-05-02 13:31 懵懂的菜鸟 阅读(221) 评论(0) 推荐(0) 编辑

秒杀系统-web

摘要: 秒杀系统Web层主要涉及前端交互设计、Restful:url满足Restful设计规范、Spring MVC、bootstrap+jquery这四个方面的开发。秒杀系统的前端交互流程设计如下图6-3所示。 阅读全文

posted @ 2018-05-02 13:24 懵懂的菜鸟 阅读(335) 评论(0) 推荐(0) 编辑

秒杀系统-service

摘要: 在Dao层我们只完成了针对表的相关操作,包括写了接口方法和映射文件中的sql语句,并没有编写逻辑的代码,例如对多个Dao层方法的拼接,当我们用户成功秒杀商品时我们需要进行商品的减库存操作(调用SeckillDao接口)和增加用户明细(调用SuccessKilledDao接口),这些逻辑我们都需要在Service层完成。Dao层只进行数据的访问操作,接下来我们便进行Service层代码的编写。秒杀... 阅读全文

posted @ 2018-05-02 13:21 懵懂的菜鸟 阅读(294) 评论(0) 推荐(0) 编辑

秒杀系统-DAO

摘要: DAO(Data Access Object) 数据访问对象首先需要创建秒杀库存表和秒杀成功明细表,如下所示: CREATE DATABASE seckill; use seckill; CREATE TABLE seckill( `seckill_id` bigint NOT NULL AUTO_INCREMENT COMMENT '商品库存id', `name` varchar(120) N... 阅读全文

posted @ 2018-05-02 13:11 懵懂的菜鸟 阅读(219) 评论(0) 推荐(0) 编辑

秒杀系统-相关配置

摘要: 6.3.2 相关软件包安装 用Maven创建我们的项目seckill,然后使用IDEA打开该项目。在 main包下进行我们项目的代码编写及相关配置文件,test包下进行我们项目的测试。 秒杀系统的servlet版本为3.1,相关的第三发jar包通过pom文件添加,具体如pom.xml文件所示: junit junit ... 阅读全文

posted @ 2018-05-02 13:07 懵懂的菜鸟 阅读(263) 评论(0) 推荐(0) 编辑

秒杀系统-介绍

摘要: 秒杀系统 秒杀系统其实是针对库存做的系统。用户成功秒杀商品,对于我们系统的操作就是减库存和记录用户的购买明细。用户的购买明细包括记录谁购买成功、购买成功的时间和付款信息。而对于减库存操作,需要考虑到以下两个问题: (1)若是用户成功秒杀商品,我们记录了其购买明细,却没有减库存。会导致商品的超卖。 ( 阅读全文

posted @ 2018-05-02 13:03 懵懂的菜鸟 阅读(610) 评论(0) 推荐(0) 编辑