@RequestBody和@RequestParam区别

摘要: @RequestBody和@RequestParam区别 一:@RequestBody和@RequestParam区别 @RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Cont 阅读全文
posted @ 2020-08-26 21:39 anqli_java 阅读(557) 评论(0) 推荐(0) 编辑

理解ThreadLocalMap内存泄露问题

摘要: 这里所说的ThreadLocal的内存泄露问题,其实都是从ThreadLocalMap中的一段代码说起的,这段代码就是Entry的构造方法: static class Entry extends WeakReference,ThreadLocal{ /** The value associated 阅读全文
posted @ 2020-07-23 15:37 anqli_java 阅读(460) 评论(0) 推荐(0) 编辑

面试题:如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?

摘要: 如何保证消息不丢失 就我们市面上常见的消息队列而言,只要配置得当,我们的消息就不会丢。 先来看看这个图, 可以看到一共有三个阶段,分别是生产消息、存储消息和消费消息。我们从这三个阶段分别入手来看看如何确保消息不会丢失。 生产消息 生产者发送消息至Broker,需要处理Broker的响应,不论是同步还 阅读全文
posted @ 2020-07-23 15:34 anqli_java 阅读(862) 评论(0) 推荐(1) 编辑

微服务网关Zuul和Gateway的区别

摘要: spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目。 阅读全文
posted @ 2020-07-14 22:36 anqli_java 阅读(3020) 评论(0) 推荐(0) 编辑

如何设计一个秒杀系统

摘要: 什么是秒杀 秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。 秒杀系统场景特点 秒杀时大量用户会在同一 阅读全文
posted @ 2020-07-14 11:25 anqli_java 阅读(568) 评论(0) 推荐(0) 编辑

volatile和synchronized的区别

摘要: volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。 volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的 volatil 阅读全文
posted @ 2020-07-14 11:13 anqli_java 阅读(113) 评论(0) 推荐(0) 编辑

docker环境下配置mysql环境

摘要: 1 拉取镜像文件 2 通过镜像文件创建一个容器 其中 --name 表示容器的名字 -e 创建root用户访问的密码, -p 访问端口映射,3306是mysql服务默认的端口,3307是访问mysql用到的端口 3 通过命令访问mysql 阅读全文
posted @ 2018-12-30 16:36 anqli_java 阅读(251) 评论(0) 推荐(0) 编辑

千万级流量架构设计实现方案

摘要: 实现千万级流量架构设计实现原则 1 实现高并发 服务拆分:将整个项目拆分成多个子项目或者模块,分而治之,将项目进行水平扩展 服务化:解决服务调用复杂之后的服务注册和发现问题 消息队列: 解耦,异步处理 缓存:各种缓存带来的高并发 2 实现高可用 集群 限流 降级 3 业务设计 幂等:用户对于同一个操 阅读全文
posted @ 2018-11-23 13:02 anqli_java 阅读(1185) 评论(0) 推荐(0) 编辑

Spring Bean生命周期

摘要: 概述 Spring的ioc容器功能非常强大,负责Spring的Bean的创建和管理等功能。而Spring 的bean是整个Spring应用中很重要的一部分,了解Spring Bean的生命周期对我们了解整个spring框架会有很大的帮助。 BeanFactory和ApplicationContext 阅读全文
posted @ 2018-11-20 15:49 anqli_java 阅读(243) 评论(0) 推荐(0) 编辑

多线程 Thread.yield的作用

摘要: yield 即 "谦让",也是 Thread 类的方法。它让掉当前线程 CPU 的时间片,使正在运行中的线程重新变成就绪状态,并重新竞争 CPU 的调度权。它可能会获取到,也有可能被其他线程获取到。 yield 和 sleep 的异同 1)yield, sleep 都能暂停当前线程,sleep 可以 阅读全文
posted @ 2018-11-20 08:57 anqli_java 阅读(1525) 评论(0) 推荐(0) 编辑