自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode 随笔】面试经典 150 题【中等+困难】持续更新中。。。

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。规则定义: 设学生 A 和学生 B左右相邻,A 在 B 左边;左规则: 当 B>A时,B的糖比A的糖数量多。右规则: 当 A>B时,A 的糖比B的糖数量多。相邻的学生中,评分高的学生必须获得更多的糖果 等价于 所有学生满足左规则且满足右规则。

2024-05-23 20:42:21 664

原创 深入理解JVM调优:让你的Java应用更上一层楼

JVM内存结构包括堆内存、方法区、程序计数器、虚拟机栈和本地方法栈等。其中,堆内存是JVM调优的重点,它分为新生代和老年代两部分。新生代又分为Eden区、From Survivor区和To Survivor区。JVM通过垃圾回收机制来自动管理堆内存。不同的垃圾回收器具有不同的特点,如CMS、G1、ZGC等。选择合适的垃圾回收器并进行适当配置,可以有效提升应用的性能。

2024-05-22 21:30:33 729 2

原创 【大数据篇】Spark:大数据处理的璀璨之星

结尾彩蛋:李华深吸了一口气,决定采取一系列步骤来定位和解决问题。首先,他回滚了Spark作业的最新变更,排除了因代码更新导致的错误可能性。接着,他仔细检查了作业的配置参数,如内存分配、并行度等,确保它们与集群资源相匹配。>- 然而,这些尝试都没有解决问题。李华意识到,可能需要更深入地分析作业的执行情况。他打开了Spark UI,仔细查看了作业的DAG(有向无环图)和执行阶段。在仔细观察后,他发现某个特定的Shuffle操作异常耗时,并且内存使用率极高。李华意识到这可能是问题的关键所在。他回想起之前

2024-05-21 09:56:20 1045

原创 【大数据篇】深入探索Scala:一种现代多范式编程语言

Scala使用var关键字声明变量,使用val关键字声明常量(不可变的变量)。var x = 10 // 变量 val y = 20 // 常量 Scala中的类型推断很强大,大多数情况下不需要显式声明变量的类型,编译器会根据变量的初始值自动推断类型。二、基本数据类型Scala有8种基本数据类型:Byte, Short, Int, Long, Float, Double, Char, Boolean。与Java类似,但Scala中没有byte、short、long、float和doubl

2024-05-21 09:24:58 417

原创 【大数据篇】Hadoop:大数据处理的核心基石

Hadoop决定创建一个由许多小伙伴组成的探险队,每个小伙伴都擅长处理不同类型的数据。他找到了擅长存储大量数据的“HDFS”(Hadoop Distributed File System),让它负责建造一个巨大的数据仓库,用来存放所有收集到的数据。接着,Hadoop又找到了擅长并行处理的“MapReduce”兄弟俩。Map哥哥负责将数据拆分成小块,让探险队的每个成员都能同时处理一部分数据;而Reduce弟弟则负责将处理完的数据汇总起来,形成最终的结果。在HDFS和MapReduce的帮助下,Hadoop

2024-05-20 21:57:41 1250

原创 【LeetCode 随笔】面试经典 150 题【中等+困难】持续更新中。。。

思路如下:该问题的核心是在给定的股票价格数组中,找出可以执行多次买卖操作(即同一天内可以买入并卖出)以获得最大利润的方式。由于可以多次买卖,所以只要股票的价格在连续两天中是上涨的,就可以在第一天买入并在第二天卖出以获取利润。给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。思路如下:首先对整个数组实行翻转,这样子原数组中需要翻转的子数组,就会跑到数组最前面。这时候,从 kkk 处分隔数组,左右两数组,各自进行翻转即可。

2024-05-20 21:15:25 980

原创 【随笔】Dubbo高级特性

注册中心挂了,服务是否可以正常访问?可以,因为dubbo服务消费者在第一次调用时,会将服务提供方地址缓存到本地,以后在调用则不会访问注册中心。当服务提供者地址发生变化时,注册中心会通知服务消费者。负载均衡负载均衡策略(4种) :Random :按权重随机,默认值。按权重设置随机概率。RoundRobin :按权重轮询LeastActive:最少活跃调用数,相同活跃数的随机。ConsistentHash:一致性 Hash,相同参数的请求总是发到同一提供者。

2024-05-19 21:10:58 121

原创 Kafka:分布式流处理平台的深度解析

在一个繁华的科技城市“数据流之城”中,有一个名叫李华的数据工程师,他对于数据流处理有着深厚的热爱和独到的见解。在这个城市中,Kafka是一个不可或缺的数据传输和处理平台,它承载着城市中无数数据流的生命线。李华作为数据流之城的精英,负责维护和优化Kafka集群的性能。他深知Kafka中的每一个组件,如Broker、Producer、Consumer、Topic和Partition,都扮演着重要的角色。有一天,数据流之城的金融系统突然遇到了瓶颈,Kafka集群中的数据传输变得异常缓慢,导致交易数据延迟严重。

2024-05-18 10:28:01 1026

原创 深度解析锁机制:原理、使用场景与重要性

在编程世界的某个角落,有一个繁华而复杂的城市——代码之城。这座城市由无数的程序组成,它们像居民一样,各自在各自的区域内忙碌着。然而,这个城市也面临着一些挑战,那就是资源竞争和数据一致性的问题。在代码之城的中心,有一家名叫“Java锁匠铺”的小店。这家店的店主是一位名叫“Sync”的锁匠,他精通各种锁的机制,尤其擅长制作和使用Java中的锁。Sync的锁匠铺是城市中的一道亮丽风景线,吸引了众多面临资源竞争和数据一致性问题的程序前来寻求解决方案。

2024-05-17 21:57:28 999

原创 首次面试实习岗,有点紧张。。。

今天阳光明媚,阳光透过窗户洒在我的书桌上,给这个原本有些紧张的日子增添了几分温暖。作为一名大三的学生,我深知实习经验对于未来找工作的重要性。因此,当得知有一个外包实习岗位的机会时,我毫不犹豫地投递了简历,并收到了面试邀请。下午一点,我准时出发,踏上了前往面试地点的地铁。车厢里人潮涌动,但我的心中只有一件事——即将到来的面试。我反复检查着自己的简历和面试准备材料,深怕漏掉什么重要的信息。地铁飞驰在轨道上,我的思绪也随之飘飞,想象着面试官可能会问的各种问题。经过一个小时的车程,我终于到达了面试地点。站在公司

2024-05-17 21:33:05 1119

原创 【面试宝典笔记】框架篇(本篇很长,请耐心看完。3.6w字+33图解)

@SpringBootConfiguration 是一个组合注解,由 @ComponentScan、@EnableAutoConfiguration 和 @SpringBootConfiguration 组成@SpringBootConfiguration 与普通 @Configuration 相比,唯一区别是前者要求整个 app 中只出现一次@ComponentScan excludeFilters - 用来在组件扫描时进行排除,也会排除自动配置类@EnableAutoConfiguratio

2024-05-16 20:06:33 792

原创 【面试宝典笔记】虚拟机篇

创建 JVM,调用类加载子系统加载 class,将类的信息存入方法区创建 main 线程,使用的内存区域是 JVM 虚拟机栈,开始执行 main 方法代码如果遇到了未见过的类,会继续触发类加载过程,同样会存入方法区需要创建对象,会使用堆内存来存储对象不再使用的对象,会由垃圾回收器在内存不足时回收其内存调用方法时,方法内的局部变量、方法参数所使用的是 JVM 虚拟机栈中的栈帧内存调用方法时,先要到方法区获得到该方法的字节码指令,由解释器将字节码指令解释为机器码执行调用方法时,会将要执行的指令行号

2024-05-16 19:43:39 859

原创 【面试宝典笔记】并发篇

悲观锁的代表是 synchronized 和 Lock 锁其核心思想是【线程只有占有了锁,才能去操作共享变量,每次只有一个线程占锁成功,获取锁失败的线程,都得停下来等待】线程从运行到阻塞、再从阻塞到唤醒,涉及线程上下文切换,如果频繁发生,影响性能实际上,线程在获取 synchronized 和 Lock 锁时,如果锁已被占用,都会做几次重试操作,减少阻塞的机会乐观锁的代表是 AtomicInteger,使用 cas 来保证原子性其核心思想是【无需加锁,每次只有一个线程能成功修改共享变量,其它失

2024-05-15 15:34:34 729

原创 【面试宝典笔记】基础篇

索引计算方法首先,计算对象的 hashCode()再进行调用 HashMap 的 hash() 方法进行二次哈希二次 hash() 是为了综合高位数据,让哈希分布更为均匀最后 & (capacity – 1) 得到索引数组容量为何是 2 的 n 次幂计算索引时效率更高:如果是 2 的 n 次幂可以使用位与运算代替取模扩容时重新计算索引效率更高: hash & oldCap == 0 的元素留在原来位置 ,否则新位置 = 旧位置 + oldCap

2024-05-15 14:06:03 759

原创 入职Java,不会Elasticsearch被开除了。。。

在新公司里,李华被分配到了一个涉及大数据处理的团队。这个团队正在开发一个基于Elasticsearch的搜索引擎项目,为公司客户提供高效的搜索服务。李华对这个项目非常感兴趣,因为他认为这是一个能够锻炼自己技能和实现价值的好机会。然而,在入职的第一天,李华就意识到自己面临着一个新的挑战——他之前并没有接触过Elasticsearch。虽然他在Java编程和Git操作方面已经有了足够的经验,但Elasticsearch作为一个全新的技术栈,对他来说仍然是一片未知的领域。李华并没有气馁,他相信自己有能力在短时

2024-05-15 09:22:29 955

原创 【Java开发面试系列】JVM相关面试题(精选)

面试官:强引用、软引用、弱引用、虚引用的区别?候选人:嗯嗯~强引用最为普通的引用方式,表示一个对象处于有用且必须的状态,如果一个对象具有强引用,则GC并不会回收它。即便堆中内存不足了,宁可出现OOM,也不会对其进行回收软引用表示一个对象处于有用且非必须状态,如果一个对象处于软引用,在内存空间足够的情况下,GC机制并不会回收它,而在内存空间不足时,则会在OOM异常出现之间对其进行回收。但值得注意的是,因为GC线程优先级较低,软引用并不会立即被回收。弱引用表示一个对象处于可能有用且非必须的状

2024-05-14 09:37:59 1141 2

原创 【Java开发面试系列】并发编程相关面试题(精选)

面试官:线程中的 wait 和 sleep方法有什么不同呢?候选人:它们两个的相同点是都可以让当前线程暂时放弃 CPU 的使用权,进入阻塞状态。不同点主要有三个方面:第一:方法归属不同sleep(long) 是 Thread 的静态方法。而 wait(),是 Object 的成员方法,每个对象都有第二:线程醒来时机不同线程执行 sleep(long) 会在等待相应毫秒后醒来,而 wait() 需要被 notify 唤醒,wait() 如果不唤醒就一直等下去第三锁特性不同wait 方法的调用必须先获取 wa

2024-05-14 09:35:16 855 1

原创 【Java开发面试系列】常见集合相关面试题(精选)

面试官:好的,我看你对hashmap了解的挺深入的,你知道hashmap在1.7情况下的多线程死循环问题吗?候选人:嗯,知道的。是这样jdk7的的数据结构是:数组+链表在数组进行扩容的时候,因为链表是头插法,在进行数据迁移的过程中,有可能导致死循环比如说,现在有两个线程线程一:读取到当前的hashmap数据,数据中一个链表,在准备扩容时,线程二介入线程二也读取hashmap,直接进行扩容。因为是头插法,链表的顺序会进行颠倒过来。比如原来的顺序是AB,扩容后的顺序是BA,线程二执行

2024-05-13 20:04:12 817

原创 入职Java,不会git被开除了。。。

在一个繁华的都市中,李华怀揣着对Java编程的热爱和憧憬,成功应聘了一家知名的科技公司。他对于即将到来的职场生活充满了期待,希望能够在那里施展自己的才华,实现自己的职业梦想。然而,就在他入职的第一天,却发生了一件让他意想不到的事情。公司为了让他更快地融入团队,安排了一场技术分享会,要求他和其他新入职的同事一起参与。在分享会上,团队领导提到了Git这个重要的版本控制系统,并询问大家是否熟悉其操作。李华顿时感到一阵紧张,因为他之前并没有接触过Git。虽然他在Java编程方面有着扎实的基础,但对于版本控制这个

2024-05-13 12:02:47 34620 89

原创 【Java开发面试系列】消息中间件相关面试题(精选)

面试官:RabbitMQ-如何保证消息不丢失。候选人:嗯!我们当时MYSQL和Redis的数据双写一致性就是采用RabbitMQ实现同步的,这里面就要求了消息的高可用性,我们要保证消息的不丢失。主要从三个层面考虑第一个是开启生产者确认机制,确保生产者的消息能到达队列,如果报错可以先记录到日志中,再去修复数据第二个是开启持久化功能,确保消息未消费前在队列中不会丢失,其中的交换机、队列、和消息都要做持久化第三个是开启消费者确认机制为auto,由spring确认消息处理成功后完成ack,当然也需要

2024-05-13 07:42:56 940

原创 【Java开发面试系列】微服务相关面试题(精选)

面试官:Spring Cloud 5大组件有哪些?候选人:早期我们一般认为的Spring Cloud五大组件是Eureka : 注册中心Ribbon : 负载均衡Feign : 远程调用Hystrix : 服务熔断Zuul/Gateway : 网关随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件注册中心/配置中心 Nacos负载均衡 Ribbon服务调用 Feign服务保护 sentinel服务网关 Gateway

2024-05-12 10:35:20 959

原创 【Java开发面试系列】框架相关面试题(精选)

面试官:Spring框架中的单例bean是线程安全的吗?候选人:不是线程安全的,是这样的当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求对应的业务逻辑(成员方法),如果该处理逻辑中有对该单列状态的修改(体现为该单例的成员属性),则必须考虑线程同步问题。Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。比如:我们通常在项目中使用的Spring bean都是不可可变的状态(比如Serv

2024-05-12 09:52:17 558

原创 【Java开发面试系列】Redis相关面试题(精选)

缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它缓存击穿的意思是对于设置了过期时间的key,缓存在某个时间点过期的时候,恰好这时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端 DB 加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把 DB 压垮。

2024-05-11 21:51:47 1034

原创 【Java开发面试系列】MySQL相关面试题(精选)

面试官:MySQL中,如何定位慢查询?候选人:嗯~,我们当时做压测的时候有的接口非常的慢,接口的响应时间超过了2秒以上,因为我们当时的系统部署了运维的监控系统Skywalking ,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢,这里可以看到SQL的具体的执行时间,所以可以定位是哪个sql出了问题如果,项目中没有这种运维的监控系统,其实在MySQL中也提供了慢日志查询的功能,可以在MySQL的系统配置文件中开启这个慢日志的功能,并且也可以设置SQL执行超过多少时间来记录到

2024-05-11 12:39:37 856

原创 IK分词器:深入了解中文分词的神兵利器

词典分词是IK分词器的基础。首先,IK分词器会维护一个包含大量中文词汇的词典。在分词过程中,IK分词器会按照以下步骤进行:文本预处理:IK分词器会将输入的文本进行预处理,包括去除标点符号、空格等无关字符,以及转换为小写(如果需要)。词典匹配:IK分词器会从文本的起始位置开始,依次与词典中的词汇进行匹配。它使用了一种称为“最大匹配法”的策略,即尽可能匹配最长的词汇。具体来说,IK分词器会尝试从当前位置开始,向后匹配词典中的词汇,直到无法匹配为止。候选词生成:通过词典匹配,IK分词器会生成一系列候选词。

2024-05-10 21:21:14 964

原创 Java并发编程之锁的艺术:面试与实战指南(四)

内部状态(State):AQS使用一个volatile int类型的成员变量来表示同步状态,通过内置的FIFO队列来完成获取资源线程的排队工作。FIFO队列:AQS使用一个内部的FIFO队列来完成等待队列的管理,当前线程获取同步状态失败时,AQS会将当前线程以及等待状态等信息构造成为一个节点(Node)并将其加入等待队列,同时会阻塞当前线程,当同步状态释放时,会把节点从队列中唤醒出来,使得线程能够再次尝试获取同步状态。模板方法:AQS通过定义一系列模板方法,使得子类可以通过继承AQS并重写这些模板方法来

2024-05-10 20:39:38 1204 3

原创 Java并发编程之锁的艺术:面试与实战指南(三)

volatile关键字的主要作用是确保多线程环境下的变量可见性。当一个变量被声明为volatile时,它会保证修改的值会立即被更新到主内存,当有其他线程需要读取这个变量时,它会去主内存中读取新值。这样可以避免由于线程的工作内存和主内存中的数据不一致而导致的“脏读”问题。此外,volatile关键字还可以禁止JVM的指令重排优化,这有助于保持程序执行的顺序性。然而,需要注意的是,虽然volatile关键字可以保证可见性和禁止指令重排优化,但它并不能保证复合操作的原子性。也就是说,如果多个线程同时对同一

2024-05-09 14:35:14 1207

原创 Java并发编程之锁的艺术:面试与实战指南(二)

独享锁是指该锁一次只能被一个线程所持有。特点:独享锁是一种悲观保守的加锁策略,它避免了读/读冲突。如果某个线程获取了独享锁,那么其他所有试图访问该资源的线程都必须等待,直到该锁被释放。这种策略可能会限制不必要的并发性,因为在某些情况下,读操作并不会影响数据的一致性。示例:在Java中,ReentrantLock就是以独占方式实现的互斥锁。偏向锁是Java中的一种锁优化策略,用于减少没有竞争情况下的同步操作的开销。

2024-05-09 09:05:14 763

原创 Java并发编程之锁的艺术:面试与实战指南(一)

锁(Lock)是一种同步机制,用于控制多个线程对共享资源的访问。当一个线程需要访问某个共享资源时,它必须先获取该资源的锁,以确保在访问过程中其他线程不会同时访问该资源,从而避免数据的不一致性和其他并发问题。悲观锁认为并发操作之间发生冲突的可能性很高,因此,在数据被处理时,它会锁定资源以确保数据在处理过程中不会被其他事务修改。特点悲观锁在数据被修改前就已经加锁,数据在被处理的过程中不会被其他事务读取或修改。悲观锁的实现依赖于数据库提供的锁机制,如行锁、表锁等。

2024-05-08 15:36:25 804

原创 Elasticsearch:开启高效搜索与分析的新篇章

Elasticsearch是一个基于Lucene的开源搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有HTTP Web界面和基于JSON的文档。全文搜索引擎是Elasticsearch的核心功能之一,它允许用户在整个文本数据集中执行复杂的搜索查询,而不仅仅是简单的关键词搜索。除了全文搜索,Elasticsearch还提供了许多其他功能,如结构化搜索、分析、聚合以及数据可视化等。Elasticsearch以其卓越的性能、丰富的功能和易用性,成为了企业和个人在搜索和分析领域的重要工具。

2024-05-08 09:34:54 1195

原创 Spring MVC、Boot、Cloud:一站式对比与解析

在Java的Web开发领域,Spring系列框架一直扮演着举足轻重的角色。随着技术的不断演进,从Spring到SpringMVC,再到SpringBoot和SpringCloud,这些框架各自有着不同的定位和功能。本文将详细介绍 SpringBoot、SpringMVC 和 SpringCloud 之间的区别。

2024-05-08 08:39:53 726 1

原创 RabbitMQ:深入理解高性能消息队列

RabbitMQ是一个由Erlang语言开发的AMQP(高级消息队列协议)开源实现,它提供了丰富的API供开发者使用,并且支持多种消息协议。RabbitMQ的主要功能包括消息的生产、存储、消费和路由等,通过灵活的路由规则和消息队列机制,实现了系统间的解耦和异步通信。RabbitMQ作为一款高性能、高可靠性的开源消息队列系统,在分布式系统和服务化架构中发挥着重要作用。通过深入理解RabbitMQ的基本概念工作原理和使用场景等方面的知识,我们可以更好地利用RabbitMQ解决系统间的通信和协作问题。

2024-05-07 12:49:21 1210

原创 (春招.秋招.应届生实习)【面试题】之 数据结构篇

哈希冲突是指不同的键通过哈希函数计算后得到了相同的哈希值,即它们被映射到了哈希表的同一个位置。由于哈希表的每个位置只能存储一个元素,因此必须解决这种冲突。解决哈希冲突的方法主要有以下几种:链地址法:当发生哈希冲突时,将具有相同哈希值的元素以链表的形式存储在同一位置。这种方法简单直观,但可能导致某些位置的链表过长,影响查找效率。开放地址法:当发生哈希冲突时,通过一定的探测序列在哈希表中寻找下一个可用的位置。常见的开放地址法有线性探测、平方探测和双重散列等。这种方法可以减少空间浪费,但可能需要更多的计

2024-05-07 11:56:30 860

原创 (春招.秋招.应届生实习)【面试题】之 计算机网络篇

ARP(地址解析协议)是网络层的一个协议,它的主要作用是将网络层使用的32位IP地址解析为链路层使用的MAC地址。在一个局域网内,当一台主机需要发送数据包给另一台主机时,它只知道目标主机的IP地址,但不知道目标主机的MAC地址。此时,主机就会发送一个ARP请求广播,询问目标IP地址对应的MAC地址是什么。局域网内的其他主机都会收到这个广播,但只有目标主机会响应并返回自己的MAC地址。这样,发送主机就得到了目标主机的MAC地址,从而可以完成数据包的发送。回答:路由选择。

2024-05-07 11:36:42 588

原创 Spring Task 定时方法怎么写?Cron表达式精讲

import org//cron表达式 @Scheduled(cron = "0/5 * * * *?") //每五秒执行一次 //方法名不做限制,任意写 public void executeTask() {//这里写处理逻辑... System . out . println(new Date());} }//cron表达式 @Scheduled(cron = "0/5 * * * *?

2024-05-07 11:00:47 629

原创 深入探索JDK:Java开发工具包的奥秘

JDK是Java开发工具包的简称,是Java语言的软件开发工具包,主要用于Java程序的开发、编译、运行和调试。JDK包含了Java的运行环境(Java Runtime Environment,简称JRE)和Java的一些实用工具(如javac、java、javadoc等)。此外,JDK还提供了Java API类库,这是Java应用程序编程接口,为Java应用提供了很多现成的类,可以直接引用。JDK作为Java编程的基础工具包,在Java程序的开发、编译、运行和调试等方面发挥着重要作用。

2024-05-06 22:31:58 1186 2

原创 深入解析JDBC:Java数据库连接技术

JDBC是Java语言中用来执行SQL语句的Java API,由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC为数据库开发人员提供了一个标准的API,据此可以连接到任何提供了JDBC驱动程序的数据库系统,如MySQL、Oracle、SQL Server等。JDBC作为Java连接数据库的标准接口,具有简单、易用、可靠的特点,并且可以与任何提供了JDBC驱动程序的数据库系统进行交互。

2024-05-05 23:35:38 908 1

原创 MongoDB:非关系型数据库的翘楚

MongoDB是一款由C++编写的开源文档型数据库,它采用BSON(Binary JSON)作为存储格式,支持动态查询、全文索引、地理空间索引等功能。MongoDB的最大特点是其灵活的文档模型,可以存储复杂的数据结构,并且支持水平扩展,可以轻松应对海量数据的存储和查询需求。MongoDB以其独特的优势,如灵活的文档模型、强大的查询功能、水平扩展性和高可用性等,在大数据和云计算时代脱颖而出,成为了非关系型数据库中的佼佼者。

2024-05-05 21:12:12 981

原创 Netty超详细解答十问十答

然后,Netty的事件循环(EventLoop)会轮询就绪队列中的事件,并调用相应的ChannelHandler进行处理。EventLoop是Netty中处理I/O操作的单线程事件循环,它负责监听Channel上的事件,并调用相应的ChannelHandler进行处理。在Netty中,编码器和解码器是用于处理网络数据的转换的组件。在Netty中,Channel表示一个到某个实体(如硬件设备、文件、网络套接字或者能够执行I/O操作的程序组件)的开放连接,如读操作和写操作。

2024-05-04 22:06:27 1000

原创 SpringCloud相关面试题(详细解答)

Eureka:服务发现和注册中心,用于管理微服务实例的注册和发现。服务提供者将自己的信息注册到Eureka Server上,服务消费者从Eureka Server上获取服务提供者的信息,从而进行远程调用。Ribbon:客户端负载均衡器,它基于客户端的负载均衡策略,可以在服务消费者端进行负载均衡。Ribbon内置了多种负载均衡策略,如随机、轮询、加权轮询等。Hystrix:断路器模式的实现,用于解决分布式系统的雪崩效应。

2024-05-04 20:04:35 924

微信支付相关代码之jsapi支付

微信支付相关代码之jsapi支付

2024-04-08

kafka minio knife4j 图片识别文字

kafka minio knife4j 图片识别文字

2024-04-08

elasticsearch插件IK分词器

IK分词器

2024-03-28

微信小程序课程设计复制粘贴版文档-哔哩哔哩教程同步-源码

https://www.bilibili.com/video/BV1ai42197xq/?vd_source=6e62537249f1252539e2c1f33eac496d 哔哩哔哩有同步的教程

2024-03-20

空空如也

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

TA关注的人

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