Hadoop大数据应用技术复习题分析

文章目录

  • 复习一
    • 一. 单选题
    • 二. 多选题
    • 三. 填空题
  • 复习三
    • 一. 单选题


复习一

一. 单选题

  1. (单选题)压缩速度由大到小snappy、LZO、gzip、bzip2,压缩比最大的是
    A. snappy
    B. LZO
    C. gzip
    D. zip2

正确答案: D:zip2;

答案解析:
压缩率:zip2>gzip>lzo>snappy
压缩速度:snappy>lzo>gzip>zip2
压缩比越大 压缩速度越慢

  1. (单选题)以下类中哪一个可以实现程序从文件中读取数据
    A. inputStream
    B. FileInputStream
    C. FileOutputStream
    D. DataOutput

正确答案: B:FileInputStream;

答案解析:
inoutStream是一个抽象类,是所有输入流类的超类,本身不能直接用来读取文件。
FileOutStream用于将数据写入文件
DataOutput是一个接口,定义了写入数据到二进制流的方法输入流,从文件读取FileInputStream

二. 多选题

  1. (多选题)实现java序列化的接口
    A. Serializable
    B. Externalizable
    C. action
    D. string

正确答案: A B: Serializable ; Externalizable;

答案解析:
A. Serializable 接口是一个标记接口,它不包含任何方法。当一个类实现了这个接口,它就可以将其实例的状态保存到一个字节流中,并且可以从字节流中重构回来。
B. Externalizable 接口扩展了 Serializable 接口,并添加了两个方法:writeExternal 和 readExternal。这允许类有更多的控制权,比如自定义序列化和反序列化的机制。
C. action 不是一个与序列化相关的接口。
D. String 是Java的一个类,用于表示字符串,它本身实现了 Serializable 接口,但不是用来实现序列化的接口。

  1. (多选题)hadoop序列化接口
    A. Serializable
    B. Externalizable
    C. Writable
    D. WritableComparable

正确答案: C D:Writable; WritableComparable;

答案解析:
WritableComparable接口是Writable接口的子接口
A. Serializable 是Java标准序列化接口,但在Hadoop中通常不使用,因为它的性能比Hadoop的序列化机制慢。
B. Externalizable 也是Java的序列化接口,允许自定义序列化机制,但同样不是Hadoop中使用的序列化接口。
C. Writable 是Hadoop的序列化接口,用于数据的序列化和反序列化。它是Hadoop数据类型必须实现的接口,以便能够在Hadoop的各种节点之间传输。
D. WritableComparable 接口继承自 Writable 并添加了 Comparable 接口。这允许比较操作,是MapReduce框架中键(Key)类必须实现的接口,以便在排序和分组时使用。

  1. (多选题)选择hadoop可序列化类型
    A. String
    B. Arrays
    C. Text
    D. IntWritable

正确答案: C D:Text ; IntWritable;

答案解析:
String和Arrays不是可序列化类型,没有实现Writable接口。
A. String 是Java的基本数据类型,虽然它实现了 Serializable 接口,但在Hadoop中通常使用 Text 类来代替 String,因为 Text 类实现了 Writable 接口。
B. Arrays 本身不是Hadoop的序列化类型,但如果数组中的元素是 Writable 类型的,那么这个数组可以被序列化。
C. Text 是Hadoop中用于文本数据的序列化类型,它实现了 Writable 接口。
D. IntWritable 是Hadoop中用于整数数据的序列化类型,它实现了 Writable 接口。

  1. (多选题)分布式系统的三个基本特征()
    A. 并发性
    B. 副本
    C. 可扩展性
    D. 稳定性

正确答案: ABC:并发性; 副本; 可扩展性;

答案解析:
分布式系统的特点很多,冗余副本、并发、可扩展性、全局的时钟(确定分布环境下事件发生的先后)、故障总会发生等。稳定性不在其中,因为默认分布式系统中设备故障、网络故障等认为是不可靠的。因此设计时通过各种手段达到尽量大的稳定。

  1. (多选题)广义地将云计算解释为一种通过互联网提供的一种服务,被分为3个层次
    ( )基础架构即服务() 平台即服务() 软件即服务,灵活度依次从高到底
    A. IaaS
    B. Paas
    C. SaaS

正确答案: A B C:IaaS; Paas; SaaS;

答案解析:
基本概念,灵活性从大到小,配置难度也是从大到小。SaaS提供某软件功能
1.基础架构即服务 (IaaS): 这是最底层的服务,提供虚拟化的计算资源。用户可以在这些资源上运行任何软件,包括操作系统和应用程序。因为用户几乎可以控制整个软件堆栈,所以IaaS提供了最高的灵活度。
2.平台即服务 (PaaS): 这个层次提供了一个平台,用户可以在上面开发、运行和管理应用程序,而不必担心底层基础设施的维护和管理。PaaS提供的灵活度适中,用户不需要管理基础设施,但仍然可以控制应用程序。
3.软件即服务 (SaaS): 这是最高层的服务,提供的是直接可用的软件应用。用户不需要关心应用程序的开发、维护或基础架构,只需通过互联网使用软件即可。SaaS提供的灵活度最低,因为用户通常只能使用软件而不能控制其任何部分。

  1. (多选题) Apache Hadoop2.0的核心组件是()
    A. HDFS
    B. MapReduce
    C. YARN
    D. zookeeper
    E. Common

正确答案: A B C E:HDFS; MapReduce; YARN; Common;

答案解析:
zookeeper不是,common容易漏掉
A. HDFS (Hadoop Distributed File System):一个分布式文件系统,提供高吞吐量的数据访问。
B. MapReduce:一个编程模型和处理大数据集的实现。
C. YARN (Yet Another Resource Negotiator):一个资源管理和作业调度平台。
E. Common:提供Hadoop的框架和核心库。

D. ZooKeeper 不是Hadoop 2.0的核心组件,但它是一个为分布式应用提供协调服务的软件项目,经常与Hadoop及其他大数据解决方案一起使用。

  1. (多选题)想要访问hdfs文件系统中的文件,可以使用()设置。
    Configuration conf=new Configuration();
    A. conf.set(“fs.defaultFS”,”hdfs://master:9000”) FileSystem.get(conf);
    B. FileSystem.get(new URI(“hdfs://master:9000/”),conf)
    C. linux系统中配置了hdfs分布式配置文件,默认读取无需设置,在linux上执行程序

正确答案: ABC

答案解析:
三种方式都可以,注意C说明了程序运行的环境是linux系统,且按照分布式运行配置了文件,则conf会自动加载相关配置文件。如果没有配置文件不管是linux还是windows上执行均以本地模式。
A. 使用 Configuration 对象和 FileSystem.get 方法:
Configuration conf = new Configuration();
conf.set(“fs.defaultFS”, “hdfs://master:9000”);
FileSystem fs = FileSystem.get(conf);
B. 直接在 FileSystem.get 方法中指定HDFS的URI:
FileSystem fs = FileSystem.get(new URI(“hdfs://master:9000/”), conf);
C. 如果在Linux系统中已经配置了HDFS的分布式配置文件,且这些配置文件被正确地放置在了类路径下,那么在执行程序时,Hadoop客户端默认会读取这些配置文件,无需在代码中显式设置。

三. 填空题

  1. (填空题)对下面的person类进行序列化改造
    public class person _____________ {
    String name;
    int age;
    public void set( String name,int age ){
    this.name=name;
    this.age=age; }
    public void write(_____ )throws IOException{
    out.writeUTF(name);
    out.writeInt(age);}
    public void _____(DataInput in) throws IOException{
    name=in.readUTF();
    age=in.readInt();}
    }
    正确答案:
    (1) implements Writable
    (2) DataOutput out
    (3) readFields
public class Person implements Writable {String name;int age;public void set(String name, int age) {this.name = name;this.age = age;}public void write(DataOutput out) throws IOException {out.writeUTF(name);out.writeInt(age);}public void readFields(DataInput in) throws IOException {name = in.readUTF();age = in.readInt();}
}

implements Writable - 这使得 Person 类可以通过Hadoop的序列化/反序列化机制进行处理。
DataOutput out - 这是 write 方法的参数类型,用于将数据写入到输出流。
readFields - 这是 Writable 接口中的方法,需要被重写以从输入流中读取数据。

  1. (填空题)以下程序段实现了对hdfs中/file1.txt进行压缩,使用BZip2压缩算法,并将压缩文件存储到hdfs,文件名及存储路径为:/bzfile1.bz2。
    String codecclass = “org.apache.hadoop.io.compress.BZip2Codec”;
    Configuration conf=new Configuration();
    URI uri=new URI(“hdfs://192.168.100.101:9000/”);
    FileSystem fs = ;
    FSDataInputStream fin = fs.open(
    );
    FSDataOutputStream fout = fs.create(new Path(“/bzfile1.bz2”));
    Class<?> cls1 = Class.forName(codecclass);
    CompressionCodec dfcInstance = (CompressionCodec) ReflectionUtils.newInstance(cls1, conf);
    _________________ outs=dfcInstance.createOutputStream(fout);
    IOUtils.copyBytes(
    _______________);

正确答案:
(1) FileSystem.get(uri,conf)
(2) new Path(“/file1.txt”)
(3) CompressionOutputStream
(4) fin, outs, 1024,true;fin,outs conf

String codecclass = "org.apache.hadoop.io.compress.BZip2Codec";
Configuration conf = new Configuration();
URI uri = new URI("hdfs://192.168.100.101:9000/");
FileSystem fs = FileSystem.get(uri, conf);
FSDataInputStream fin = fs.open(new Path("/file1.txt"));
FSDataOutputStream fout = fs.create(new Path("/bzfile1.bz2"));
Class<?> cls1 = Class.forName(codecclass);
CompressionCodec dfcInstance = (CompressionCodec) ReflectionUtils.newInstance(cls1, conf);
CompressionOutputStream outs = dfcInstance.createOutputStream(fout);
IOUtils.copyBytes(fin, outs, 1024, true);

答案解析:
压缩的基本步骤:依次创建源文件输入流FSDataInputStream fin,文件输出流FSDataOutputStream fout,创建压缩编码器(掌握反射机制创建方法),通过压缩编码器的createOutputStream方法封装 fout,创建压缩文件输出流cout,利用IOutiles提供的copybytes方法实现文件输入流到压缩输出流的数据拷贝,即形成压缩文件。

FileSystem.get(uri, conf) - 这行代码用于获取指向HDFS的 FileSystem 实例。
new Path(“/file1.txt”) - 这是要打开的HDFS文件的路径。
CompressionOutputStream - 这是 dfcInstance.createOutputStream(fout) 返回的输出流的类型。
fin, outs, 1024, true - 这是 IOUtils.copyBytes 方法的参数,用于将输入流 fin 的内容复制到输出流 outs,并在复制完成后关闭流。

  1. (填空题)下面的数量单位从大到小依次是__1__、234567
    A KB B GB C TB D MB E PB F EB G ZB
    正确答案:
    (1) G
    (2) F
    (3) E
    (4) C
    (5) B
    (6) D
    (7) A

ZB (Zettabyte): 1 ZB 等于 2的70次方字节,或者说是 1024 EB。这是一个极其庞大的数字,通常用于描述全球数据中心的总存储容量。
EB (Exabyte): 1 EB 等于 2的60次方字节,或者是 1024 PB。这个单位可以用来衡量大型企业或云服务提供商的数据存储。
PB (Petabyte): 1 PB 是 2的50次方字节,或者是 1024 TB。这个单位经常用于科学研究中,比如天文学或基因组学的数据存储。
TB (Terabyte): 1 TB 等于 2的40次方字节,或者是 1024 GB。个人电脑的硬盘驱动器和外部驱动器通常以TB为单位。
GB (Gigabyte): 1 GB 是 2的30次方字节,或者是 1024 MB。这个单位用于衡量普通软件的大小,或者是智能手机的存储空间。
MB (Megabyte): 1 MB 等于 2的20次方字节,或者是 1024 KB。这个单位常用于衡量文档或图片的大小。
KB (Kilobyte): 1 KB 是 2的10次方字节。虽然在现代计算中不是很常见,但仍然可以用于衡量非常小的文件大小。

  1. (填空题) 1TB=__1__KB 2^n表示2的n次幂
    A2^10 B 2^40 C 2^30 D 2^50

正确答案:
(1) C

答案解析:1TB=2^40 B =2^30 KB 1KB=2^10 B

  1. (填空题)Student类的定义如下:
    package fanshe;
    public class Student {
    public String name;
    private int age;
    private char sex;
    public Student() {System.out.println(“调用了公有、无参构造方法”);}
    Student(String name) {System.out.println("无修饰符的构造方法 name= " + name); }
    Student(char sex) { System.out.println(“性别:” + sex);}
    public Student(String name, int age) {System.out.println(“姓名:” + name+ " age: " + age);}
    protected Student(boolean n) { System.out.println("受保护的构造方法 n = " + n); }
    private Student(int age) {System.out.println(“私有的构造方法 年龄:” + age);}
    public void showage(int age) {System.out.println(“调用了private showage: age = " + age+”,sex "+this.sex); }
    }
    主类定义如下:
    public class usestudent {
    public static void main(String[] args) throws Exception {
    Class cls = Class.forName(“xxxx.Student”);
    Constructor con = cls.getConstructor(null);
    Object obj1= con.newInstance();//输出结果:1
    con = cls.getDeclaredConstructor(char.class);
    2//填入语句
    obj1= con.newInstance(‘男’);
    Field f = cls.getField(“name”);
    f.set(obj1,“zhangsan”);
    System.out.println(((Student)obj1).name);
    Object obj2=cls.getConstructor().newInstance();
    Field f2=cls.getDeclaredField(“sex”);
    f2.setAccessible(true);
    3//填入语句,obj2的性别为女
    Method m =cls.getDeclaredMethod(“showage”, int.class);
    m.invoke(obj2, 20);//输出结果:4
    }
    }
    正确答案:
    (1) 调用了公有、无参构造方法
    (2) con.setAccessible(true);
    (3) f2.set(obj2, ‘女’);
    (4) 调用了private showage: age = 20 ,sex 女
    答案解析:

  2. (填空题) java项目的src文件夹下xxxx包中定义了文件property.txt,内容如下
    classname=xxxx.person
    person类定义如下:
    package xxxx;
    public class person { public String name;
    public person(){
    System.out.println(“调用了person()构造函数”); }
    public person(String name){this.name=name;System.out.println(“person(name)”);}
    public String toString(){ return “tostring method”;}
    }
    主类定义如下:
    public class useperson {
    public static void main(String[] args) throws Exception {
    Properties prop = new Properties();
    FileInputStream fin =new FileInputStream(“src/xxxx/property.txt”);
    prop.load(fin);
    String clstr=prop.getProperty(“classname”);
    Class cls = Class.forName(clstr);
    person p=ReflectionUtils.newInstance(cls,new Configuration());
    }
    }
    写出程序的输出:1
    正确答案:
    (1) 调用了person()构造函数

public class usestudent {public static void main(String[] args) throws Exception {// 通过反射获取Student类的Class对象Class cls = Class.forName("xxxx.Student");// 获取公有无参构造方法并创建实例,输出调用了公有、无参构造方法Constructor con = cls.getConstructor(null);Object obj1 = con.newInstance(); // 输出结果: (1) 调用了公有、无参构造方法// 获取私有构造方法(参数为char),设置可访问,创建实例con = cls.getDeclaredConstructor(char.class);con.setAccessible(true); // 填入语句 (2)obj1 = con.newInstance('男'); // 实例化对象,输出性别:男// 获取公有字段name并设置值为zhangsanField f = cls.getField("name");f.set(obj1, "zhangsan");System.out.println(((Student)obj1).name); // 输出zhangsan// 创建另一个实例Object obj2 = cls.getConstructor().newInstance();// 获取私有字段sex,设置可访问,并设置值为女Field f2 = cls.getDeclaredField("sex");f2.setAccessible(true); // 填入语句 (3)f2.set(obj2, '女'); // 设置obj2的性别为女// 获取私有方法showage,并调用,传入参数20Method m = cls.getDeclaredMethod("showage", int.class);m.invoke(obj2, 20); // 输出结果: (4) 调用了private showage: age = 20 ,sex 女}
}

答案解析:
调用了person()构造函数.使用配置文件设置要创建的类的对象,注意Property类的使用、配置文件的定义位置不同,读文件的路径不一样;另外使用的hadoop的ReflectionUtils工具类使用反射机制创建对象.

  1. (填空题)开放hdfs文件系统/myfile目录下所有文件和目录的读写执行权限的hdfs shell命令是__1__
    正确答案:
    (1) hdfs dfs -chmod -R 777 /myfile
    答案解析:hdfs dfs -chmod -R 777 /myfile
    或者配置hdfs-site.xml中的属性 dfs.permissions.enable 值为false
  2. (填空题)Configuration conf=new Configuration()
    1;//通过conf加载配置项目src目录中文件myconf.xml

正确答案:
(1) conf.addResource(“myconf.xml”)

Configuration conf = new Configuration();
conf.addResource(new Path("myconf.xml")); // 填入语句

答案解析:
程序读取当前机器上的配置文件,然后再运行程序中配置的内容。
加载当前运行的机器的配置文件的内容,先core-default.xml,如果src目录中有core-site.xml也会加载
然后是程序中配置的最后执行,如果有的话。后面的配置会覆盖之前的配置
可以通过addResource()方法加载指定的配置文件,一般把配置文件放在项目的src路径下,比如配置hdfs-site.xml yarn-site.xml等

  1. (填空题)配置文件conf.xml
    在这里插入图片描述

正确答案:
(1) property
(2) /configuration
(3) str3

答案解析:property;/configuration;知道配置文件格式;由于getString中属性名str找不到,给value赋值为默认的值str3

在Hadoop的配置文件中,通常使用 <property> 标签来定义配置项,每个 <property> 包含一个 <name> 和一个 <value>。结束标签应该是 </property>。整个配置文件被 <configuration> </configuration> 标签包围。
如果配置文件 conf.xml 中没有名为 “str” 的项,或者其值为空,那么 value 将会是 “str3”。

  1. (填空题)以下程序实现了hdfs系统hdfs://master:9000/中/mydirs/file1.txt文件的读写功能
    public class readandwritehfsfile {
    public static void main(String[] args) throws Exception {
    Configuration conf=new Configuration();
    FileSystem fs = FileSystem.get( 1);
    Path file= new Path(2);
    FSDataOutputStream fout = fs.create(file,true);
    fout.write(“你好,hadoop!”.getBytes(“utf-8”));
    fout.flush();
    fout.close();
    FSDataInputStream fin2 = fs.open(file);
    int len=fin.available();
    byte[] c=new byte[len];
    3 System.out.println(new String(c, “utf-8”));
    fin2.close();
    fs.close();}
    }

正确答案:
(1) new URI(“hdfs://master:9000/”)
(2) “/mydirs/file1.txt”
(3) fin2.read©

public class ReadAndWriteHDFSFile {public static void main(String[] args) throws Exception {Configuration conf = new Configuration();FileSystem fs = FileSystem.get(new URI("hdfs://master:9000/"), conf);Path file = new Path("/mydirs/file1.txt");FSDataOutputStream fout = fs.create(file, true);fout.write("你好,hadoop!".getBytes("utf-8"));fout.flush();fout.close();FSDataInputStream fin2 = fs.open(file);int len = fin2.available();byte[] c = new byte[len];fin2.read(c);System.out.println(new String(c, "utf-8"));fin2.close();fs.close();}
}

答案解析:
new URI(“hdfs://master:9000/”) 是HDFS文件系统的URI。
“/mydirs/file1.txt” 是要操作的文件路径。
fin2.read(c)是从文件中读取数据到字节数组c。

  1. (填空题)java项目的src文件夹下xxxx包中定义了文件property.txt,内容如下
    classname=xxxx.person
    person类定义如下:
    package xxxx;
    public class person { public String name;
    public person(){
    System.out.println(“调用了person()构造函数”); }
    public person(String name){this.name=name;System.out.println(“person(name)”);}
    public String toString(){ return “tostring method”;}
    }
    主类定义如下:
    public class useperson {
    public static void main(String[] args) throws Exception {
    Properties prop = new Properties();
    FileInputStream fin =new FileInputStream(“src/xxxx/property.txt”);
    prop.load(fin);
    String clstr=prop.getProperty(“classname”);
    Class cls = Class.forName(clstr);
    person p=ReflectionUtils.newInstance(cls,new Configuration());
    }
    }
    写出程序的输出:1

正确答案:
(1) 调用了person()构造函数

答案解析:
调用了person()构造函数.
使用配置文件设置要创建的类的对象,注意Property类的使用、配置文件的定义位置不同,读文件的路径不一样;另外使用的hadoop的ReflectionUtils工具类使用反射机制创建对象
四. 判断题

  1. (判断题)压缩比越大,压缩速率越小
    • A. 对
    • B. 错

正确答案: 对

  1. (判断题) hadoop就是云计算技术
    • A. 对
    • B. 错

正确答案: 错

答案解析:错误。hadoop是一种具体实现,体现了云计算体系中的一部分技术

  1. (判断题)NameNode 是一个中心服务器( mater ),负责管理文件系统的命名空间( NameSpace )及客户端对文件的访问。DataNode负责存储数据和执行计算任务。定期向namenode发送所存储块的列表信息
    A. 对
    B. 错

正确答案: 对

答案解析:

  1. (判断题)文件块的存储位置也被持久存储在namenode的元数据中。
    A. 对
    B. 错

正确答案: 错

答案解析:不存储位置信息,在系统启动时,由datanode向namenode报告

  1. (判断题)因为小文件造成block数量过多,block元信息大量占用namenode的内存,因此hadoop不适合处理大量的小文件
    A. 对
    B. 错

正确答案: 对

复习三

一. 单选题

  1. (单选题)1GB=( )B 2^n表示2的n次幂
    A. 2^10
    B. 2^40
    C. 2^30
    D. 2^50

正确答案: C: 2^30 ;

答案解析:
2^10=1K
2^20=1M
2^30=1G
2^40=1T
2^50=1P 掌握常用数量单位

  1. (单选题)MapReduce计算框架中,输入格式默认是TextInputFormat,则map函数的输入的key value类型分别是( )
    A. LongWritable Text
    B. long string
    C. Text Text
    D. LongWrtiable IntWritable

正确答案: A:LongWritable Text;

答案解析:
LongWritable Text是TextInputFormat默认的key value类型

  1. (单选题)HDFS中不会被持久存储的信息是( )
    A. 文件名
    B. 目录名
    C. 文件的分块信息
    D. 块的存储位置

正确答案: D: 块的存储位置;

答案解析:
块存储位置不持久存储,每次在集群启动时由datanode向namenode报告生成,安全模式阶段完成

  1. (单选题)按照默认配置,文件大小为150M,则该文件会被分为( )片
    A. 4
    B. 3
    C. 2
    D. 1

正确答案: C:2;

答案解析:
文件大小/128M>1.1被分片,150/128>1.1分为2片

  1. (单选题)按照默认配置,文件大小为128.5M,则该文件会被分为( )片(易错)
    A. 1
    B. 2
    C. 3
    D. 4

正确答案: A:1;

答案解析:
文件大小/128M>1.1会被分片,否则作为一片,本题128.5/128<1.1

  1. (单选题)以下类中哪一个可以实现程序从文件中读取数据
    A. inputStream
    B. FileInputStream
    C. FileOutputStream
    D. DataOutput

正确答案: B:FileInputStream;

答案解析:
输入流,从文件读取FileInputStream

  1. (单选题)压缩速度由大到小 snappy、LZO、gzip、bzip2,压缩比最大的是
    A. snappy
    B. LZO
    C. gzip
    D. zip2

正确答案: D:zip2;

答案解析:
压缩比越大 压缩速度越慢

  1. (单选题)reduce阶段收到的key类型为Text,则map阶段相关设置正确的是
    A. job.setMapOutputKeyClass(Text.class);
    B. job.setOutputKeyClass(Text.class);
    C. job.setOutputKeyClass(Text);
    D. job.setMapOutputValueClass(Text);

正确答案: A:job.setMapOutputKeyClass(Text.class);;

答案解析:
map的输出端与key的输入端类型一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/692294.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLite利用事务实现批量插入(提升效率)

在尝试过SQLite批量插入一百万条记录&#xff0c;执行时长高达20多分钟后&#xff0c;就在想一个问题&#xff0c;这样的性能是不可能被广泛应用的&#xff0c;更不可能出现在真实的生产环境中&#xff0c;那么对此应该如何优化一下呢&#xff1f; 首先分析一下批量插入的逻辑 …

大考将至,是时候催旺考运了!

一个人的命运早在出生的时候就已经决定&#xff0c;但仍有很大的可能是可以通过努力来改变的。我们要相信&#xff0c;只要有足够的信念和勇气&#xff0c;每个人都有机会逆转命运&#xff0c;改变自己的人生轨迹。而在这高考最后的倒计时中&#xff0c;如何能更好的催旺考试运…

自定义实现 Java17+SpringBoot3+OpenAPI+Knife4j Starter

文章目录 前言正文1 创建starter项目1.1 依赖文件1.2 配置信息 2 自定义starer代码开发2.1 配置字段的定义2.2 自动配置类 3 验证starter3.1 测试项目的配置3.2 功能配置 application.yml3.3 测试代码3.3.1 实体类3.3.2 控制器13.3.2 控制器2 4 效果展示4.1 主页4.2 实体类列表…

1.1. 离散时间鞅-条件期望

1.1. 离散时间鞅-条件期望 条件期望1. 条件期望的定义1.1. 条件期望的定义1.2. 条件期望的存在唯一性 2. 条件期望的示例2.1. X ∈ F X \in \mathcal{F} X∈F&#xff0c; X X X与 F \mathcal{F} F独立的情形2.2. X X X是有限 σ \sigma σ代数情形2.3. X X X是随机变量生成…

Spring高手之路18——从XML配置角度理解Spring AOP

文章目录 1. Spring AOP与动态代理1.1 Spring AOP和动态代理的关系1.2 AOP基本术语 2. 通过XML配置实现Spring AOP2.1 添加Spring依赖2.2 定义业务接口和实现类2.3 定义切面类2.4 配置XML 1. Spring AOP与动态代理 1.1 Spring AOP和动态代理的关系 Spring AOP使用动态代理作为…

Mysql 日志(redolog, binlog, undoLog)

重做日志-redolog 是什么 innoDB存储引擎层面的日志&#xff0c;它的作用是当 数据更新过程中数据库发生异常导致提交的记录丢失 为什么 mysql的基本存储结构是页&#xff08;记录都在页里面&#xff09;&#xff0c;所以更新语句时&#xff0c;mysql需要先把要更新的语句找…

【python】python淘宝交易数据分析可视化(源码+数据集)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Linux下安装JDK并配置环境变量

一、Oracle官网下载jdk 1、官网地址 https://www.oracle.com/java/technologies/downloads/#java17 2、命令下载 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 3、解压 tar -zxvf jdk-17_linux-x64_bin.tar.gz 4、配置环境变量 ec…

企业OA办公系统开发笔记:1、搭建后端环境

文章目录 企业办公系统&#xff1a;搭建环境一、项目介绍1、介绍2、技术栈3、项目模块4、数据库 二、搭建环境1、搭建后端1.1、搭建父工程clfwzx-oa-parent1.2、搭建工具类父模块common1.3、搭建工具类common的子模块1.4、搭建实体类模块model和项目模块service-oa 2、配置依赖…

精选多个炫酷的数据可视化大屏(含源码),拿走就用~

末尾有链接 演示地址&#xff1a;可视化大数据展示中心 (null.fit) 可视化大数据展示模板-科技语者 (chgskj.cn)

AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘

问题描述 修改图片大小的时候&#xff0c;代码报错&#xff1a;AttributeError: module PIL.Image has no attribute ANTIALIAS 解决方案 在pillow的10.0.0版本中&#xff0c;ANTIALIAS方法被删除了。 方法1&#xff1a;修改版本&#xff08;不推荐&#xff09; pip instal…