自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务2024最新面试题及答案

最终一致性(Eventually Consistent)指的是在分布式系统中,系统中的数据最终会达到一致状态,但在过程中可能会存在一段时间的不一致���,即一段时间内不同节点的数据状态可能会不同。一致性(Consistency)指的是在分布式系统中,同一时间内的不同节点之间的数据是一致的,即一个节点更新的数据在其他节点中也能够立即更新。在实际应用中,需要根据业务需求和实际情况进行权衡和取舍,选择合适的一致性和可用性方案,并采用适当的同步和复制机制,确保系统的数据状态在一定时间内最终达到一致状态。

2024-02-26 21:16:33 775 1

原创 关于Maps.newConcurrentMap();的使用方法,一篇文章讲清楚如何使用Maps.newConcurrentMap,以后千万别再用new HashMap<>()了

如果该键已经存在于哈希表中,则该方法返回键对应的值,否则会将键值对添加到哈希表中,并返回。接口中定义的一个方法,用于向哈希表中添加一个键值对,但是只有在该键不存在时才进行添加操作,否则返回已存在的值。然后,我们向这个哈希表中添加了三个键值对,分别是 “a”->1、“b”->2 和 “c”->3。方法删除键为 “c” 的键值对,并增加一个条件,只有在键为 “b” 的值等于 2 时才进行删除操作。方法增加一个条件,只有在键为 “b” 的值等于 2 时才进行替换操作,并将其替换为 20。

2024-02-26 13:57:23 1391 2

原创 Spring、SpringMvc、SpringBoot、Mybatis面试常见问题

静态方法和非 Spring 管理的 bean 中的方法不会生效:由于 Spring AOP 是通过代理对象实现的,因此只有 Spring 管理的 bean 中的方法才能生效。没有使用代理对象调用带有事务注解的方法:Spring AOP 只能代理调用方法的对象,如果我们通过 new 关键字创建对象,并且直接调用带有事务注解的方法,则 Spring AOP 无法创建代理对象,事务也就失效了。当代理对象调用方法时,拦截器会拦截方法调用,并在需要的时候进行数据的加载和查询。

2024-02-26 13:32:05 726 1

原创 Mysql面试题2_2024大厂面试题

水平分库的实现需要考虑到数据的分片策略、分片和表之间的关联、数据的迁移和备份等问题。在使用水平分库的方案时,需要考虑到数据的拆分策略、分片和表之间的关联、数据的迁移和备份等问题,并进行合理的规划和设计。在使用分库分表的方案时,需要考虑到数据的拆分策略、分片和表之间的关联、数据的迁移和备份等问题,并进行合理的规划和设计。综上所述,创建表时需要考虑到数据类型的选择、索引的创建、字段的数量、数据库设计范式、存储引擎的选择、数据表的分区等因素,并根据实际情况进行优化,以提高数据库性能和可维护性。

2024-02-23 16:53:44 463

原创 MySQL面试题_2024大厂面试题

在使用非聚簇索引的情况下,MySQL 会在索引中查找需要的数据,然后通过索引中的指针找到相应的数据行。可以将查询结果缓存到缓存中,下一次查询时,如果查询的数据已经存在于缓存中,则无需进行数据库查询操作,直接从缓存中获取结果即可。在B树中,插入和删除操作需要修改节点的结构,可能需要将数据项和索引项同时插入或删除,从而导致节点分裂或合并,影响整个树的结构。B树和B+树的查询效率都很高,但B+树的查询效率更稳定,因为它的内部节点可以存储更多的索引信息,减少了树的高度,从而减少了磁盘I/O次数,提高了查询效率。

2024-02-23 16:03:28 718

原创 Redis相关面试题3_2024 Java大厂面试题

同时,Redis 分片集群还可以通过自动化管理工具,如 Redis Sentinel 或者 Redis Cluster,来实现 Redis 集群的自动化部署和管理,从而进一步简化 Redis 集群的管理工作。Redis 分片集群是一种常见的 Redis 集群部署模式,它将数据分散到不同的 Redis 节点上,使得 Redis 集群可以水平扩展,并且可以提高 Redis 集群的性能和容量。需要注意的是,在 Redis 分片集群中,由于数据被分散到不同的节点上,可能会出现数据不一致和缓存穿透等问题。

2024-02-23 13:29:54 408

原创 Redis相关面试题2_2024 Java面试题

需要注意的是,Redis 分布式锁的实现还存在一些问题,例如 Redis 的单点故障、锁的粒度、锁的并发性等问题。RedLock 是 Redis 官方提供的分布式锁方案,它通过在多个 Redis 节点上获取锁,并通过 quorum(法定人数)算法来判断锁的可用性和正确性,从而保证锁的分布式一致性。当 Redis 主节点宕机时,从节点可能会被升级为主节点,此时原主节点上的锁数据可能没有同步到新的主节点,导致分布式锁的可用性和正确性受到影响。在缓存数据时,可以根据数据的更新频率和使用频率设置适当的过期时间。

2024-02-23 12:00:02 816

原创 Redis相关面试题_2024 Java面试题

当查询一个元素是否在集合中时,对该元素进行哈希,然后判断对应的比特数组中的值是否都为 1,如果都为 1,那么该元素很可能在集合中,如果有一个 0,那么该元素一定不在集合中。缓存穿透是指,在高并发场景下,请求的数据在缓存中不存在,并且对应的数据在数据库中也不存在,导致大量请求直接穿透到数据库,从而引起数据库压力过大,甚至导致宕机的情况。在缓存中使用布隆过滤器,可以在缓存命中之前先对请求参数进行过滤,如果请求参数被布隆过滤器拦截,则直接返回,不再进行后续的缓存和数据库查询操作,从而避免缓存穿透问题。

2024-02-23 11:47:35 718

原创 java特殊字符转义处理:特殊字符转义及解决方法

需要注意的是,在实际应用程序开发中,我们需要根据具体的需求进行 URL 转义,特别是在进行网络请求时,我们需要将请求参数进行转义,以避免出现解析错误或安全问题。同时,我们还需要注意 URL 编码和 URL 路径编码的区别,前者会对所有的字符进行编码,而后者只会对路径中的字符进行编码。需要注意的是,在实际开发中,我们需要根据具体的需求和场景选择最合适的方法来处理参数中的特殊字符,避免出现解析错误或安全问题。同时,我们还需要了解 URL 编码和转义的规则,以便于进行参数的编码和解码。

2024-02-22 20:37:04 6279 1

原创 Gson的用法详解_Gson如何进行进行序列化和反序列化

Gson 是一个流行的 Java 序列化/反序列化库,可以将 Java 对象和 JSON 字符串相互转换,并支持自定义序列化和反序列化过程。需要注意的是,在使用 Gson 库进行序列化和反序列化时,需要注意序列化和反序列化的对象类型和属性名。如果对象中的属性名与序列化后的 JSON 字符串中的属性名不一致,那么需要使用。方法接受两个参数,第一个参数是要反序列化的 JSON 字符串,第二个参数是反序列化后的对象的类型。在上面的代码中,我们将反序列化后的结果转型为。在上面的代码中,我们使用。

2024-02-22 19:58:06 740 1

原创 Java开发利器之Guava Cache的使用教程_Guava 工具类之Cache的使用

Guava 是一个流行的 Java 工具库,其中的 Cache 工具类提供了一个简单的缓存实现,可以在应用程序中缓存一些数据,避免每次使用时都需要重新获取或计算。创建一个新的缓存实例,指定缓存的最大容量、过期时间等参数。另外,在使用缓存时也需要注意缓存的一致性和正确性,避免出现不一致的情况。方法来获取该键的值,并将其存入缓存中。需要注意的是,如果缓存中的值可能被多个线程同时访问,那么需要使用。对象,该对象可以自动加载缓存项,并在缓存项过期时自动刷新。方法来获取该键的值,并将其存入缓存中。

2024-02-22 19:53:27 946 1

原创 CompletableFuture怎么使用_用法详解

CompletableFuture.allOf() 是一个静态方法,它接受一个 CompletableFuture 对象的可变参数列表,并返回一个新的 CompletableFuture 对象,这个新对象将在所有输入的 CompletableFuture 对象都完成后完成。在上面的代码中,我们首先创建了 3 个 CompletableFuture 对象,每个对象都通过 CompletableFuture.supplyAsync() 方法来异步执行获取 URL 内容的任务。两个方法来创建异步执行的任务。

2024-02-22 19:46:55 835 1

Google Gson 教程

Google Gson 是由 Google 开发的一个基于 Java 的开源库。它有 助于将 Java 对象序列化为 JSON,反之亦然。本教程采用简单直观 的方式来描述 Google Gson 的基础到高级概念以及如何使用其 API。

2024-02-26

空空如也

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

TA关注的人

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