01 2021 档案
SpringCloud-项目架构转变
摘要:公司项目业务扩展,单机已经不足以支撑系统,2020年底,由单机项目转为分布式架构,技术选型:SpringCloudAlibaba 项目结构: bysk-cloud├─bysk-auth -- auth服务端 统一登录中心├─bysk-common -- 系统公共模块│ ├─bysk-common-c
阅读全文
JAVA7-HashMap 对transfer容量扩容代码的理解
摘要:注: 默认前面代码已经完全理解,且重新计算的hash全部位于同一个位置。 void transfer(java.util.HashMap.Entry[] newTable, boolean rehash) { //1.扩容后的容量 int newCapacity = newTable.length;
阅读全文
JUC-单例双重检测锁-为什么加volatile
摘要:instance为何要有volatile 修饰: 这个问题就涉及到了编译原理,所谓编译,就是把源代码“翻译”成目标代码——大多数是指机器代码——的过程。针对Java,它的目标代码不是本地机器代码,而是虚拟机代码。编译原理里面有一个很重要的内容是编译器优化。所谓编译器优化是指,在不改变原来语义的情况下
阅读全文
JUC-volatile详解
摘要:public class VolatileExample extends Thread{ //设置类静态变量,各线程访问这同一共享变量 private static boolean flag = false; //无限循环,等待flag变为true时才跳出循环 public void run() {
阅读全文
Springboot-mongoTemplate踩坑之旅(一.BigDecimal,聚合查询,排序,最值)
摘要:BigDecimal使用mongoTemplate.save存储进数据库的是字符串类型,排序会出现问题,两种解决方式,1.Query对象自定义collation重新设置默认的collation属性.collation({"locale": "zh", numericOrdering:true})再排
阅读全文
SpringBoot2.3集成mongdb并封装CRUD基类
摘要:上篇写到,将设备数据改传到monggodb,本篇博文记录一下具体过程。 SpringBoot内置Mongdb模块MongoTemplate,类似于RedisTemplate 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId>
阅读全文
BlockingQueue解决物联网多设备数据整合问题
摘要:环境: 硬件设备N个采集器将数据以json形式发送至主机,主机将数据以mqtt协议发送至服务端,服务端接收到数据,发布异步事件,进行数据存储,报警等任务。 问题:我们认为不同的传感器在同一个主机上传的数据是同一个设备,数据整合逻辑是,设置一个上传数据间隔 (此间隔认为是,网络延迟+其他延迟),查询语
阅读全文
SpringBoot+redis实现请用户求频率限制
摘要:生产环境下可以解决的问题: 1.短信验证码请求评率限制(防止抓包短信轰炸) 2.热点数据请求评率限制(防止数据库爆炸) 1.创建自定义注解 package com.bysk.base.annotation; import java.lang.annotation.*; /** * @author:
阅读全文
浙公网安备 33010602011771号