自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023年JAVA面试题【maven】

合并该groupId在所有仓库中的元数据库文件(maven-metadata-repository.xml),比如maven官方插件的元数据文件所在的目录为org\apache\maven\plugins,该文件下有如下的条目。如果你在项目的pom中声明了该插件的版本,那么直接使用该版本的插件,否则合并所有仓库中groupId/artifactId/maven-metadata-repository.xml,找到最新的发布版本。配置一个打包类型为pom的聚合模块,然后在该pom中使用元素声明要聚合的模块。

2023-07-11 20:20:17 152

原创 2023年JAVA面试题【MQ】

RabbitMQ是一款开源的,Erlang编写的,消息中间件;最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 可以用它来:解耦、异步、削峰。Kafka 起初是由 Linkedin 公司采用 Scala 语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现己被捐献给 Apache 基金会。目前 Kafka 已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。

2023-07-09 15:06:15 460

原创 2023年JAVA面试题【Redis/Elasticsearch】

Redis 是一个使用 C 语言写成的,开源的高性能key-value非关系缓存数据库。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。Redis的数据都基于缓存的,所以很快,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis也可以实现数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的。

2023-07-09 14:18:57 262 1

原创 2023年JAVA面试题【MyBatis/Hibernate】

ORM(Object Relation Mapping)对象关系映射,是把数据库中的关系数据映射成为程序中的对象。使用 ORM 的优点:提高了开发效率降低了开发成本、开发更简单更对象化、可移植更强。实体类可以定义为 final 类,但这样的话就不能使用 hibernate 代理模式下的延迟关联提供性能了,所以不建议定义实体类为 final。

2023-07-09 13:07:49 137 1

原创 2023年JAVA面试题【Spring Boot/Spring Cloud】

通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行”它们。大多数Spring Boot应用程序需要最少的Spring配置。YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl。更具有结构性。spring cloud 是一系列框架的有序集合。

2023-07-08 15:46:11 785 1

原创 2023年JAVA面试题【Spring/Spring MVC】

aop 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。简单来说就是统一处理某一“切面”(类)的问题的编程思想,比如统一处理日志、异常等。ioc:Inversionof Control(中文:控制反转)是 spring 的核心,对于 spring 框架来说,就是由spring 来负责控制对象的生命周期和对象间的关系。简单来说,控制指的是当前对象对内部成员的控制权;控制反转指的是,这种控制权不由当前对象管理了,由其他(类,第三方容器)来管理。

2023-07-08 13:58:04 234 1

原创 2023年JAVA面试题【基础篇】

当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。

2023-07-07 16:43:20 76 1

原创 Java 对象不使用时,为什么要赋值 null ?【面试题】

在Java中,将一个对象引用赋值为null的主要目的是释放对象所占用的内存空间,并允许垃圾收集器回收该对象。当一个对象不再被引用时,如果没有其他引用指向它,它将变为不可访问的状态,并且可以被垃圾收集器标记为可回收的。通过赋值为null,可以明确地表达出不再需要该对象,并允许它在垃圾回收时被释放。需要注意的是,只有当对象不再被任何引用指向时,才能被垃圾收集器回收。如果没有赋值为null,垃圾收集器可能无法立即识别出该对象可以被回收,从而延迟垃圾回收的发生时间。

2023-07-01 15:03:34 665

原创 IO流【面试题】

IO流就是以流的方式进行输入输出主要用来处理设备之间的传输,文件的上传,下载和复制流分输入和输出,输入流从文件中读取数据存储到进程中,输出流从进程中读取数据然后写入到目标文件。

2023-07-01 14:59:50 176

原创 java 正确的停止一个线程【面试题】

停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。

2023-07-01 14:54:26 35

原创 JAVA访问权限修饰符

作用:用来修饰类、成员变量、成员方法、内部类,控制对其访问的权限。

2023-07-01 14:41:53 938

原创 Java多线程-第一章 进程与线程的基本概念

是一个专用的寄存器,用于表明指令序列中 CPU 正在执行的位置,存的值为正在执行的指令的位置或者下一个将要被执行的指令的位置,具体实现依赖于特定的系统。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。是cpu内部的少量的速度很快的闪存,通常存储和访问计算过程的中间值提高计算机程序的运行速度。2.在内存中检索下一个线程B的上下文并将其在 CPU 的寄存器中恢复,执行B线程。1.先挂起线程A,将其在cpu中的状态保存在内存中。上下文切换通常是计算密集型的,意味着此。

2023-06-28 22:23:55 44 1

原创 进程与线程的基本概念

是一个专用的寄存器,用于表明指令序列中 CPU 正在执行的位置,存的值为正在执行的指令的位置或者下一个将要被执行的指令的位置,具体实现依赖于特定的系统。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。是cpu内部的少量的速度很快的闪存,通常存储和访问计算过程的中间值提高计算机程序的运行速度。2.在内存中检索下一个线程B的上下文并将其在 CPU 的寄存器中恢复,执行B线程。1.先挂起线程A,将其在cpu中的状态保存在内存中。CPU通过为每个线程分配。

2023-06-28 22:22:21 41 1

原创 深挖 == 和 equals 的区别

对于基本类型和引用类型 == 的作用效果是不同的,如下所示:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;代码解读:因为 x 和 y 指向的是同一个引用,所以 == 也是 true,而 new String()方法则重写开辟了内存空间,所以 == 结果为 false,而 equals 比较的一直是值,所以结果都为 true。equals 本质上就是 ==,只不过 String 和 Integer 等重写了 equals 方法,把它变成了值比较。看下面的代码就明白了。

2023-06-10 00:55:33 47

原创 RocketMQ的高可用和高可靠

一个好的消息队列必须要满足两个条件,那就是高可靠性和高可用性。

2023-06-06 10:51:44 344

原创 Redis 的持久化机制是什么?各自的优缺点?

Redis 提供两种持久化机制 RDB(默认) 和 AOF 机制。

2023-06-06 10:21:06 101

原创 Spring-Bean的生命周期

生命周期指的是一个对象从创建到销毁的整个过程或阶段。在软件开发中,生命周期描述了一个对象或组件的状态变化和相关操作。而SpringBean的生命周期大致可分为“

2023-05-24 12:02:25 43

原创 MQ怎么保证消息不丢失?

在我们做业务时候很多时候需要用到消息队列,那消息队列中是怎么保证消息的可靠性的?我们今天学习目前主流的消息队列是怎么保证消息可靠性?

2023-05-16 18:06:08 996

原创 单体项目怎么增加吞吐量?

有很多项目业务起步阶段,为了快速验证产品可行性,选择了单体架构来实现系统。这种架构在满足快速迭代和上线的需求方面表现良好。然而,随着业务的发展,系统功能逐渐增多,代码变得庞大、臃肿和复杂。这使得系统的维护和扩展变得困难。特别是在大促活动时,系统面临瞬间的高并发流量冲击。为了应对这些情况,通常需要进行基础设施的升级和扩容,以确保系统的稳定性和性能。这往往需要投入大量的资金和资源。此外,由于单体架构的紧耦合性,一个模块的变更可能会影响到整个系统,导致代码的修改和发布变得困难和耗时。

2023-05-16 17:17:54 207 1

原创 【枚举工具类】判断是否存在枚举值

【代码】【枚举工具类】判断是否存在枚举值。

2023-03-31 17:56:05 856

原创 【Redis快在哪?第一期】

具体来说,跳表其实在链表的基础上,增加了多级索引,通过索引位置的几个跳转,实现数据的快速定位,它可以支持快速的查找、插入和删除操作,时间复杂度为 O(log n)。如果要插入一个元素,我们可以先创建一个新的节点,然后将新节点的 next 指针指向原来的下一个节点,再将前一个节点的 next 指针指向新节点。这些操作的时间复杂度都是 O(1)通过使用不同的数据结构,Redis 可以更好地适应不同类型的数据,并提供高效的数据操作,使得 Redis 在处理大量数据时具有非常高的性能,所以Redis为什么快?

2023-03-29 23:41:14 62

原创 【视频文件压缩】

【代码】【视频文件压缩】

2022-09-23 16:42:09 50

空空如也

空空如也

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

TA关注的人

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