自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 布隆过滤器bloomFilter

布隆过滤器是一个很长的二进制向量和一系列随机映射函数,用于检索一个元素是否在一个集合中。它的空间效率和查询时间都远远超过一般的算法,但是有一定的误判率 (函数返回 true , 意味着元素可能存在,函数返回 false ,元素必定不存在)。布隆过滤器的四个核心属性:k : 哈希函数个数m : 位数组长度n : 插入的元素个数p : 误判率Java 世界里 ,通过 Guava 和 Redisson 创建和使用布隆过滤器非常简单。布隆过滤器无法删除元素,但我们可以通过计数布隆过滤器和。

2024-02-29 16:10:46 883

原创 【无标题】

更新语句, 记录redolog 和binlog, redo_log采用两阶段提交,redo_log:固定大小,写指针write_pos和检查点checkPoint, 写满刷盘bin_log:是追加写, 没有大小限制,写满一个再写一个bin_log文件undo_log: 记录每个操作的回滚操作,配合实现事务的一致性视图和事务回滚slow_query_log: 记录慢sql日志, 通过配置超时时间general_log: 记录所有日志,同步用于测试开发阶段, 不建议生产开启。

2024-01-10 17:36:55 832 1

原创 linux

n 表示显示ip地址,不要显示域名, t 表示 tcp协议, p表示显示对应的进程process, l (listen)表示显示监听的端口。- i any 表示任意网卡,-n 表示显示ip地址,不要显示域名,-w 表示写到某个文件中。4.nslookup 域名 (查看域名对应ip, ns=name server)7.netstat -ntpl 查看服务监听的对应端口,在等待外部连接。2.网络没问题之后,查看端口是否联通。3.端口是通的,查看tcp包是否正常。1.排查主机之间的网络。

2023-08-05 15:47:22 41

原创 一入java深似海

使用printStackTrace()打印会输出到系统标准异常流(System.err)中(系统线程共用,会有抢占情况)可以自定义一个Stream流 printStackTrace(PrintStream s)方法打印。2.try catch中使用printStackTrace 打印是否会影响性能?的区别, T有类型的意思,作用有类或方法上,且可以继承。

2023-04-27 21:53:55 53

原创 spring依赖查找

单一类型依赖查找 JDNI -javax.naming.Context#lookup(javax.naming.Name) JavaBeans -java.beans.beancontext.BeanContext 集合类型依赖查找 java.bean.beancontext.BeanContext 层次性依赖查找 java.bean.beancontext.BeanContext单一类型依赖查找接口-BeanFactory 根据Bean名称查找 getBean

2023-04-15 15:53:43 151

原创 spring-监听器

AnnotationConfigApplicationContext都是基于这个接口ConfigurableApplicaitonContext的实现,ApplicationListener需要跟ioc容器ApplicaitonContext配合才能使用。java标准事件监听器java.util.EventListener扩展。里面有个addApplicationListener()方法。GenericApplicationContext和。基于注解@EventListener。

2023-03-28 23:15:11 32

原创 sping源码解析

spring循环依赖spring通过单例池和一个半成品池两级缓存解决循环依赖问题, 外加一个工厂池解决aop代理对相象问题Spring在启动过程中,使用到了三个map,称为三级缓存。Spring启动过程大致如下:1.创建beanFactory,加载配置文件2.解析配置文件转化beanDefination,获取到bean的所有属性、依赖及初始化用到的各类处理器等3.刷新beanFactory容器,初始化所有单例bean4.注册所有的单例bean并返回可用的容器,一..

2023-03-28 22:27:08 33

原创 springioc

在开源软件中常常使用relativePath解决依赖顺序问题beanFactory applicationContext区别beanFactory一个基本ioc容器, applicationContext在其基础上提供了更多的功能applicaitonContext 继承beanFatory, 但是applicaiotnContext是通过组合了一个beanFactory(DefaultListableBeanFactory) 的方式使用beanFactory的基础功能的..

2022-05-28 12:09:13 43

原创 设计模式~

责任链:这种模式在结构上由多个部件,基于引用组成得一串链条,行为上请求从链条头部传递到各个节点,从而触发执行各个节点所要负责得业务逻辑。比如mybatis的一级缓存实现缓存序列化-》记录缓存命中率-》处理过期缓存-》淘汰策略-》存储比如Dubbo在各个场景中当中就大量使用责任链,如客户端发起远程调用的过程包含:Mock处理-》负载均衡-》集群容错-》初始化上下文-》监控统计-》异步转同步等还有Dubbo服务响应过程也是大量使用责任链模式springmvc处理请求的过程也用到.

2022-05-03 12:11:34 260 1

原创 java日志体系

使用jcl按优先级jcl实现

2022-05-02 17:11:57 555

原创 java基础

垃圾回收标记法引用计数算法,顾名思义,就是为对象添加一个引用计数,用于记录对象被引用的情况,如果计数为 0,即表示对象可回收 Java 选择的可达性分析,JVM 会把虚拟机栈和本地方法栈中正在引用的对象、静态属性引用的对象和常量,作为 GC Roots。然后跟踪引用链条,如果一个对象和 GC Roots 之间不可达,也就是不存在引用链条,那么即可认为是可回收对象JVM提供的收集器较多,特征不一,适用于不同的业务场景:Serial收集器:串行运行;作用于新生代;复制算法;响应速度优先;适用于单

2022-03-27 16:39:48 506

原创 nignx

安装nignx1.wget https://nginx.org/download/nginx-1.19.9.tar.gz, 并解压 tar -zxvf nginx.xx.tar.gz2.进入解压后的nignx目录3.配置 ./configure (默认配置目录在/usr/local/nginx下)4.编译 make5.安装 make install6.查找安装目录 whereis nginx, 并进入sbin目录执行./nginx7.查看当前安装配置信息 /usr/local

2022-03-21 00:36:35 850

原创 故障排查~

jps ps 无法打印进程关键字, 可用 ps -ef|grep java 显示java进程关键字cat /proc/cpuinfo 查看cpu的信息cat /proc/meminfo 查看内存的信息jmap --heap --pid 2139 查看进程堆内存信息 (报错可用 jhsdbjmap) 相当于arthas jvm命令jstack pid 查看进程的堆栈信息 相当于 相当于 arthas thread pid命令arthas dashboard排查cpu高案例ar...

2022-03-20 22:04:02 184

原创 redis

内存数据库针对key-value组合采用全局hash索引hash冲突问题:就是链式哈希。链式哈希也很容易理解,就是指同一个哈希桶中的多个元素用一个链表来保存,它们之间依次用指针连接渐进式rehash:Redis 会对哈希表做 rehash 操作。rehash 也就是增加现有的哈希桶数量,让逐渐增多的 entry 元素能在更多的桶之间分散保存,采用两个hash表默认使用哈希表 1,此时的哈希表 2 并没有被分配空间。随着数据逐步增多,Redis 开始执行 rehash,这个过程分为三步:

2022-03-16 14:05:21 99

原创 算法~清单

Java魔法类:Unsafe应用解析 - 美团技术团队高性能队列——Disruptor - 美团技术团队1.使用disruptor高性能内存队列实现一个分布式id服务2.服务接口url鉴权,不同的用户对应自身可访问的url集合多个用户对应一个服务,使用hash表结构存储<用户id, 用户可访问的url集合>用户可访问的url集合采用字符串前缀树存储, 子节点列表是用有序数组存储(基本不会变动,动), 通过二分法快速查找,子节点不是用hash储存,hash set对于小数据..

2022-02-17 10:03:51 223

原创 springcloud alibaba

​​​​​​版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub

2022-02-11 20:00:19 291

原创 seata

2pc的问题1.同步阻塞 参与者在等待协调者指令时,其实是在等待其他参与者的响应,在此过程中,参与者是无法进行其他操作的,也就是阻塞il其运行。倘若参与者协调者之间网络异常导致参与者一直收不到协调者信息,那么会导致参与者一直阻塞下去。2.单点 在2pc中,一切请求都来自协调者,所以协调者的地位是至关重要的,如果协调者宕机,那么就会使参与者一直阻塞占用事务资源。如果协调者也是分布式,使用选主方式提供服务,那么在一个协调者挂掉后,可以选取另一个协调者继续后续的服务,可以解决单点问题,但是,新协调者无法知道

2022-02-09 22:34:50 240

原创 elasticsearch

下载下载 Elastic 产品 | Elastic基本术语 · 语雀创建用户(基于安全考虑,es不可以root用户启动和操作)useradd chenyang 添加用户passwd chenyang 给用户设置密码1.查找ES进程ps -ef | grep elastic2.杀掉ES进程kill -9 2382(进程号)...

2022-02-08 15:38:16 972

原创 mysql

事务四大特性:原子性,一致性,隔离性,持久性隔离级别可通过show variables like 'transaction_isolation' 查看数据库使用的隔离级别,5.6和5.6以前用tx_isolation, 如果是oracle(默认隔离级别read committed)迁移过来的数据库,需要将mysql设置为读提交读未提交(read uncommitted),会出现脏读 读提交(read committed)会出现不可重复读,用到视图 可重复读(repeatable read)会

2022-01-27 09:28:27 1121

原创 docker使用

docker安装1.查看当前是否已安装yum list installed|gerp docker2.yum install docker3.启动 systemctl start docker4.查看状态 systemctl status dockerdocker command --help 查看指令的具体用法

2022-01-25 14:46:13 751

原创 http~

算法对称算法 AES 和 ChaCha20非对称算法RSA 和 ECC摘要算法:MD5和SHA1(已过时)目前 TLS 推荐使用的是 SHA-1 的后继者:SHA-2。SHA-2 实际上是一系列摘要算法的统称总共有 6 种,常用的有 SHA224、SHA256、SHA384...

2021-09-22 10:34:11 61

原创 kafka性能片

kafka性能的优化消息压缩算法在Kafka中,压缩可能发生在两个地方:生产端和Broker端 让Broker重新压缩消息的2中例外情况:Broker端指定和Producer端不同的压缩算法;Broker端发送了消息格式转换(可能为了兼顾老的kafka版本) 如果用一句话总结一下压缩和解压缩,那么我希望你记住这句哈:Producer端压缩,Broker端保持,Consumer端解压缩 对Kafka而言, 这4种压缩算法的性能测试结果很一致:在吞吐量方面,LZ4>Snappy>z

2021-08-04 09:53:26 54

原创 kafka安装

apache官网下载 kafka.tar.gz 包tar -zxvf kafka.tar.gz 解压tar包

2021-07-29 15:08:34 38

原创 zookeeper安装

进入apache zookeeper下载 zookeeper.tar.gz包rz上传至linuxtar -zxvf zookeeper.tar.gz 解压tar包mv zoo.xx.cfg zoo.cfg 进入conf目录 将zoo.xx.cfg重命名为zoo.cfgbin目录下, sh ./zkServer.sh start 启动1. 启动ZK服务: sh bin/zkServer.sh start2. 查看ZK服务状态: sh bin/zkServer.sh s..

2021-07-29 14:56:26 47

原创 jdk安装

进入oracle官网下载下载 tar.gz包,tar -zvxf jdk.tar.gz 解压tar包vim /etc/profile 添加环境变量export JAVA_HOME=/chenyang/soft/jdk1.8.0_301export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:$

2021-07-29 10:41:46 51

原创 Java液晶数字字体显示当前时间

import java.text.SimpleDateFormat;  import java.util.Date;    public class TestTime {      public static String[][] num0 = new String[][] { { " ", "-", " " }, { "|", " ", "|" }, { " ", &

2018-03-13 12:26:54 1220

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除