自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式-结构型模式-适配器模式

适配器模式(Adapter)将一个接口(不是指Interface)转换成客户希望的另一个接口,以解决接口不兼容问题又名包装器模式(Wrapper)分为类适配器,对象适配器场景分析生活中(一拖三充电头、HDMI转VGA,翻译软件)Mybatis(Log接口:Log4j2等转换成Log)Spring(HandlerAdapter:将Controller转换成具体的Handler对象,AdvisorAdapter:Advisor转换成MethodInterceptor对象,HandlerInt

2021-11-05 14:37:53 78

原创 设计模式-创建型模式-单例模式

单例模式(Singleton)保证一个类的实例在特定范围只有一份(例如一个JVM内部,一个线程内部),并且提供全局访问点可以访问到这份实例。应用场景Spring(Singleton作用域的Bean对象,Spring只是把对象存放于map容器,并提供了一个访问点)Mybatis(ErrorContext对象是每个线程一份此类实例)Class对象常量池。。。(线程池、连接池都可以设计为单例)对象分析具体产品对象(例如Singleton)应用分析优势:科学使用资源,避免频繁创建、销

2021-11-04 15:28:15 70

原创 设计模式-创建型模式-建造者模式

生成器模式(建造者模式、B)

2021-11-04 10:51:21 76

原创 设计模式-创建型模式-简单工厂模式

简单工厂(Simple Factory)描述了一个类,它拥有一个包含大量条件语句的构建方法,可根据方法的参数来选择对何种产品进行初始化并将其返回。举个栗子饮料接口public interface Drinks { void drink();}可乐类public class Cola implements Drinks{ @Override public void drink() { System.out.println("drink Cola");

2021-11-03 16:52:28 88

原创 设计模式-创建型模式-抽象工厂模式

抽象工厂模式( Abstract Factory)能创建一系列相关的对象, 而无需指定其具体类。举个栗子

2021-11-03 16:13:41 52

原创 设计模式-创建型模式-工厂方法模式

工厂方法(Factory Method)在父类中提供一个创建对象的接口以允许子类决定实例化对象的类型。举个栗子。汽车接口public interface Car { void run();}具体汽车:奔驰public class Benz implements Car{ public void run() { System.out.println("Benz run"); }}具体汽车:宝马public class Bmw implements

2021-11-02 16:53:11 74

原创 gulimall-订单服务

P262、商城业务-订单服务-页面环境搭建购物车点击“结算”->订单确认页,提交订单->支付页面,点击支付->订单支付页面等待付款页(就是订单详情页): 状态、送货方式、物流信息、收货人信息、配送信息等等订单页面:用户中心的订单列表页订单结算页:订单确认页收银页:支付页面页面复制到订单服务,所需的静态资源放Nginxhosts域名修改。Nginx负载均衡路由转发,网关路由。页面资源路径修改(ctrl+R,替换)依赖thymeleaf()编写跳转页面Controller类

2021-10-23 22:13:41 698

转载 Java Lambda

概述它允许我们将一段代码(这段代码可以理解为一个接口的实现)当成参数传递给某个方法,然后进行业务处理一种函数式编程风格,通过底层的类型推断,方法引用等特性应用于迭代操作,映射操作,聚合操作等。快速入门分析由逗号分隔的参数列表 -> 语句块应用案例增强实现...

2021-10-21 15:25:49 54

原创 面试题背诵

day011、Jvm中内存结构模型?简单阐述(理论描述清晰即可)JVM包含两个子系统:类加载系统:负责加载类到内存,(.class放到内存运行)执行引擎:负责调用对象执行业务(.class交给操作系统去执行)1)解释器:解释执行class2)JIT即时编译:将.class文件编译成0101这样的代码,放到缓存里面和两个组件:运行时数据区:负责存储数据信息本地接口???运行时数据区线程共享区方法区:逻辑上的概念,JDK7之前有永久代,JDK8变成元数据区???,不同产品泛指的区域不

2021-10-20 10:15:24 290

原创 gulimall-秒杀服务

P310、商城业务-秒杀服务-后台添加秒杀商品秒杀具有瞬间高并发的特点,针对这一特点,必须要做限流 + 异步 + 缓存(页面静态化)独立部署。限流方式:前端限流,一些高并发的网站直接在前端页面开始限流,例如:小米的验证码设计nginx 限流,直接负载部分请求到错误的静态页面:令牌算法 漏斗算法网关限流,限流的过滤器代码中使用分布式锁-信号量rabbitmq 限流(能者多劳:chanel.basicQos(1)),保证发挥所有服务器的性能。上架秒杀商品(价格和平常

2021-10-19 10:39:09 284

转载 秒杀项目设计

背景几十万甚至更多人抢几百件商品问题1、高并发时间极短,瞬间用户量大单机Redis最多3-4W,5W左右,QPS缓存雪崩、击穿、穿透2、超卖使用Lua脚本解决3、恶意请求4、链接暴露5、数据库问题每秒上万甚至几十万的QPS直接打到数据库,数据库基本会崩溃。6、重复订单前端用户点提交订单后禁用按钮。使用Redis的set结构设置联合主键(用户id + 商品id)。解决服务单一职责给秒杀开一个单独的服务,建立一个单独的数据库秒杀链接加盐光做时间校验还是不行,别人可以通过

2021-10-18 20:29:46 172

转载 服务流程总结

微服务服务调用这张图描述了远程服务调用的几中方式:第一种:服务比较少,例如就两个服务,一个服务消费,一个服务提供,就不需要注册中心,不需要负载均衡.第二种:并发比较大,服务服务比较多,我们需要管理服务,就需要注册中心,我们还需要服务间的负载均衡.但代码编写的复杂多相对高一些,我们需要自己获取ip,获取端口,拼接字符串等.第三种:我们要基于第二种进行代码简化,底层提供了一种拦截器,把基于服务名获取服务实例的过程在拦截器中做了封装,简化了代码的开发.但是加了拦截器多少会在性能少有一点损耗.第

2021-10-18 15:58:41 256

转载 京淘项目流程

1 构建后台项目1.1 创建项目1.2 编辑pom.xml文件添加依赖1.3 导入src文件1.4 修改YML文件1.5 编辑启动项2 前端项目搭建2.1 前端路径说明统一项目路径2.2 操作步骤2.2.1 下载前端资料2.2.2 项目解压之后复制到IDEA维护的目录中2.2.3 导入项目2.2.4 运行前端项目2.2.5 命令启动3 代码调试3.1 前端代码调试4 用户登录业务实现4.1 项目划分4.2 用户模块分析4.2.1 表设计分析4.2.2 POJO分析

2021-10-16 10:23:43 283

转载 四-08微服务文件上传实战

业务

2021-09-24 19:43:48 186

空空如也

空空如也

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

TA关注的人

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