摘要:
公司项目业务扩展,单机已经不足以支撑系统,2020年底,由单机项目转为分布式架构,技术选型:SpringCloudAlibaba 项目结构: bysk-cloud├─bysk-auth -- auth服务端 统一登录中心├─bysk-common -- 系统公共模块│ ├─bysk-common-c 阅读全文
2021年1月23日
2021年1月19日
摘要:
注: 默认前面代码已经完全理解,且重新计算的hash全部位于同一个位置。 void transfer(java.util.HashMap.Entry[] newTable, boolean rehash) { //1.扩容后的容量 int newCapacity = newTable.length; 阅读全文
2021年1月18日
摘要:
instance为何要有volatile 修饰: 这个问题就涉及到了编译原理,所谓编译,就是把源代码“翻译”成目标代码——大多数是指机器代码——的过程。针对Java,它的目标代码不是本地机器代码,而是虚拟机代码。编译原理里面有一个很重要的内容是编译器优化。所谓编译器优化是指,在不改变原来语义的情况下 阅读全文
摘要:
public class VolatileExample extends Thread{ //设置类静态变量,各线程访问这同一共享变量 private static boolean flag = false; //无限循环,等待flag变为true时才跳出循环 public void run() { 阅读全文
2021年1月12日
摘要:
BigDecimal使用mongoTemplate.save存储进数据库的是字符串类型,排序会出现问题,两种解决方式,1.Query对象自定义collation重新设置默认的collation属性.collation({"locale": "zh", numericOrdering:true})再排 阅读全文
2021年1月9日
摘要:
上篇写到,将设备数据改传到monggodb,本篇博文记录一下具体过程。 SpringBoot内置Mongdb模块MongoTemplate,类似于RedisTemplate 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> 阅读全文
2021年1月8日
摘要:
环境: 硬件设备N个采集器将数据以json形式发送至主机,主机将数据以mqtt协议发送至服务端,服务端接收到数据,发布异步事件,进行数据存储,报警等任务。 问题:我们认为不同的传感器在同一个主机上传的数据是同一个设备,数据整合逻辑是,设置一个上传数据间隔 (此间隔认为是,网络延迟+其他延迟),查询语 阅读全文
2021年1月6日
摘要:
生产环境下可以解决的问题: 1.短信验证码请求评率限制(防止抓包短信轰炸) 2.热点数据请求评率限制(防止数据库爆炸) 1.创建自定义注解 package com.bysk.base.annotation; import java.lang.annotation.*; /** * @author: 阅读全文
2020年11月21日
摘要:
实现方案2种 1.Springboot参数拦截 继承AbstractNamedValueMethodArgumentResolver 2.Springboot AOP 所有String类型的参数提交都会被验证,替换规则参考百度 @Around实现 package com.bysk.admin.com 阅读全文
2020年8月18日
摘要:
今天突然想到一个问题关于前后不分shiro的WEB项目sessionid安全问题. 前后分离可以使用token作为用户唯一标志凭证,这个token可以自定义生成规则, 那么前后不分的shiro项目返回的是一串32位的字符串, 我们这里假设攻击方客户端足够多,服务端用户足够多, 那么在一定时间,攻击方 阅读全文