springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起
  0t44gAtWArrA 2023年11月02日 55 0


在Spring Boot中,"bean" 是一个非常重要的概念,它代表了一个由Spring容器管理的对象实例。这些对象通常用于组成应用程序的各个部分,并且可以在整个应用程序中共享和重用。Spring Boot的Bean管理是基于Spring框架的IoC(控制反转)和DI(依赖注入)原理构建的。

以下是Spring Boot中Bean的一些关键特性和用途:

  1. 组件管理: Bean管理允许您创建、配置和管理应用程序中的各种组件,例如服务、数据访问对象(DAO)、控制器等。这些组件可以通过Spring容器进行实例化和初始化,然后在需要的地方进行注入。
  2. 依赖注入: Spring Boot容器负责管理Bean之间的依赖关系。通过依赖注入,一个Bean可以将它所依赖的其他Bean注入到它自己的属性或构造函数中,从而实现了组件之间的解耦和松散耦合。
  3. 单例管理: 默认情况下,Spring Boot将Bean配置为单例(Singleton)。这意味着容器只会创建一个Bean实例,并在需要时重用它。这有助于减少资源消耗和提高性能。
  4. 配置管理: Spring Boot允许您使用注解或XML配置文件来定义Bean及其依赖关系。您可以在应用程序的配置文件中声明哪些类应该被实例化为Bean,并且可以配置它们的属性和行为。
  5. 生命周期管理: Spring容器管理Bean的生命周期,包括实例化、初始化、使用和销毁。您可以定义初始化和销毁方法,以便在Bean的生命周期中执行自定义逻辑。
  6. AOP(面向切面编程) : Spring Boot支持AOP,允许您定义横切关注点,如日志记录、性能监控等,并将它们应用于Bean的方法。
  7. 测试: Spring Boot的Bean管理使单元测试和集成测试变得更容易,因为您可以轻松地模拟或替换Bean的依赖关系。

总之,Spring Boot中的Bean是一种灵活且强大的机制,用于组织和管理应用程序的各个组件,使应用程序更易于维护、测试和扩展。通过Spring容器的帮助,Bean可以以一种高度可配置的方式进行管理,从而实现了松散耦合、可维护性和可测试性。

DruidDataSource dataSource = new DruidDataSource(): 在这里,创建了一个 Druid 数据源对象。Druid 是一个流行的数据库连接池,用于管理数据库连接。



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring

image.png

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_02

image.png

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_03

image.png

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_04

image.png

kubectl kubelet kubeadm版本: 1.23.1 操作系统版本: CentOS 8.2 64位

外网放开30000端口,后续浏览器登陆k8s dashboard看板使用。并检查ssh服务端口22是否正常开启。



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_05

安装常用工具:

yum install -y yum-utils device-mapper-persistent-data lvm2 iproute-tc

国内存在墙的问题,添加阿里源加速:

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

要创建一个定时任务,你可以使用@Scheduled注解来标记一个方法,并指定任务的触发时间。以下是一个示例:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTask {

    @Scheduled(fixedRate = 5000) // 每隔5秒执行一次
    public void performScheduledTask() {
        // 执行定时任务的逻辑
        // 这里可以是任何你需要定期执行的代码
    }
}

在上面的示例中,performScheduledTask方法使用@Scheduled注解标记为定时任务,fixedRate参数指定了任务的触发时间,这里是每隔5秒执行一次。

4. 配置异步任务和定时任务

确保在你的Spring Boot应用程序的配置类上添加@EnableAsync@EnableScheduling注解,以启用异步任务和定时任务的支持。例如:

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

@Configuration
@EnableAsync
@EnableScheduling
public class TaskConfig {
    // 配置类
}

对文本搜索一般可以分为三种类型:模糊搜索、精确搜索、分词搜索。

  • 模糊搜索:如sql中的like查询语句,匹配包含搜索关键字的内容。
  • 精确搜索:文本内容与搜索关键字一致。
  • 分词搜索:将文本先进行分词,包括搜索关键字分词和搜索内容进行分词,再匹配相关内容。
#!/bin/bash

# 定义要关闭的应用程序的名称
APP_NAME=""

# 查找应用程序的进程ID(PID)
PID=$(ps -ef | grep "$APP_NAME" | grep -v grep | awk '{ print $2 }')

if [ -z "$PID" ]; then
  echo "应用程序已经停止"
else
  echo "正在关闭应用程序 $APP_NAME (PID: $PID) ..."
  kill -9 "$PID"
  echo "应用程序已成功关闭"
fi



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_06

image.png

/ect/profile 用来设置环境变量,内容样例如下

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
export JAVA_HOME=/usr/share/jdk1.8.0_14
export PATH=$JAVA_HOME/bin:.....



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_07

image.png

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_08

image.png

MySQL 索引是一种用于提高数据库查询性能的数据结构。它们通过创建存储在表中数据的副本,以加速检索和查询操作。索引的主要目的是减少数据库系统需要扫描的数据量,从而加快数据检索的速度。

以下是一个示例数据库和示例代码,用于说明 MySQL 索引的作用和使用方式:

示例数据库:

假设我们有一个简单的学生信息数据库,其中包含一个名为 students 的表,用于存储学生的信息,包括学生ID、姓名、年龄和课程。这是一个示例的数据库表结构:

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    course VARCHAR(50)
);

表中包含以下示例数据:

student_id

name

age

course

1

John

20

Math

2

Alice

22

History

3

Bob

21

Chemistry

4

Sarah

23

Biology

5

Michael

22

Math

...

...

...

...

示例代码:

以下是一些示例代码,演示如何使用 MySQL 索引来优化查询操作。

  1. 创建索引:
    students 表的 name 列上创建一个索引:
CREATE INDEX idx_name ON students (name);
  1. 查询优化:
    查询所有年龄为 22 岁的学生:
SELECT * FROM students WHERE age = 22;

使用索引后,查询将更加高效,因为 MySQL 可以快速定位到年龄为 22 岁的学生。

  1. 覆盖索引:
    如果只需要查询学生的姓名而不需要其他信息,可以使用覆盖索引:
SELECT name FROM students WHERE age = 22;

这将减少数据的读取量,因为只需要访问索引而不需要访问实际数据行。

  1. 联合索引:
    创建一个联合索引,以优化多个列的查询:
CREATE INDEX idx_age_course ON students (age, course);

查询年龄为 22 岁且课程为 "Math" 的学生:

SELECT * FROM students WHERE age = 22 AND course = 'Math';

联合索引可以加速复合条件的查询。

总之,MySQL 索引是用来提高数据库查询性能的重要工具。通过创建适当的索引,可以加速常见查询操作,减少数据扫描的时间,从而提高数据库的响应速度。但是,需要谨慎使用索引,因为不当使用索引可能会导致性能下降。在设计数据库时,需要根据具体的查询需求和数据分布情况来选择创建哪些索引。

在MySQL中,有多种类型和方法的索引可供选择,每种类型和方法都有其适用的场景和特点。以下是一些常见的MySQL索引类型和方法以及如何使用它们的示例:

1. B-Tree 索引: B-Tree(平衡树)索引是最常见的索引类型,用于支持等值查询、范围查询和排序操作。

示例: 创建一个B-Tree索引来优化students表中的student_id列:

CREATE INDEX idx_student_id ON students (student_id);

2. 哈希索引: 哈希索引是用于等值查询的特殊索引类型,适用于只需要精确匹配的情况。

示例: 创建一个哈希索引来优化users表中的user_id列:

CREATE INDEX idx_user_id ON users (user_id) USING HASH;

3. 全文索引: 全文索引用于支持全文搜索,通常在文本列上使用。

示例: 创建一个全文索引来优化articles表中的content列:

CREATE FULLTEXT INDEX idx_content ON articles (content);

4. 空间索引: 空间索引用于地理空间数据,支持地理空间查询。

示例: 创建一个空间索引来优化locations表中的coordinates列:

CREATE SPATIAL INDEX idx_coordinates ON locations (coordinates);

5. 联合索引: 联合索引是在多个列上创建的索引,用于优化多条件的查询。

示例: 创建一个联合索引来优化orders表中的customer_idorder_date列:

CREATE INDEX idx_customer_order ON orders (customer_id, order_date);

6. 前缀索引: 前缀索引是在列的一部分上创建的索引,用于减少索引大小。

示例: 创建一个前缀索引来优化products表中的product_name列的前5个字符:

CREATE INDEX idx_product_name ON products (product_name(5));

7. 自定义索引方法: MySQL允许您创建自定义索引方法,以满足特定的查询需求。

sudo rm /usr/local/mysql

sudo rm -rf /usr/local/mysql*

sudo rm -rf /Library/StartupItems/MySQLCOM

sudo rm -rf /Library/PreferencePanes/My*

sudo rm -rf /Library/Receipts/mysql*

sudo rm -rf /Library/Receipts/MySQL*

sudo rm -rf /var/db/receipts/com.mysql.*



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_09

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_10

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_11

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_12

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_13

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_14

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_15

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_16

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_17

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_18

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_19

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_20

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_21

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_22

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_23

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_24

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_25

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_26

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_27

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_28

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_29

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_30

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_31

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_32

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_33

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_34

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_35

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_36

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_37

启动kafka之前必须启动zookeeper

zookeeper集群,查看进程



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_38

启动kafka



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_39

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_40

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_41

启动脚本



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_42

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_43

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_44

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_45

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_46

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_47

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_48

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_49

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_50

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_51

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_52

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_53

不能通过命令行的方式去修改副本



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_54

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_55

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_56

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_57

0:生产者发送过来的数据,不需要等数据落盘应答。

1:生产者发送过来的数据,Leader收到数据后应答。

-1(all):生产者发送过来的数据,Leader和ISR队列里面的所有节点收齐数据后应答。-1和all等价。



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_58

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_59

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_60

双端队列



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_61

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_62

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_63

发送流程



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_64

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_65

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_66

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_67

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_68

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_69

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_70

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_71

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_72

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_73

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_74

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_75

SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
String dateTime=sdf.format(new Date());
sysRole.setUpdateT(dateTime);



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_76

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_77

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_78

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_79

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_80

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_81

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_82

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_83

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_84

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_85

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_86

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_87

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_88

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_89

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_90

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_91

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_92

生产经验,数据有序



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_93

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_94

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_95

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_96

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_97

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_kafka_98

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_99

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_100

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_101

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_102

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_103

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_104

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_105

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_106

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_107

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_108

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_109

#!/bin/bash

# 定义要关闭的应用程序的名称
APP_NAME="admin-gateway-1.0-SNAPSHOT.jar"

# 查找应用程序的进程ID(PID)
PID=$(ps -ef | grep "$APP_NAME" | grep -v grep | awk '{ print $2 }')

if [ -z "$PID" ]; then
  echo "应用程序已经停止"
else
  echo "正在关闭应用程序 $APP_NAME (PID: $PID) ..."
  kill -9 "$PID"
  echo "应用程序已成功关闭"
fi



springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_110

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_java_111

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring boot_112

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_spring_113

springboot第43集:知道你很强但你不懂kafka,79眉笔你照样买不起_后端_114

仓库地址:https://github.com/webVueBlog/JavaGuideInterview

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
0t44gAtWArrA