前几节终于实现了这个高并发秒杀业务,现在问题是如何优化这个业务使其能扛住一定程度的并发量. 一. 优化分析 对于整个业务来说,首先是分析哪些地方会出现高并发,以及哪些地方会影响到了业务的性能.可能会出现高并发的地方:详情页,获取系统时间,地址暴露接口,执行秒杀操作. 这个业务为什么要单独获取时间呢?用户会在详情页大量刷新,为了优化这里,将detal.jsp详情页和一些静态资源(css,js等)部署在CDN的节点上(至于这个CDN是什么,下面会说),也就是说用户访问详情页是不需要访问我们的系统的,…
上节中利用Maven创建了项目,并导入了所有的依赖,这节来进行DAO层的设计与开发 第一步,创建数据库和表. 首先分析业务,这个SSM匡济整合案例是做一个商品的秒杀系统,要存储的有:1.待秒杀的商品的相关信息.2:秒杀成功的交易记录. 所以建两张表:第一张秒杀库存表,一张秒杀成功明细表,下面是sql脚本 -- 数据库初始化脚本 -- 创建数据库 CREATE DATABASE seckill; -- 使用数据库 use seckill; -- 创建秒杀库存表 CREATE TABLE secki…
在前面几节中已经完成了service层和dao层,到目前为止只是后端的设计与编写,这节就要设计到前端的设计了.下面开始总结下这个秒杀业务前端有哪些要点: 1. 前端页面的流程 首先是列表页,点某个商品进入详情页,在这里会有个判断是否用户已登录的逻辑.如果已登录则进入详情页展示逻辑,如果用户未登录则让用户登录,将用户的信息写入cookie后再进入展示逻辑.对于详情页,它首先拿到系统的当前时间,将其与当前秒杀单的秒杀开始时间和秒杀结束时间作比较.若大于秒杀结束结束时间则显示秒杀已结束,若小于秒杀开始…
在慕课网上看了Java高并发秒杀API视屏后,觉得这个案例真的让我学到了很多,现在重新自己实现一遍,博客记下,顺便分析其中的要点. 第一步是项目的创建和依赖 利用Maven去创建工程然后导入Idea中并完成相关配置,这里的注意点: 1.利用Maven创建web项目命令:mvn archetype:generate  -DgroupId=org.seckill  -DartifactId=seckill  -DarchetypeArtifactId=maven-archetype-webapp  …
上一节中已经包DAO层编写完成了,所谓的DAO层就是所有和数据访问的部分都应该放在这个层里,它负责与数据库打交道.对于一个web项目来说,大概由这几部分组成: 1. 前台的显示层. 2. 分发处理请求的web层,这一层来用一些MVC框架. 3. 负责业务逻辑处理的Service层. 4. 负责与数据库交互的DAO层 这样有利于代码的分离,以前上课时各种听不懂,但书上有句话记得很清楚,那就是代码的设计原则应该是"低耦合,高内聚",MVC框架的设计正好体现了这个原则.废话不多说,开始编码.…
SSM框架学习思维导图 2017年08月11日 20:17:28 阅读数:1141 放上前段时间学习SSM框架以及Spring.SpringMVC.MyBatis的学习结果,输出思维导图一共四幅图.这是知识点归纳,可以当字典用,忘记的时候翻一翻,不是啥深入高端的东西.给小白们用不错 本来不想上图的,想直接放附件的.但是不得不吐槽一下CSDN的资源上传系统,传成功后资源列表中显示不出来,再次上传提示重复上传...先凑合看图吧.附件我等下再试试上传. 附件来了http://download.csdn…
Java基础及JavaWEB以及SSM框架学习笔记Xmind版 转行做程序员也1年多了,最近开始整理以前学习过程中记录的笔记,以及一些容易犯错的内容.现在分享给网友们.笔记共三部分. JavaSE 目录如下: 部分笔记: JavaWEB 目录如下: 部分笔记: SSM框架 目录如下: 部分笔记: 下载方式: 笔记我全都打包放在了我的网盘里.需要的朋友直接百度云下载 链接:https://pan.baidu.com/s/1IAsqekmkUNBjmsEOdINFpQ 提取码:xg9k 整理不易,点…
认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程). 什么是 Spring: Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架,来源于 Rod Johnson 在其著作<Expert one on one J2EE design…
理论理解 +项目阅读 SpringSpring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象.Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切. SpringMVCSpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,C…
第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念,是把我们程序中的类与类之间的依赖关系交给容器去处理,一般有两种方式(面试): 依赖查找DL(dependency lookup):程序提供查找方式,交给容器去查找(相当于se中的回调函数): 依赖注入DI(dependency injection):程序不提供查找方式,提供合适的构造方法或者set…