摘要:
# Mysql数据库锁(Innodb) 数据库锁是Mysql实现数据一致性的基础之一,是在事务的基础之上,基于Mysql Server层或存储引擎层实现的。 ## 锁日志 前置条件: ```sql set GLOBAL innodb_status_output=ON; set GLOBAL inno 阅读全文
摘要:
Dubbo服务暴露的过程整体分为:生成Invoker、根据不同的协议(protocol)将Invoker转换成Exporter。 生成Invoker 生成Invoker的代码: Invoker<?> invoker = proxyFactory.getInvoker(ref, (Class) int 阅读全文
摘要:
异步、接口、削峰 每个Broker启动时都要向所有的Namesrv注册。 MQ的生产者和消费者都是主动去Namesrv拉取Broker路由信息。 Broker会每隔30秒向所有的Namserver发送心跳。同时Namesrv会每隔10s运行一个任务,检查Broker最近一次心跳时间,若某个Broke 阅读全文
摘要:
如何查看jvm进程中加载的class文件 像spring、dubbo等框架都用到了动态代理等java字节码技术,我们在查看源码的时候,有时必须去查看框架生成的class文件才能知道具体的功能是如何实现的。 博主知道的有2种方式,分享给大家。 利用jre提供的工具。 新建一个bat脚本,命名为查看jv 阅读全文
摘要:
对称加密:性能比较高,原理是明文和密钥采用异或的算法,得到加密后的密文。密文和密钥同样也采用异或算法得到明文,因此性能比较高。 非对称加密:公钥和私钥。根据数学原理生成一对密钥,即公钥和私钥。同一份明文文档如果用公钥加密了,只有私钥可以解密;如果用私钥 加密了,只有公钥才能解密。非对称加密重要应用场 阅读全文
摘要:
tomcat接受一个请求时,会从线程池中拿一个线程来处理这个线程,在处理的过程中会找到这个请求对应的servlet,servlet在容器中是单例的,此时如果多个请求同时请求servlet中的一些成员变量,那么就会产生线程安全问题 阅读全文
摘要:
`CorsUtils.isCorsRequest(request)` 阅读全文
摘要:
上面是基本使用方法。 使用BeanGenator动态的生成类,并给类添加属性 BeanGenator不能设置callback,也不能设置值 用BeanMap动态的生成类,并给类添加属性 1. 避免每次进行BeanMap map = BeanMap.create();创建对象,不同于BeanCopie 阅读全文
摘要:
```java import java.lang.reflect.Field; import org.springframework.aop.framework.AdvisedSupport; import org.springframework.aop.framework.AopProxy; import org.springframework.aop.support.AopUtils; pub 阅读全文
摘要:
shell就是操作系统的外层。 Hello World: !/bin/shell 这是shell的头,必须指定; 编辑完成之后要赋予可执行的权限。 然后执行./XXX.sh或者/bin/bash XXX.sh或者sh XXX.sh就可以运行这个文件了 定义变量与引用变量 SHELL创建的环境变量: 阅读全文