自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xy294636185的博客

xuy的博客

  • 博客(148)
  • 收藏
  • 关注

原创 java面试(缓存Redis)

击穿:redis中没有查询到数据。解决:设置热点数据永不过期。加载DB时防止并发。穿透:redis和mysql中都没有查询到数据。解决:参数校验,将没有数据的情况也存入redis中,引入布隆过滤器雪崩:redis中大量数据同时过期。解决:设置不同的过期时间。如果判断一个元素不在集合中则一定不在如果判断一个元素在集合中则存在一定误判率布隆过滤器只能加数据不能减数据。

2024-03-05 22:14:40 1359 1

原创 java面试(消息队列MQ)

MQ(MessageQueue)消息队列。队列(FIFO)先进先出的数据结构,消息由生产者发送到MQ,后由消费者对消息进行处理。QQ,微信就是MQ场景。

2024-03-05 15:59:02 931

原创 java面试(jvm)

有两种垃圾回收机制:1.引用计数:这种方式是给堆内存当中的每个对象记录一个引用计数,引用个数为0的就认为是垃圾。问题是无法解决循环引用的问题,会造成内存泄漏。2.根可达算法:内存中从引用根对象向下一直找引用,找不到的对象就是垃圾,可解决循环引用。GC Root:Stack(JVM Stack,Native Stack),class类,run-time constant pool常量池,static reference静态变量。

2024-03-04 23:13:47 945

原创 java面试(网络)

文件描述符(FD):形式上是整数,实际上是索引,指向内核为每个进程维护进程所打开的文件记录表,当程序打开/创建一个文件时,内核就会向i昵称返回一个FD。epoll:事件驱动,不再扫描所有的fd,只将用户关心(读写)的fd事件存放在内核的事件表中,这样减少了从用户到内核的拷贝数据。AIO:异步非阻塞IO:可靠性好,吞吐量高,适用于连接多,且连接长操作,例如相册服务器,视频流,JDK1.7+广播,协议简单,占用资源少,效率高。1.HTTP:连接简单,无状态,HTTPS:传输经过证书加密,安全性高。

2024-02-25 22:14:45 1018

原创 java面试(并发)

思路:fork/join框架,实例:https://blog.csdn.net/qq_40100414/article/details/119202893;扩展jvm底层参数:-XX:UsedBiasedLocking:是否打开偏向锁,默认不打开 -XX:BiasedLockingStartupDelay:默认4s,打开。1.AQS是java线程同步的框架,是jdk中很多锁的核心实现框架。1.volatile:保持变量的内存(线程)可见性,避免编译器优化,适用于一个线程写,一个读的场景。

2024-02-25 14:39:46 593

原创 spring

【代码】spring。

2023-10-07 17:32:43 172

原创 Netty(四)NIO-优化与源码

序列化,反序列化主要用于消息正文的转换。序列化:将java对象转为要传输对象(byte[]或json,最终都是byte[])反序列化:将正文还原成java对象。配置文件修改编解码器。

2023-10-06 14:53:04 427

原创 Netty(三)NIO-进阶

netty 功能 实现聊天室

2023-09-22 14:33:06 265

原创 计算机网络笔记

20 张图带你全面了解 HTTPS 协议,再也不怕面试问到了!

2023-09-15 09:47:06 77

原创 消息中间件笔记

聊聊 RocketMQ 主从复制:https://mp.weixin.qq.com/s/KI9hrEfLNVtRUwpU-fFznA。

2023-09-15 09:42:01 38

原创 多线程笔记

7000字+24张图带你彻底弄懂线程池:https://mp.weixin.qq.com/s/VN3RuVtmAelHe0xOtRZCTg。

2023-09-15 09:40:24 30

原创 Redis笔记

深度图解 Redis Hash(散列表)实现原理:https://mp.weixin.qq.com/s/1tES9pMr_EVi1zUiFhdkeQ。

2023-09-15 09:36:51 30

原创 ELK笔记

MySQL数据同步ES的4种方法:https://mp.weixin.qq.com/s/uVfjbLavsu9hNNuXDyn8Qg。

2023-09-15 09:32:42 21

原创 高并发笔记

如何设计一个高并发系统?

2023-09-15 09:29:40 149

原创 spring笔记

spring启动核心12个步骤:https://mp.weixin.qq.com/s/D6v_wwFXnsug8MwBiPqnhQ。

2023-09-15 09:25:00 35

原创 Netty(二)NIO-入门

netty入门

2023-09-14 18:08:28 191

原创 Netty(一)NIO-基础

netty-nio基础

2023-09-08 14:18:30 291

原创 Dubbo2.0

dubbo2.0

2023-09-04 13:49:08 84

原创 MyBatisPlus

mybatis进阶mybatisplus

2023-09-01 15:56:15 143

原创 nginx基础

nginx基础1. nginx安装1.1 常用版本Nginx开源版:http://nginx.org/Nginx plus商业版:https://www.nginx.comOpenresty:http://openresty.orgTengine:http://tengine.taobao.org/lnmp集成运行环境:oneinstack.com1.2 下载nginx常用版下载nginx-1.20.2.tar.gz文件,并解压指定目录:tar -zxvf nginx-1.20.2.t

2023-07-17 16:29:11 174

原创 KafKa 3.x(三、Eagle、Kraft、压测调优,源码解析)

Kafka-Eagle框架用于监控Kafka集群运行状况。官网https://kafka-eagle.org。

2023-07-12 14:24:23 1290 1

原创 KafKa 3.x(二、Broker,消费者)

1.zk存储的信息:broker.ids、leaders、controller2.工作理财3.服役:4.退役5.副本:副本好处:提高可靠性,生产环境一般2个默认1个,有ledaer和followerisr,ar,controller选举(第一次随机),leader挂了(leo,hw多删少补),follow挂了副本分配:负载均衡,保证数据分配手动副本分配:指定计划、执行计划,验证计划leader partition的负载均衡 10%手动增加副本因子6.存储机制。

2023-07-06 22:59:14 779

原创 Linux多虚拟机集群化配置详解(Zookeeper集群、Kafka集群、Hadoop集群、HBase集群、Spark集群、Flink集群、Zabbix、Grafana部署)

linux大数据集群环境搭建

2023-06-27 22:46:56 1348

原创 Linux基础+命令操作+mysql、tomcat、nginx、RabbitMQ、Redis,ElasticSearch

linux基础、linux下安装常用中间件

2023-06-25 23:54:53 1082 1

原创 KafKa 3.x(一、入门)

kafka

2023-06-18 22:11:58 1881

原创 JAVA的BIO、NIO、AIO模式精解(二)

java.nio.channels包定义,表示IO源与目标打开的连接。Channel类似流,但不能直接访问数据,Channel只能与Buffer进行交互。NIO通道类似流,可异步读写数据,流只能单向。Channel是在NIO中的一个接口:public interface Channel extends Closeable{}

2023-06-02 12:57:42 214

原创 JAVA的BIO、NIO、AIO模式精解(一)

相关类接口间java.io。一个链接创建一个线程。可通过线程池优化成多客户端链接。

2023-04-26 08:39:58 869 1

原创 Redis原理

Redis中key是字符串,value是字符串或字符串集合。不过redis没有直接使用C语言的字符串。因为C中字符串存在问题:①获取字符串长度需要运算②非二进制安全③不可修改。Redis构建一种新的字符串结构,简单动态字符串SDS(SimpleDynamicString)。扩容:如果新字符串小于1M,则新空间为扩展后字符串长度的2倍+1。如果大于1M,则新空间为扩容后字符串长度+1M+1,称为内存预分配。优点:①获取字符串长度时间复杂度O(1)②支持动态扩容③减少内存分配次数④二进制安全。

2023-04-21 11:02:07 496

原创 Redis最佳实践

key:固定格式,简短,不包含特殊字符value:合理拆分,不BigKey。合适的数据结构。hash结构entry数量不超过1000。设置合理的超时时间。批处理方案:原生M操作。Pipeline批处理注意事项:批处理时不建议一次携带太多命令。Pipeline的多个命令之间不具备原子性。

2023-04-21 10:37:22 561

原创 Redis分布式缓存方案

RDB方式bgsave基本流程?-fork主进程得到子进程,共享内存空间。-子进程读取内存数据,并写入RDB。-用新RDB文件替换旧的RDB文件。RDB会在什么时候执行?save60 1000代表什么?-手动save或bgsave,被动服务停止时。代表60s内至少修改1000次才触发RDB。RDB缺点?-RDB执行间隔时间长,两次RDB之间写入数据有丢失风险。-fork子进程,压缩,写出RDB文件都比较耗时。

2023-04-21 10:30:16 925

原创 gost工具学习

gost工具学习

2022-09-24 15:17:10 247

原创 模拟springboot底层实现

springboot启动实现

2022-09-21 23:51:16 211

原创 ORM框架,反射,泛型,注解,CRUD实现

java orm框架实现

2022-09-14 23:07:07 358

原创 电商通用(四)

基于springcloud电商项目

2022-09-01 22:27:26 636

原创 电商通用(二)

springcloud 商城项目

2022-08-16 08:44:46 560

原创 Activiti进阶

Activiti进阶

2022-08-07 23:59:36 4434

原创 Activiti工作流入门

activiti工作流

2022-08-06 23:13:13 428

原创 mybatis-plus-enum实现枚举类型自动转换

枚举类型自动转换

2022-07-28 09:53:16 8318 2

原创 电商通用(三)

分布式

2022-07-24 10:57:30 751 1

原创 mysql基础易错总结

创建触发器创建只有一个执行语句的触发器:create trigger 触发器名 before|after 触发事件 on 表名 for each row 执行语句eg:create trigger dept_trig before insert on department for each row insert into trigger_time values(now());创建有多个执行语句的触发器:create trigger 触发器名 before|after 触发事件.

2022-06-17 17:11:46 636

空空如也

空空如也

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

TA关注的人

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