- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 微服务springsecurity+jwt+redis+vue+springbootgateway实现token认证授权
*** JWT配置类**/@Getter@Setter@Component/*** 密钥KEY*//*** TokenKey*//*** Token前缀字符*//*** 过期时间*//*** 不需要认证的接口*/
2023-03-21 17:36:43
443
原创 java方法的参数传递机制
如上图按照方法在jvm中开辟了两个栈:(1)int i、String str、Integer num、int【】arr、MyData my;(2)int j、String s、Integer n、int【】a、MyData m。一个常量池:String str = “hello”、“world”、String s=“helloworld”。一个堆:Integer num=200、int【】arr = 【1,2,3,4,5】、MyData my=int a=10、Integer n=201、int【】
2021-06-30 11:41:17
96
原创 类初始化和实例初始化(父子类)
1.类初始化main方法所在的类都会执行类初始化如果是子类继承父类,先执行<clinit>方法,先按照代码顺序初始化父类的静态方法或者静态代码块;再初始化子类的静态方法或者静态代码块2.实例初始化父类的实例化方法:(1)super();(最前)(2)父类的非静态变量;(按顺序)(3)父类的非静态代码块;(按顺序)(4)父类的无参构造(最后)注意:如果子类中重新了父类的非静态方法,则父类实例化执行子类重新的方法子类的实例化方法:(1)super();(最前)(2)子
2021-06-30 11:08:22
299
原创 商城秒杀实现
1.秒杀业务秒杀具有瞬间高并发的特点,针对这一特点,必须要做限流+异步+缓存(页面静态化)+独立部署。限流方式1.前端限流:一些高并发的网站直接在前端开始限流,例如:小米的验证码设计2.nginx限流:直接负载部分请求到错误的静态页面:令牌算法、漏斗算法3.网关限流:限流的过滤器4.代码中使用分布式信号量5.rabbitmq限流(能者多劳:chanel.basicQos(1)),保证发挥所有服务器的性能...
2021-06-29 09:36:24
251
原创 JMeTer压力测试
1.基础指标吞吐量每秒钟系统能够处理的请求数、任务数响应时间服务处理一个请求或一个任务的耗时错误率一批请求中结果出错的请求所占比例2.JMeTer影响性能考虑点包括数据库、应用程序、中间件(tomcat、nginx)、网络和操作系统等方面首先考虑自己的应用属于CPU密集型还是IO密集型性能监控jconsole和jvisualvm(功能强大)中间件越多,性能损失越大,大多都损失在网络交互业务:Db(MySql优化)模板的渲染速度(缓存)静态资源...
2021-06-19 08:52:10
137
原创 登录拦截器(Redis+jwt+token)
1.引入redis+jwt依赖坐标<!-- 引入Redis场景启动器--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--引入JWT--><dependency>
2021-06-19 08:37:55
251
原创 RabbitMQ延时消息队列
配置RabbitMQ向容器中注入各组件创建MyRabbitMQConfig配置类@Configurationpublic class MyRabbitMQConfig { /* 容器中的Queue、Exchange、Binding 会自动创建(在RabbitMQ)不存在的情况下 */ /** * 死信队列 * * @return */@Bean public Queue orderDelayQueue() { /*
2021-06-17 09:10:14
100
原创 java的StringRedisTemplate操作redis+lua脚本令牌验证
redis+lua脚本//1、验证令牌是否合法【令牌的对比和删除必须保证原子性】 String script = "if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end"; String orderToken = vo.getOrderToken(); //通过lure脚本原子验证令牌和删除令牌 Lo
2021-06-10 11:21:35
1392
原创 微服务远程调用请求头丢失问题
1.创建自己的RequestInterceptorRequestContextHolder的运用@Configurationpublic class JuyiFeignConfig { @Bean("requestInterceptor") public RequestInterceptor requestInterceptor(){ return new RequestInterceptor() { @Override
2021-06-09 16:31:26
236
原创 java利用easyexcel操作excel表格
导出excel引入easyexcel依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.4</version></dependency>编写controller@GetMapping("/exportDoctor") public void exp
2021-06-09 12:38:43
216
原创 java统一异常处理以及自定义异常
统一异常处理创建自己的异常处理类MyExceptionControllerAdvice@Slf4j@RestControllerAdvice(basePackages = "com.xx.controller")public class MyExceptionControllerAdvice { /** * 参数非法(效验参数)异常 MethodArgumentNotValidException * @param e * @return */
2021-06-09 11:25:36
132
原创 Docker操作
docker安装容器docker安装 elasticsearch kibanaelasticsearch安装ik分词Docker安装nginxdocker安装 elasticsearch kibanadocker pull elasticsearch:7.4.2docker pull kibana:7.4.2docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \
2021-04-28 16:42:14
231
原创 对标阿里P6/P7微服务架构
分布式基础&环境搭建项目简介电商项目微服务架构图微服务划分图项目技术&特色项目前置要求分布式基础概念环境搭建安装linux虚拟机(Vrgrant)安装dockerdocker安装mysqldocker安装redis开发环境统一Maven配置阿里云镜像项目简介电商项目微服务架构图这是一个B2C电商项目微服务划分图项目技术&特色项目前置要求分布式基础概念环境搭建安装linux虚拟机(Vrgrant)复制下载链接,用迅雷下会快很多镜像仓库https:
2021-03-27 08:48:14
390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人