笔记
文章平均质量分 61
JHpku
有所为 无所谓
展开
-
自定义注解解决分布式锁问题(使用Aop的动态代理)
如何使用AOP实现面向切面编程,如何自定义一个注解,使用该注解利用AOP的原理解决实际场景中的问题,使用自定义注解解决分布式锁的问题。原创 2023-01-06 23:00:56 · 346 阅读 · 0 评论 -
Redis的缓存穿透,雪崩和击穿问题以及分别的解决方案
解决防止误删操作 当前线程超时导致后面的线程进入,当前线程删除后进入线程的锁,导致无锁现象的出现(问题的描述就是,当我们设置了超时时间后,我们的在拿到锁之后但是程序没有执行结束的时候锁被因为超时自动释放掉了,这个时候虽然锁释放掉了但是线程还在继续执行,同时另一个线程进来拿到了锁,但刚好在这是上一个线程执行结束将刚刚才拿到lock锁的这个线程的锁直接删掉了)查询,一个值进来根据哈希算法进行计算将算出来的值对应的二进制数据对应的下标中的数据是否为1,如果所用的哈希算法计算出来的都能对应上则说明存在这个值。原创 2023-01-05 15:57:48 · 288 阅读 · 0 评论 -
分布式CAP理论总结
C : 一致性 我的理解是分布式系统中在同一时刻保证是相同的值。(分为强一致性和最终一致性。)A :可用性 我的理解是当有节点出现问题的时候,集群还能保证提供服务,数据可以不是一致的。P :分区容错性 我的理解就是我们分布式微服务突然通信之间出现问题的话,就发生了分区,这个时候我们就需要考虑在C和A之间做出选择。分布式系统中要么满足CP要么满足AP 如果满足了CA那么就不要求分区这个时候那一定不是分布式系统 所以分布式系统中只存在CP和AP。原创 2023-01-02 23:44:53 · 143 阅读 · 0 评论 -
分布式事务的五种解决方案
首先,传统的单体应用,通过 3 个 Module,在同一个数据源上更新数据来完成一项业务。很自然的,整个业务过程的数据一致性由本地事务来保证。但是在微服务中,每一个服务内部的数据一致性仍由本地事务来保证。而整个业务层面的全局数据一致性要如何保障呢?这就是微服务架构下面临的,典型的分布式事务需求:我们需要一个分布式事务的解决方案保障业务全局的数据一致性。以下便是分布式微服务中的事务解决方案原创 2022-11-19 13:18:26 · 3054 阅读 · 0 评论 -
Git 本地库和远程库的基本使用
Git本地库的使用和远程库的使用以及基本命令和原理。原创 2022-11-10 15:13:24 · 606 阅读 · 1 评论 -
java面向对象-this和super关键字的四种用法
JavaSE中的面向对象的高级内容,this关键字和super关键字的四种不同用法,你了解几种呢原创 2022-10-30 15:02:31 · 603 阅读 · 0 评论 -
SpringMVC的拦截器的使用以及和javaEE中的Filter过滤器的区别
1.在web层中新建一个拦截器的包然后创建一个拦截器类通过这个类继承HandlerInterception,然后重写他的三个方法分别对应的preHandle(在前端控制器通过url去找对应的handler处理器的时候拦截返回值为boolean)postHandle(执行结束处理器返回到DispatcherServlet的时候拦截,返回值为void) afterCompletion(在视图响应到客户端之前进行拦截)。对应的spring-mvc.xml中的配置。原创 2022-10-30 13:03:55 · 217 阅读 · 0 评论 -
数据库的事务控制和四种隔离级别
四种隔离级别(通过隔离级别的设置可以对应避免一些事务并发问题)**串行化(Serializable)**:也就是将并发执行改为串行一个一个执行,它可以解决三种并发事务问题,但是会导致执行的效率非常低。**可重复读(REPEATABLE READ)**(Mysql默认隔离级别):它解决了不可重复读和幻读的问题,其实就是事务操作的过程中限制了update(更新的)或者删除的操作,但是避免不了幻读,因为幻读是因为插入操作引起的。原创 2022-10-07 13:48:40 · 300 阅读 · 0 评论 -
JDBC总结
JDBC 数据库连接池原创 2022-09-23 21:28:48 · 240 阅读 · 0 评论 -
Vue.js2 学习总结
Vue.js学习总结原创 2022-09-08 00:28:31 · 323 阅读 · 0 评论 -
P1002 [NOIP2002 普及组] 过河卒
洛谷 P1002 [NOIP2002 普及组] 过河卒原创 2022-04-01 21:10:09 · 520 阅读 · 0 评论 -
某校大门外长度为 ll 的马路上有一排树,每两棵相邻的树之间的间隔都是 11 米。我们可以把马路看成一个数轴,马路的一端在数轴 00 的位置,另一端在 ll 的位置;数轴上的每个整数点,即0,1,2.
算法数组原创 2022-03-25 10:23:50 · 1919 阅读 · 1 评论 -
16进制转8进制 两种方法先转二进制在转8进制或先转10进制在转8进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。样例输入 2 39 123ABC样例输出 71 4435274【提示】.原创 2022-01-05 14:29:21 · 1242 阅读 · 0 评论 -
数据库命令大全
1.Mysql服务的启动和退出; Net start mysql57Net stop mysql572.使用命令登录MYSQLMysql -u root -p 3.查看Mysql数据库的存储位置(路径)Show variables like ‘datadir’;4.查看当前系统中的所有数据库。Show databases;5.查看系统中的数据库引擎Show engines;6.创建两个数据库JXGLDB和MYTESTDBCreate database if not exis原创 2021-07-19 19:39:34 · 4817 阅读 · 0 评论 -
对日历日期上时间进行计算如出生到现在一共多少天
#include <stdio.h>#include <stdlib.h>int main(){ int y=1921,m=7,d=23,res=0; while(1){ d++; res++; if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ if(d==32){ m++; d=1;原创 2021-04-15 15:30:59 · 420 阅读 · 0 评论 -
c语言指针
指针1.指针和地址的关系: eg:int *p,a=6; p=&a;(代表将a的地址放入指针变量p中);2.如果是在数组中int *p=a; //等效于 int *p=&a[0]; *p就相当于数组的首地址;3.定义一个指针变量必须给它赋初值之后才能使用;*4.与&两个符号为逆运算 *(&i)=i;4.char a[][10]={“one”,“two”,“tree”}; *p=a[0]; printf("%s",p+10)p表示数组a原创 2021-03-17 22:12:56 · 152 阅读 · 0 评论 -
哈夫曼编码 ———哈夫曼树 (数据结构)
哈夫曼编码(数据结构)哈夫曼编码,又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)#include<iostream>#include<stdio.h>#include<string.h> //因为使用了strcpy字符串函数#include<std原创 2020-12-01 18:47:57 · 1008 阅读 · 0 评论