自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(287)
  • 资源 (11)
  • 收藏
  • 关注

原创 Elasticsearch 面试题

探索 Elasticsearch 面试题:成为搜索引擎专家的必经之路!在这个数据驱动的时代,Elasticsearch 作为强大的搜索引擎,越来越受到企业的青睐。无论你是刚入行的开发者,还是希望提升技能的资深工程师,掌握 Elasticsearch 的核心知识都是成功的关键。

2024-11-01 10:34:51 535

原创 Redis 面试题

在高并发和实时数据处理的时代,Redis 作为领先的内存数据库,成为开发者的必备工具。无论你是初学者还是经验丰富的工程师,理解 Redis 的核心概念和应用场景对你的职业发展至关重要!

2024-10-31 14:53:12 889

原创 MySQL 面试题

在当今数据驱动的时代,MySQL 是最受欢迎的开源数据库之一,掌握其核心知识对于每位开发者和数据库管理员来说至关重要!我们为你准备了一系列经典的 MySQL 面试题,涵盖从基础查询到复杂的优化技巧,帮助你全面提升数据库技能。无论你是刚入行的新人,还是经验丰富的专业人士,这些面试题将帮助你巩固知识、提升自信,轻松应对面试挑战。通过深入解析每个问题,你不仅能理解 MySQL 的强大功能,还能掌握最佳实践和常见陷阱,为你的职业发展铺平道路。

2024-10-28 11:25:31 736

原创 Java 多线程面试题

准备面试时,掌握 Java 多线程是提升竞争力的关键!随着现代应用对高并发、高性能的需求不断增加,面试官越来越重视应聘者在多线程编程方面的能力。通过了解和熟练运用多线程相关的知识,你不仅能在面试中脱颖而出,还能在实际开发中游刃有余。我们将为你整理出一系列经典的 Java 多线程面试题,涵盖线程的创建、同步、死锁、线程池等核心概念,帮助你深入理解多线程的原理和应用。无论你是初学者还是经验丰富的开发者,这些面试题都将成为你自我提升和准备面试的绝佳资源。让我们一起探索 Java 多线程的世界,为你的职业发

2024-10-28 10:40:39 750

原创 Java 集合框架面试题

在 Java 开发中,集合框架是处理数据的基石,了解它的各个细节将使你在面试中如鱼得水!无论是 ArrayList、HashMap 还是 Set 和 Queue,掌握这些数据结构及其背后的原理,能帮助你更高效地解决问题。我们为你准备了一系列经典的 Java 集合框架面试题,涵盖性能比较、使用场景、线程安全等核心主题,助你全面理解集合的特性和应用。通过深入解析这些问题,你将不仅提升面试表现,更能在日常开发中得心应手。准备好迎接挑战了吗?加入我们,一起探索 Java 集合框架的奥秘,为你的职业道路铺平道

2024-10-24 19:18:49 999

原创 Java 基础面试题

🚀 准备迎接Java面试的挑战吗? 🚀无论你是刚入门的Java新手,还是有经验的开发者,掌握Java基础知识都是成功的关键!

2024-10-21 15:50:14 637

原创 HR 常问面试题

一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。

2024-10-21 15:16:32 746

原创 Java SE 基础面试题

在求职过程中,Java SE(标准版)面试是许多开发者必须面对的重要环节。掌握核心概念不仅能帮助你顺利通过面试,还能提升你的编程技能和职业竞争力。无论你是初学者还是有经验的开发者,这里汇集了一系列基础面试题。 准备好迎接这一挑战了吗?快来一起探索Java SE基础面试题,助力你的职业发展之路!无论是提升个人能力,还是为下一次面试做好准备,这里都是你的理想起点!

2024-10-15 17:45:13 819

原创 Docker 搭建3主3从Redis集群以及扩缩容

使用docker搭建3主3从的Redis集群,每台主机都对应一台从机。

2024-09-30 16:58:53 1045

原创 Redis 集群存储算法

分布式存储的常见算法:1、哈希取余算法分区2、一致性哈希算法分区3、哈希槽算法分区

2024-09-22 15:40:53 1119

原创 Docker安装MySQL(主从复制版)

除了展示刚刚配置的主数据库信息外,主要关注 Slave_IO_Running、Slave_SQL_Running。目前两个值应该都为 No,表示还没有开始。再次查看主从同步状态,Slave_IO_Running、Slave_SQL_Running都变为Yes。主要查看返回结果的文件名File、当前位置Position。

2024-09-22 14:19:24 436

原创 Docker 安装 Redis(单机版)

以 Redis 6.0.8 为例:简单的启动Redis容器:简单版没有配置容器卷映射,当容器被删除时数据无法恢复。配置文件、数据文件都和容器卷进行映射。3、启动docker容器:(因为要使用自定义的配置文件,所以需要指定容器运行的命令为redis-server 容器内配置文件路径)

2024-09-22 14:09:25 276

原创 Docker安装MySQL(单机版)

而且因为启动时将容器做了容器卷映射,将mysql的配置(映射到/app/mysql/conf)、数据(映射到/app/mysql/data)、日志(映射到/app/mysql/log)都映射到了宿主机实际目录,所以即使删除了容器,也不会产生太大影响。只需要再执行一下启动Mysql容器命令,容器卷还按相同位置进行映射,所有的数据便都可以正常恢复。启动docker容器后,可以正常的连接、创建数据库,创建表,插入数据。但是插入中文则会报错。而且因为启动容器时没有配置容器卷映射,当容器意外被删时,数据无法找回。

2024-09-11 21:16:38 509

原创 Docker 软件安装步骤

搜索镜像拉取镜像查看镜像启动容器-服务端口映射停止容器停止容器移除容器。

2024-09-11 21:09:00 178

原创 Registry搭建docker私仓

Docker Registry也是Docker Hub提供的一个镜像,可以直接拉取运行。Registry会返回json格式的所有镜像目录。(配置方式和上传到nexus私仓相同)。

2024-09-08 20:24:16 351

原创 Docker 镜像

镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好行程一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。

2024-09-08 19:09:44 1152

原创 Docker 常用命令

CentOS7安全模块比之前系统版本加强,不安全的会先禁止,目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了。也即使用该参数,容器内的root才拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限。卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过UnionFS,提供一些用于持续存储或共享数据。特性:卷设计的目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

2024-09-08 13:50:37 1378

原创 Docker 详细在线安装(CentOS、Ubuntu)、离线安装教程教程

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。Docker CE 的安装请参考。

2024-09-05 23:02:58 1189

原创 Docker 简介

Docker是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部署过程。容器化是一种虚拟化技术,它通过在操作系统层面隔离应用程序和其依赖的运行环境,使得应用程序可以在一个独立的、封闭的环境中运行,而不受底层操作系统和硬件的影响。

2024-09-05 21:44:45 929

原创 请求,会话,应用程序和WebSocket作用域

request, session, application, 和 websocket作用域只有在Web中使用Spring的ApplicationContext(例如ClassPathXmlApplicationContext)的情况下才用得上。如果在普通的Spring IoC容器,例如ClassPathXmlApplicationContext中使用这些作用域,将会抛出IllegalStateException异常来说明使用了未知的作用域。

2024-08-26 17:43:49 196

原创 依赖原型Bean的单例Bean

当您使用具有依赖于原型bean的单例作用域bean时,请注意在实例化时解析依赖项。因此,如果将原型bean注入到单例的bean中,则会实例化一个新的原型bean,然后将依赖注入到单例bean中。这个依赖的原型bean仍然是同一个实例。但是,假设您希望单例作用域的bean在运行时重复获取原型作用域的bean的新实例。您不能将原型作用域的bean依赖注入到您的单例bean中, 因为当Spring容器实例化单例bean并解析注入其依赖项时,该注入只发生一次。

2024-08-26 17:43:02 272

原创 Spring 原型作用域

也就是说,初始化生命周期回调方法在所有作用域的bean是都会调用的,但是销毁生命周期回调方法在原型bean是不会调用的。所以,客户端代码必须注意清理原型bean以及释放原型bean所持有的资源。可以通过使用自定义的bean post-processor(Bean的后置处理器)来让Spring释放掉原型bean所持有的资源。非单例的、原型bean指的是每次请求bean实例时,返回的都是新的对象实例。也就是说,每次注入到另外的bean或者通过调用 getBean()方法来获得的bean都是全新的实例。

2024-07-15 16:17:28 267 1

原创 Spring 单例作用域

设计模式中的单例模式是将一个对象的作用域硬编码的,一个ClassLoader只能有唯一的一个实例。这意味着,如果在单个Spring容器中为特定类定义一个bean,则Spring容器会根据bean定义创建唯一的bean实例。单例作用域是Spring的默认作用域。换句话说,当您定义一个bean并且它的范围是一个单例时,Spring IoC容器只会根据bean的定义来创建该bean的唯一实例。单例bean在全局只有一个共享的实例,所有依赖单例bean的场景中,容器返回的都是同一个实例。

2024-07-15 16:06:07 274

原创 Spring Bean的作用域概述

创建bean定义时,同时也会定义该如何创建Bean实例。这些具体创建的过程是很重要的,因为只有通过对这些配置过程,您才能创建实例对象。您不仅可以将不同的依赖注入到bean中,还可以配置bean的作用域。这种方法是非常强大而且也非常灵活,开发者可以通过配置来指定对象的作用域,无需在Java类的层次上配置。bean可以配置多种作用域,Spring框架支持五种作用域,有三种作用域是当开发者使用基于Web的ApplicationContext的时候才有效的。您还可以创建自定义范围.。作用域描述。

2024-07-15 15:55:51 242

原创 Spring 方法注入

在大多数的应用场景下,多数的bean都是单例的。当这个单例的bean需要和另一个单例的或者非单例的bean协作使用的时候,开发者只需要配置依赖bean为这个bean的属性即可。但是有时会因为bean具有不同的生命周期而产生问题。假设单例的bean A在每个方法调用中使用了非单例的bean B。容器只会创建bean A一次,而只有一个机会来配置属性。那么容器就无法为每一次创建bean A时都提供新的bean B实例。

2024-07-15 15:40:54 878

原创 Spring 自动装配

Spring容器可以根据bean之间的依赖关系自动装配,开发者可以让Spring通过ApplicationContext来自动解析这些关联,自动装载有很多优点:自动装载能够明显的减少指定的属性或者是构造参数。自动装载可以扩展开发者的对象,比如说,如果开发者需要加一个依赖,只需关心如何更改配置即可自动满足依赖关联。这样,自动装载在开发过程中是极其高效的,无需明确选择装载的依赖会使系统更加稳定使用基于XML的配置元数据时,可以使用 元素的autowire属性为bean定义指定autowire模式。

2024-07-11 17:38:57 549

原创 Spring 懒加载bean

如果这个行为不是迫切需要的,开发者可以通过将Bean标记为延迟加载就能阻止这个预初始化 懒加载bean会通知IoC不要让bean预初始化而是在被引用的时候才会实例化。然而,如果延迟加载的类是作为单例非延迟加载的bean的依赖而存在的话,ApplicationContext仍然会在ApplicationContext启动的时候加载。当将bean配置为上述XML的时候, ApplicationContext之中的lazy bean是不会随着 ApplicationContext的启动而进入到预初始化状态的。

2024-07-11 17:24:27 165

原创 Spring depends-on属性

如果一个bean是另一个bean的依赖,通常这个bean也就是另一个bean的属性之一。然而,有时bean之间的依赖不是直接关联的。depends-on属性既可以指定初始化时间依赖性,也可以指定单独的bean,相应的销毁时间的依赖。独立定义了depends-on属性的bean会优先销毁 (相对于depends-on的bean销毁,这样depends-on可以控制销毁的顺序。depends-on属性可以显式强制初始化一个或多个bean。如果想要依赖多个bean,可以提供多个名字作为depends-on的值。

2024-07-11 17:20:50 160

原创 Spring 依赖和配置的细节-06 Null and 空字符串

Strings将属性的空参数视为空字符串。下面基于XML的元数据配置就会将email 属性配置为String的值。<null/>将被处理为null值。

2024-07-11 17:11:30 628

原创 Spring 依赖和配置的细节-05 集合

在<list/>, <set/>,<map/> 和<propes/> 元素中,您可以分别配置Java集合类型 List, Set, Map, and Properties的属性和参数。

2024-07-11 17:01:17 777

原创 Spring 依赖和配置的细节-04内部bean

作为一个极端情况,可以从自定义范围接收销毁回调 , 例如:请求范围的内部bean包含了单例bean,那么内部bean实例会绑定到包含的bean,而包含的bean允许访问request的scope生命周期。这种场景并不常见,内部bean通常只是供给它的外部bean使用。内部bean定义不需要定义的ID或名称。容器还会在创建时忽略scope 标签,因为内部bean始终是匿名的,并且始终使用外部bean创建。开发者是无法将内部bean注入到外部bean以外的其他bean中的。

2024-07-11 16:44:00 244

原创 Spring 依赖和配置的细节-03 引用其他的Bean(装配)

你可以通过这个标签配置一个bean来引用另一个bean。最终会引用另一个对象的所有引用,bean的范围以及校验取决于你是否有通过bean, local, or parent 这些属性来指定对象的id或者name属性。parent属性的值可以与目标bean的id属性一致,或者和目标bean的name属性中的某个一致,目标bean必须是当前引用目标bean容器的父容器。通过指定 bean属性中的元素来指定依赖是最常见的一种方式,可以引用容器或者父容器中的bean,不在同一个XML文件定义也可以引用。

2024-07-11 16:41:02 188

原创 Spring 依赖和配置的细节-02 idref 元素

Spring团队更推荐第一种方式,因为使用了idref 标签,它会让容器在部署阶段就对bean进行校验,以确保bean一定存在。如果client是prototype类型的Bean的话,那么类似拼写之类的错误会在容器部署以后很久才能发现。在ProxyFactoryBean定义中,元素所携带的值在AOP拦截器a>的配置中很常见(至少在Spring 2.0之前的版本是这样)。idref元素的local属性在Spring 4.0以后的xsd中已经不再支持了,而是使用了bean引用。

2024-07-11 16:36:24 220

原创 Spring 依赖和配置的细节-01直接值

元素的value 属性将属性或构造函数参数指定为人类可读的字符串表示形式, Spring的conversion service用于将这些值从String 转换为属性或参数的实际类型。Spring的容器会将里面的文本通过JavaBean的PropertyEditor 机制转换成java.util.Properties 实例, 这种嵌套元素的快捷方式也是Spring团队推荐使用的。

2024-07-11 16:33:44 239

原创 Spring 依赖注入

依赖注入是让对象只通过构造参数、工厂方法的参数或者配置的属性来定义他们的依赖的过程。这些依赖也是其他对象所需要协同工作的对象, 容器会在创建Bean的时候注入这些依赖。整个过程完全反转了由Bean自己控制实例化或者依赖引用,所以这个过程也称之为“控制反转”当使用了依赖注入的特性以后,会让开发者更容易管理和解耦对象之间的依赖,使代码变得更加简单。对象之间不再关注依赖,也不需要知道依赖类的位置。

2024-06-28 16:14:28 781

原创 Spring 实例化Bean

bean定义基本上就是用来创建一个或多个对象的配置,当需要bean的时候,容器会查找配置并且根据bean定义封装的元数据来创建(或获取)实际对象。如果你使用基于XML的配置,那么可以在 元素中通过 class属性来指定对象类型。class属性实际上就是BeanDefinition实例中的class属性。他通常是必需的。有两种方式使用Class属性。通常情况下,会直接通过反射调用构造方法来创建bean,这种方式与Java代码的new创建相似。通过静态工厂方法创建,类中包含静态方法。

2024-06-28 15:26:27 486

原创 Spring 命名bean

在对bean定义时,除了使用id属性指定唯一的名称外,还可以提供多个别名,这需要通过name属性指定。所有这个名称都会指向同一个bean,在某些情况下提供别名非常有用,例如为了让应用每一个组件都能更容易的对公共组件进行引用。然而,在定义bean时就指定所有的别名并不是很恰当的。有时期望能够在当前位置为那些在别处定义的bean引入别名。

2024-06-28 15:07:08 396

原创 Spring bean的概述

除了bean定义包含如何创建特定的bean的信息外,ApplicationContext实现还允许用户在容器中注册现有的、已创建的对象。种程度上是支持的, 但是新bean在运行时(同时访问动态工厂)注册官方并不支持,可能会导致并发访问异常、bean容器中的不一致状态,或者两者兼。这些bean是由您提供给容器的元数据配置创建的(例如,XML 定义的形式)。其他配置用于新对象的创建,例如使用bean的数量来管理连接池,或者限制池的大小。限定包类名称: 通常,定义的bean的实际实现类。

2024-06-28 14:36:53 428

原创 Spring容器概述及其配置

org.springframework.context.ApplicationContext是Spring IoC容器实现的代表,它负责实例化,配置和组装Bean。容器通过读取配置元数据获取有关实例化、配置和组装哪些对象的说明。配置元数据可以使用XML、Java注解或Java代码来呈现。它允许你处理应用程序的对象与其他对象之间的互相依赖关系。Spring提供了ApplicationContext接口的几个实现。在独立应用程序中,通常创建。

2024-03-04 21:53:30 946

原创 使用Maven引入Spring

Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。

2024-03-03 15:54:03 1309

空空如也

空空如也

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

TA关注的人

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