自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 分布式-锁

在多线程环境下,针对一些共享资源往往会出现线程安全问题,需要加锁校准程序执行过程。

2024-11-11 18:53:56 147

原创 三、Kafka集群

高并发、高可用、动态扩展。主备数据架构、双活节点、灾备数据中心。如果是服务的地理范围过大也可以使不同的集群节点服务不同的区域,降低网络延迟。

2024-11-03 17:37:31 1152

原创 二、kafka生产与消费全流程

在上面的demo中,由于消息的key和value都是String类型的,就可以使用kafka.client提供的String序列化器,如果想要发送其他自定义类型的对象,可以手动编写一个序列化器和反序列化器,实现Serializer接口,将对象和byte数组互相转换即可。提交最后一次消费消息的偏移量,下一次消费就从上次提交的偏移量开始,如果一个新的消费者群组消费一个主题的消息,可以根据不同的配置来指定起始的偏移量。群组之间的消费是互不干扰的,比如群组A的消费者和群组B的消费者可以同时消费同一个分区的消息。

2024-09-26 18:00:52 1209

原创 一、Kafka入门

双十一秒杀、春节12306场景有流量洪峰,但是后端服务器短时间内无法处理大量请求,使用消息中间件可以缓存涌入进来的大量请求,后端服务慢慢消费这些请求,尽最大努力处理请求。在群组消费者群组场景下,每个分区的消息只能由一个消费者消费,但是一个消费者可以消费多个分区的消息。由于消费消息相对于生产消息很慢,可以增加分区去提高消费的并发度,从而平衡生产和消费的速度。进入kafka的bin目录,编写两个启动脚本,一个启动zookeeper,一个启动kafka。:比较依赖网络,网络的吞吐量对kafka集群的影响很大。

2024-09-24 16:51:03 932

原创 分布式框架 - ZooKeeper

是一个分布式程序的协调服务,是Hadoop和Hbase的重要组件。提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

2024-09-20 10:18:40 1127

原创 九、Redis 的实际使用与Redis的设计

在线上系统中,一定不会单纯的只部署一个Redis集群,而是使用Redis结合其他的多级缓存应用进行架构。使用多级缓存架构的优点就是可以使不同类型的数据分布在不同的应用中,比如redis的热点key可以存储到nginx本地缓存、服务集群的本地缓存,进而分散单应用的服务压力。

2024-09-13 18:59:26 980

原创 八、Redis缓存运用问题

如果缓存里的数据和数据库里的数据不一致,那么应用程序从缓存读取的数据是一个错误的数据。

2024-09-09 16:18:41 608

原创 设计模式-1 概念 & 创建型模式

用工厂类创建service类的对象。

2024-08-23 07:57:36 613

原创 JavaSE 集合

调用空构造器时初始化 Object[] elementData 数组,长度为10;初始化 size 属性,值为0;当elementData 数组中的10个位置都有元素后,添加第11个元素时数组扩容;扩容长度为原数组的1.5倍;扩容逻辑是创建一个长度为 15 的数组,将旧数组的数据拷贝到新数组中。

2024-08-20 21:02:43 718

原创 JavaSE 反射

在java字节码文件(.class文件)中,存放了一个Class类的实例,通过这个实例,可以拿到字节码文件里面的信息:包括构造器、字段、方法等。

2024-08-20 09:29:33 260

原创 JavaSE 线程

如果未来的另一个线程调用了相同对象的notify()、notifyAll()方法,等待池中的线程就会被唤醒,可以重新进入锁池争抢该对象的锁;①、wait()和notify()方法,必须放在同步代码块/同步方法中才能生效(因为在同步的基础上进行线程的通信才是有效的)②、sleep()和wait()方法的区别是:sleep()不会放弃对锁的占有权,wait()会放弃对锁的占有权;-- 伴随线程:皇上 --> 驾崩 --> 妃子陪葬;-- 底层逻辑:相当于调度这个线程的时候,给他的时间是整块的,不是分片的;

2024-08-20 09:20:17 540

原创 JavaSE I/O流

Java 基础流的用法

2024-08-20 08:47:19 187

原创 七、Redis的高并发 & 高可用(集群)

由于Redis集群的性能消耗不低,难以维护,使用限制太多。所以一般情况下在生产环境单台Redis或者主从 + 哨兵可以应对数据缓存,就不会搭建Redis集群。原理都讲清楚了,接下来我们搭建一个Redis集群玩一玩吧。

2024-07-27 21:02:40 1201

原创 六、Redis的高并发 & 高可用(主从+哨兵)

Redis高并发 & 高可用

2024-07-26 10:18:09 812

原创 三、Redis高级特性和应用

RTT:往返时间,数据花在网络上的时间;将所有的指令组装成pipeline,减少RTT;节约网络开销做批量处理;都执行或者都不执行Redis的事务是弱事务不推荐使用Redis做事务只有语法错误的时候才会做回滚,非法操作不会做回滚本质是一个脚本语言,类似存储过程。

2024-07-22 17:50:06 1035

原创 二、Redis高级数据类型

Redis高级数据类型

2024-07-22 17:15:44 252

原创 一、Redis基础

Redis基础知识

2024-07-22 16:38:39 536

原创 五、Redis底层原理 - 分布式锁

redis分布式锁

2024-07-22 15:53:19 918

原创 八、MySQL系统库

学习笔记

2024-04-12 17:39:15 610

原创 七、MySQL体系架构

学习笔记

2024-04-12 17:09:53 1909

原创 六、MySQL8新特性

学习笔记

2024-04-12 15:55:59 896

原创 四、Redis底层原理 - 持久化

Redis持久化机制

2024-04-09 11:31:08 454

原创 五、MySQL中的锁

学习笔记

2024-04-09 11:25:57 444

原创 四、MySQL 事务和事务隔离级别

学习笔记

2024-04-09 11:16:02 865

原创 三、MySQL调优

学习笔记

2024-04-09 10:53:49 1681

原创 二、MySQL中的索引

学习笔记

2024-04-09 10:44:11 922

原创 一、MySQL 数据库基础知识

学习笔记

2024-04-09 10:35:12 1807

原创 Java SE 反射

在java字节码文件(.class文件)中,存放了一个Class类的实例,通过这个实例,可以拿到字节码文件里面的信息:包括构造器、字段、方法等;

2024-04-09 10:29:58 404

原创 Java SE 线程

System.out.println("生产者生产了" + this.getBrand() + "-----" + this.getName());System.out.println("生产者生产了" + this.getBrand() + "-----" + this.getName());-- 如果未来的另一个线程调用了相同对象的notify()、notifyAll()方法,等待池中的线程就会被唤醒,可以重新进入锁池争抢该对象的锁;注意是沿着wait方法之后;

2024-04-09 10:02:19 907

原创 Java SE I/O流

字节流字符流输入流Reader输出流Writer。

2024-04-09 09:47:18 117

原创 NoSuchMethodError: ‘byte[] org.apache.poi.util.IOUtils.toByteArray(java.io.InputStream, int, int)‘

poi导出excel表提示方法不存在?new XSSFWorkBook报错?

2023-11-24 10:12:30 1668 1

04940B40-C8CB-4242-86A7-0F52AE3FEB49.java

04940B40-C8CB-4242-86A7-0F52AE3FEB49.java

2022-02-11

空空如也

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

TA关注的人

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