自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过代码举例以及概念讲解泛型(泛型类,泛型接口,泛型方法,泛型边界--上界,下界与无界通配符)

通过代码举例以及概念讲解泛型(泛型类,泛型接口,泛型方法,泛型边界--上界,下界与无界通配符,泛型边界的场景使用)

2024-08-24 15:30:11 692

原创 通过问题复习java(检查学习情况)上

通过问题检查自身学习情况

2024-08-23 21:08:01 959

原创 巨简单的学生管理系统用于上课作业(数组,面向对象)

由数组,面向对象,使用Random生成包含数字与英文在内的验证码,包含键盘接受数字时的异常并解决

2024-08-22 17:39:19 385

原创 通过代码对java的lambda表达式和方法引用进行了解

测试类进行调用接口的实现类对象的toLength方法。测试类进行调用接口的实现类对象的toLength方法。测试类进行调用接口的实现类对象的toLength方法。测试类进行调用接口的实现类对象的create方法。函数式接口TestFunctional。函数式接口TestFunctional。函数式接口TestFunctional。函数式接口TestFunctional。

2024-08-20 21:19:02 590

原创 快速复习数据库(包含代码举例注释)

对数据库内容进行快速复习

2024-08-15 20:49:44 1350

原创 java基础每日一测Day01

java全栈每日一测,有许多易错题

2024-08-15 09:59:11 162

原创 eureka与客户端---eureka注册中心与服务提供者

总之,Eureka注册中心和服务提供者之间通过一系列的交互和协作,实现了服务的注册、发现、心跳、健康检查、故障处理、扩容缩容等核心功能。注册中心作为服务的注册表,维护了服务提供者的实例信息,并提供了服务查询和管理的接口。服务提供者作为Eureka客户端,通过与注册中心的通信,完成服务的注册、心跳、故障处理等操作。

2024-08-14 20:45:19 876

原创 nacos的临时实例和非临时实例以及nacos对客户端

临时实例(Ephemeral Instance):非临时实例(Persistent Instance):需要注意的一些细节:客户端初始化:服务注册流程:服务发现流程:心跳机制:配置管理流程:服务健康检查:实例的上下线和权重调整:安全与身份验证:容错和降级:监控和统计:

2024-08-14 20:42:55 887

原创 多线程常见面试题(详细回答附加代码举例)

【代码】多线程常见面试题(详细回答附加代码举例)

2024-08-12 14:50:11 653

原创 多线程详细讲解(包含全部内容)

包含了多线程从入门到精通的全部内容

2024-08-12 14:47:42 828

原创 RabbitMQ 如何避免消息堆积

消息堆积是消息中间件使用中常见的问题,它可能导致系统性能下降,甚至系统崩溃。理解和解决消息堆积问题对于保证系统的稳定性和可靠性至关重要。

2024-08-12 13:37:27 350

原创 Redis实现分布式锁---最基本的分布式锁、可重入分布式锁、 高可用的锁(附加常见面试题以及代码例子)

分布式锁是分布式系统中的一个重要概念,用于协调不同节点上的并发操作。Redis凭借其高性能和原子性操作,成为了实现分布式锁的热门选择。

2024-08-12 13:32:41 747

原创 Redis的缓存击穿、缓存雪崩、缓存穿透(附加常见面试题、场景以及代码讲解)

缓存击穿是指某个非常热点的数据,在缓存过期的一刻,同时有大量的请求来查询这个数据,导致所有的请求都落在数据库上。缓存雪崩是指在某一个时间段,缓存集中大面积失效,导致所有的查询请求都落到了数据库上,对数据库造成了巨大的压力。

2024-08-12 13:28:25 488

原创 Redis的Key过期策略和内存回收机制(附加面试常问问题及代码举例)

Redis作为一个内存数据库,内存管理是其核心功能之一。因此,Redis需要一种机制来清理不常用、无效或多余的数据,以确保可以继续提供可靠的服务。这就是Redis内存回收的主要目的。

2024-08-11 18:52:37 886

原创 Redis事务机制深度剖析以及面试官常问问题

Redis事务机制深度剖析以及面试官常问问题

2024-08-11 15:18:07 719

原创 MySQL InnoDB锁机制深度剖析(乐观锁、悲观锁、共享锁、排它锁、行锁、表 锁、死锁)

乐观锁适用于读多写少的场景,可以提高并发性能,但需要在应用层处理冲突。悲观锁适用于写多读少的场景,可以确保数据一致性,但可能影响并发性能。共享锁和排他锁是InnoDB实现并发控制的基础,理解它们有助于我们选择合适的查询方式。行锁提供了细粒度的并发控制,但要注意索引对行锁的影响。表锁在某些情况下是必要的,但应该谨慎使用,因为它会显著降低并发性。死锁是并发系统中的常见问题,需要通过合理的锁策略和事务设计来避免。间隙锁解决了幻读问题,但也可能导致某些操作被阻塞,需要在隔离性和并发性之间权衡。意向锁。

2024-08-11 13:37:35 1054

原创 JVM内存模型底层机制及垃圾收集机制深度剖析

堆内存是JVM中最大的一块内存区域,用于存储对象实例。

2024-08-10 18:30:28 708

原创 Java垃圾回收机制详解

垃圾回收(Garbage Collection,简称GC)是Java虚拟机(JVM)中的一种自动内存管理机制。它可以自动识别和清除不再使用的对象,释放内存空间,防止内存泄漏。// 创建对象// str1不再引用对象,该对象成为垃圾// 方法结束后str2也不再引用对象,两个String对象都会被回收。

2024-08-10 17:38:35 421

原创 Java(JVM)垃圾回收机制深度剖析(附带代码讲解举例)

其中,堆和方法区是线程共享的,而虚拟机栈、本地方法栈和程序计数器是线程私有的。

2024-08-10 17:36:31 862

原创 java面试小知识Day002(HashMap)附加详细解析

为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀,每个链表/红黑树长度大致相同。这个实现就是把数据存到哪个链表/红黑树中的算法。这个算法应该如何设计呢?我们首先可能会想到采用%取余的操作来实现。但是,重点来了:“取余(%)操作中如果除数是2的幂次则等价于与其除数减一的与(&)操作(也就是说hash%length==hash&(length-1)的前提是 length 是2的 n 次方;

2024-08-10 16:22:48 643

原创 java面试小知识Day002(反射)

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2024-08-10 16:18:18 282

原创 java面试小知识Day002(关于面向对象)

所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

2024-08-10 16:15:55 446

原创 Spring微服务的引领介绍讲解

2021.0.x (也称为 Jubilee) 2.6.x, 2.7.x (从 2021.0.3 开始)分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝。SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。单体架构:简单方便,高度耦合,扩展性差,适合小型项目。②缺点:架构非常复杂,运维、监控、部署难度提高。①优点:拆分粒度更小、服务更独立、耦合度更低。Java中单体架构与分布式架构的优缺点。微服务:一种良好的分布式架构方案。

2024-08-10 16:10:26 516

原创 对Spring拦截器详细讲解

HandlerInterceptor 是在 Java 的 Spring 框架中的一个接口,它用于拦截 Spring MVC 请求的处理。当一个请求到达 DispatcherServlet 并且确定了要调用的 Controller 和相应的Handler 方法之后,但请求真正到达这个 Handler 方法之前, HandlerInterceptor 允许你插入一些自定义的代码。要使拦截器生效,你需要在 Spring MVC 的配置中注册这个拦截器。

2024-08-10 15:59:59 768

原创 详细剖析SpringBoot控制反转和依赖注入以及Bean管理

扫描和注册:Spring容器启动时,会扫描指定包中的类,寻找使⽤了@Component 等注解的类,并将这些类注册为Bean定义。创建和初始化:对于单例作⽤域的Bean,Spring容器会在启动时⽴即创建这些Bean的实例,并进⾏依赖注⼊。依赖注⼊:当Spring容器创建⼀个Bean实例时,会检查其依赖(构造函数参数、Setter⽅法参数、字段)是否有@Autowired 注解,并从容器中查找相应类型的Bean进⾏注⼊。

2024-08-10 15:54:53 726

原创 对Java中的this与super详细解析

对Java中的this与super详细解析与对比

2024-08-09 17:25:32 290

原创 冒泡排序和选择排序详细讲解(附加代码注释)

冒泡排序和选择排序的据详细讲解和分析

2024-08-09 17:02:28 126

原创 @Param讲解,并对比使用与不使用

Param是 Java 中用于参数化测试(Parameterized Test)的注解,主要用于在 JUnit 测试框架中执行。它允许你编写一次测试代码,并用不同的数据集运行多次,从而提高测试的覆盖率和效率。

2024-08-09 13:41:16 422

原创 java面试小知识Day001-3

每天发布6篇12道java面试题,并附带详细讲解

2024-08-09 13:28:17 525

原创 快速学习MyBatis(复习)

..

2024-08-09 13:11:28 1040

原创 快速复习预习数据库

包含常见的数据库操作

2024-08-09 11:50:20 1114

原创 java面试小知识Day001-2

每天发布6篇12道java面试题,并附带详细讲解

2024-08-09 11:30:25 278

原创 通过代码理解什么是三层架构

通过代码详细理解三层架构

2024-08-09 10:55:13 479

原创 java面试小知识Day001-1

复合运算能强制转换与为什么nextLine()需要 nextInt()消耗换行符

2024-08-09 10:04:40 274

原创 Maven下载、环境变量配置与idea配置Maven

maven下载,环境变量配置 与idea配置maven

2024-08-09 09:07:47 196

原创 36个问题快速复习HTML5

HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它描述了网页的结构,通过各种标签来定义内容的含义和布局。与其他语义化标签(如 header, nav, article 等)的区别在于,div和span没有特定的语义,更加灵活。属性可以在 form 标签上使用,以禁用整个表单的 HTML5 验证。注释是用来解释代码的文本,不会显示在页面上。元素,以提供不同格式的音频文件,浏览器会选择第一个支持的格式。div和span都是无语义的容器元素,主要用于分组和应用样式。

2024-08-08 11:28:55 569

原创 37个问题快速复习CSS3

CSS (Cascading Style Sheets) 是用于描述HTML或XML文档样式的语言。margin重叠: 当两个垂直外边距相遇时,它们会合并成一个外边距,值为较大的那个。定位用于控制元素在页面上的精确位置。它可以创建复杂的布局,如固定导航栏、悬浮元素等。浮动塌陷是指当容器内所有子元素都浮动时,容器高度塌陷为0。浮动可以使元素脱离正常文档流,实现文字环绕或创建多列布局。浮动元素的起始位置是其在正常文档流中的位置。如果优先级相同,后面的规则会覆盖前面的规则。的优先级更高,因此文本会是蓝色。

2024-08-08 11:10:17 768

原创 stringjoiner和string,提供了那些好处,缺点是什么。和stringbuffer的区别

StringJoiner、String 和 StringBuffer 都是 Java 中用于处理字符串的类,但它们各有特点和适用场景。

2024-08-08 10:29:29 288

原创 为什么要有stringbuffer,它和string的区别,提供了那些优点,缺点是什么

在现代Java开发中,StringBuilder 类似于 StringBuffer,但是它不是线程安全的,因此在单线程环境中通常优先使用 StringBuilder,因为它提供了更好的性能。StringBuffer 主要在需要线程安全保证的情况下使用。StringBuffer 和 String 是Java中处理字符串的两种不同方式。它们之间的主要区别在于 String 对象是不可变的,而 StringBuffer 是可变的。下面是它们之间的对比,包括 StringBuffer 的优点和缺点。

2024-08-08 10:26:53 324

原创 html5快速复习

它提供了一个空白的绘图区域,可以用来创建动画、游戏图形、数据可视化等。这通常用于编辑现有数据或显示用户之前输入的信息。html元素分为行内元素,块级元素,行内块级元素,分别有什么特点。等标签可以清晰地表示页面结构,而不是全部使用无语义的。标签的作用是创建一个HTML表单,用于收集用户输入。: 表示与周围文字不同的文本,通常显示为斜体。: 表示需要引起注意的文本,通常显示为粗体。: 块级容器元素,用于组织和布局页面内容。什么是列表,无序,有序,定义列表怎么用。: 行内容器元素,用于标记文本的一部分。

2024-08-08 10:23:36 950

通过代码进行理解java的泛型,以及为什么要有泛型

通过代码进行理解java的泛型,以及为什么要有泛型

2024-08-07

Java基础知识总结,巨详细

该文档由观看黑马程序员课程以及AI理解进行总结的文档,内容会有些不足,大家可以在评论区讨论

2024-08-07

空空如也

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

TA关注的人

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