摘要:Server包: Application启动类: CommandLinerRunner:此接口用于实现springboot启动时,加载默认配置,比如数据库初始化。 启动类的注解: @SpringBootApplication @EnableDiscoveryClient @EnableFeignCl
阅读全文
摘要:Java基础知识整理 MVC Model: 常用javaBean实现,通过各种类对数据库进行获取,并封装在对象中。 View: 常用JSP实现,通过Jsp页面来展示我们从数据库中获取的数据。 Controller: 常用Servlet实现,通过Servlet来获取经过javabean包装过的对象,然
阅读全文
摘要:实际概念区别:区别1:不同的修饰符修饰(interface),(extends)区别2:在面向对象编程中可以有多继承!但是只支持接口的多继承,不支持'继承'的多继承哦而继承在java中具有单根性,子类只能继承一个父类区别3:在接口中只能定义全局常量,和抽象方法而在继承中可以定义属性方法,变量,常量等
阅读全文
摘要:extends 继承类;implements 实现接口。 简单说: 1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承, 2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements, 3.继承只能继承一个类,但implem
阅读全文
摘要:注解就是贴标签 (1)注解的作用 1,生成文档。如常用的@param 2,跟踪代码依赖性,实现替代文件的功能。在spring中,主要是减少配置。 3,编译时进行格式检查。如常用的@override (2)注解的分类 1)按照运行机制划分: 【源码注解→编译时注解→运行时注解】 源码注解:只在源码中存
阅读全文
摘要:Shift+Alt+L比如我输入new TextView(this);按这个快捷键能自动生成TextView textView=new TextView(this); 例子: 代码将会变成如下:
阅读全文
摘要:Maven Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Logback是由log4j创始人设计的又一个开源日志组件 Maven的目录结构 Archetype 第一种快速创建方式: Mvn archetype:generate Choose a number:6:输...
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_4b1452dd0102wvox.html 我们都知道有了Hibernate后,单独对数据的POJO封装以及XML文件要耗损掉一个类(Orz意思是你需要精力写一个类)。然后,在大部分的服务中,我们又需要单独写一个Dao接口,并加个D
阅读全文
摘要:Day01 --java语言 --环境变量配置(临时配置_ classpath) Day02 --java语言基础_1 --关键字,标识符,常量,进制,字符类型运算 --算数运算符,赋值运算符 面试题目 short s=3;赋值运算,3是整数,4个字节,s是2个字节,转换动作。 s+=4;一次赋值运算,进行自动转换 s=s+4;两次运算, 一个编...
阅读全文
摘要:4.7.2秒杀统运行结果首先是秒杀系统的运行环境,这里是Tomcat、Maven、ReDIS、IDEA、MySQL。然后在数据库中输入相关的秒杀数据,将相关信息登录到秒表列表页中。最后,对秒杀的现状和实施的各种结果进行了分析。以下是秒杀系统运行相关接口: 图1秒杀运行环境 图2秒杀数据库 图3秒表列
阅读全文
摘要:秒杀系统面临着如下问题: (1)无法使用cdn缓存,因为系统逻辑不可能放在cdn中。 (2)后端缓存困难:库存问题,因为运用到了mysql事务操作(设置联合主键)。 (3)一行数据竞争:热点商品,因为多个用户同时对数据库某条数据进行操作。 秒杀系统的优化方案: (1)前端控制:暴露接口,按钮防重复提交。 (2)动静态数据分离:cdn缓存,后端Redis缓存。 (3)事务竞争优化:减少事务锁时间,...
阅读全文
摘要:秒杀系统Web层主要涉及前端交互设计、Restful:url满足Restful设计规范、Spring MVC、bootstrap+jquery这四个方面的开发。秒杀系统的前端交互流程设计如下图6-3所示。
阅读全文
摘要:在Dao层我们只完成了针对表的相关操作,包括写了接口方法和映射文件中的sql语句,并没有编写逻辑的代码,例如对多个Dao层方法的拼接,当我们用户成功秒杀商品时我们需要进行商品的减库存操作(调用SeckillDao接口)和增加用户明细(调用SuccessKilledDao接口),这些逻辑我们都需要在Service层完成。Dao层只进行数据的访问操作,接下来我们便进行Service层代码的编写。秒杀...
阅读全文
摘要: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...
阅读全文
摘要:6.3.2 相关软件包安装 用Maven创建我们的项目seckill,然后使用IDEA打开该项目。在 main包下进行我们项目的代码编写及相关配置文件,test包下进行我们项目的测试。 秒杀系统的servlet版本为3.1,相关的第三发jar包通过pom文件添加,具体如pom.xml文件所示: junit junit ...
阅读全文
摘要:秒杀系统 秒杀系统其实是针对库存做的系统。用户成功秒杀商品,对于我们系统的操作就是减库存和记录用户的购买明细。用户的购买明细包括记录谁购买成功、购买成功的时间和付款信息。而对于减库存操作,需要考虑到以下两个问题: (1)若是用户成功秒杀商品,我们记录了其购买明细,却没有减库存。会导致商品的超卖。 (
阅读全文
摘要:/* * Copyright (C) 2007 by * * Xuan-Hieu Phan * hieuxuan@ecei.tohoku.ac.jp or pxhieu@gmail.com * Graduate School of Information Sciences * Tohoku University * * Cam-Tu Nguye...
阅读全文
摘要:package Campus; import java.util.Scanner; public class Test_T1 { public static void main(String[] args) { StringBuffer s=joint(); System.out.println(s); } publ...
阅读全文
摘要:volatile:易变的,是说这变量可能会被意想不到地改变。 1.可见性 对于可见性,Java提供了volatile关键字来保证可见性。 当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。 而普通的共享变量不能保证可见性,因为普
阅读全文