面向新人的 Java 面试问题(51-100)

news2024/11/13 12:55:12

51. 使用 new() 创建 String 与创建文字有何不同?

使用 new() 的字符串与文字不同,因为当我们声明字符串时,它将元素存储在堆栈内存中,而当使用 new() 声明时,它会在堆内存中分配动态内存。即使存在相同内容的对象,也会在堆内存中创建对象。

句法:

String x = new String("ABC");

3-768

52. Java 中的数组是什么?

Java 中的数组是一种数据结构,用于存储相同类型的固定大小元素序列。数组元素可以通过其索引访问,索引从 0 开始,直到长度减 1。Java 中的数组声明是借助方括号完成的,并且在声明期间还指定大小。 

句法:

int[] Arr = new int[5]; 

53. Java 在哪些内存上创建数组?

Java 中的数组是在堆内存中创建的。使用 new 关键字创建数组时,将在堆中分配内存来存储数组的元素。在 Java 中,堆内存由 Java 虚拟机 (JVM) 管理,并且也在 Java 程序的所有线程之间共享。对于程序不再使用的内存,JVM 使用垃圾收集器来回收内存。Java 中的数组是动态创建的,这意味着数组的大小是在程序运行时确定的。数组的大小是在声明数组时指定的,一旦创建数组,就无法更改。

54. 数组有哪些类型?

有两种类型的数组,即原始数组和引用数组。

  • 一维数组:只有一个维的数组,即整数数组或字符串数​​组,称为一维数组。

4-768

句法:

数据类型[] Array_Name = 新数据类型[ArraySize];
  • 多维数组:具有两个或多个维度的数组,例如二维或三维数组。 

55.为什么Java数组索引从0开始?

数组的索引表示距离数组起始点的距离。因此,第一个元素的距离为 0,因此起始索引为 0。

句法:

data_type[] Array_Name = new data_type[ArraySize];
  • 多维数组:具有两个或多个维度的数组,例如二维或三维数组。 

55.为什么Java数组索引从0开始?

数组的索引表示距离数组起始点的距离。因此,第一个元素的距离为 0,因此起始索引为 0。

句法:

[Base Address + (index * no_of_bytes)]

56. int array[] 和 int[] array 有什么区别?

int array[] 和 int[] array 都用于在 Java 中声明整数数组。它们之间的唯一区别在于语法,而功能上没有区别。

int arr[] 是一种用于声明数组的 C 风格语法。
int[] arr 是一种用于声明数组的 Java 风格的语法。

但是,一般建议使用 Java 风格的语法来声明数组。因为它易于阅读和理解,并且与其他 Java 语言结构更一致。

57. 如何在 Java 中复制数组?

在 Java 中,根据需要有多种方法可以复制数组。 

  • Java 中的 clone() 方法: Java 中此方法用于创建给定数组的浅表副本,这意味着新数组将与原始数组共享相同的内存。
int[] Arr = { 1, 2, 3, 5, 0}; 
int[] tempArr = Arr.clone();
  • arraycopy() 方法:要创建数组的深层复制,我们可以使用此方法,它创建一个具有与原始数组相同值的新数组。
int[] Arr = {1, 2, 7, 9, 8}; 
int[] tempArr = new int[Arr.length]; 
System.arraycopy(Arr, 0, tempArr, 0, Arr.length);
  • copyOf() 方法:此方法用于创建一个具有特定长度的新数组,并将原数组的内容复制到新数组。
int[] Arr = {1, 2, 4, 8}; 
int[] tempArr = Arrays.copyOf(Arr, Arr.length);
  • copyOfRange()方法:这个方法与Java中的copyOf()方法非常相似,但是这个方法还允许我们指定从原始数组中复制元素的范围。
int[] Arr = {1, 2, 4, 8}; 
int[] temArr = Arrays.copyOfRange(Arr, 0, Arr.length);

58.你对锯齿数组有何理解?

Java 中的锯齿数组只是一个二维数组,其中数组的每一行可以具有不同的长度。由于二维数组中的所有行都具有相同的长度,但锯齿数组允许每行的大小具有更大的灵活性。当数据长度不同或需要优化内存使用时,此功能非常有用。   

句法:

int[][] Arr = new int[][] { 
    {1, 2, 8}, 
    {7, 5}, 
    {6, 7, 2, 6} 
};

59. 是否可以将数组设为易失性的?

在 Java 中,无法创建 volatile。Java 中的 volatile 关键字只能应用于单个变量,而不能应用于数组或集合。当变量被定义为 volatile 时,变量的值始终从主内存读取并写入主内存,而不是缓存在线程的本地内存中。这样可以更轻松地确保访问变量的所有线程都可以看到对变量所做的更改。

60. 数组的优点和缺点是什么?

5-768

数组的优点是:

  • 通过数组可以实现对集合中任何元素的直接有效访问。可以使用 O(1) 操作访问数组的元素,这意味着执行此操作所需的时间是恒定的,并且与数组的大小无关。
  • 使用数组可以有效地将数据存储在内存中。数组的大小在编译时已知,因为其元素存储在连续的内存区域中。
  • 由于数据存储在连续的内存区域中,因此数组可以提供快速的数据检索。
  • 数组易于实现和理解,是初学者学习计算机编程的理想选择。

数组的缺点是:

  • 数组在创建时具有预定的大小,该大小是在当时选择的。这意味着如果需要扩展数组的大小,则需要创建一个新数组,并且需要将数据从旧数组复制到新数组,这会占用大量时间和内存。
  • 如果数组的内存空间没有被完全占用,那么数组的内存空间中可能会有未使用的内存空间。如果你的记忆力很差,这可能会是个问题。
  • 与链表和树等其他数据结构相比,数组可能由于其固定大小和对复杂数据类型的支持有限而显得僵化。
  • 由于数组的元素必须全部属于同一数据类型,因此它不支持对象和结构等复杂数据类型。

61. 什么是面向对象范式?

范式的字面意思是一种模式或一种方法。编程范式是解决程序问题的方法,分为四种类型,即命令式、逻辑式、函数式和面向对象式。当使用对象作为应用方法、执行封装或继承功能的基础实体时,它被称为面向对象范式。

62. Java 中 OOP 的主要概念是什么?

Java 中 OOP 的主要概念如下:

  • 集成
  • 多态性
  • 抽象
  • 封装 

63. 面向对象编程语言和基于对象的编程语言有什么区别?

面向对象编程语言

基于对象的编程语言

面向对象的编程语言涵盖了更大的概念,如继承、多态、抽象等。基于对象编程的范围仅限于对象和封装的使用。
它支持所有内置对象它不支持所有内置对象
例如:Java、C#等等。例如:Java 脚本、Visual Basics 等等。

64. Java 中的 'new' 运算符与 'newInstance()' 运算符有何不同?

new 操作符用于创建对象,但是如果我们想在运行时决定创建的对象类型,我们就没办法使用 new 操作符了。在这种情况下,我们必须使用 newInstance () 方法

65. Java 中的类是什么? 

在 Java 中,类是具有相似特征和属性的对象的集合。类表示创建对象的蓝图或模板。类不是现实世界的实体,但可以帮助我们创建现实世界的实体对象。 

66. 静态(类)方法和实例方法有什么区别?

静态(类)方法

实例方法

静态方法与类而不是对象相关联。

实例方法与对象而不是类相关联。

静态方法只需使用类名即可调用,而无需创建类的实例。

可以使用对象引用在类的特定实例上调用实例方法。

静态方法无权访问关键字

实例方法可以访问关键字

静态方法只能访问类的静态成员。

实例方法可以访问类的静态方法和非静态方法。

静态方法无法被重写,因为它们是在编译时解析的,而不是在运行时。这意味着编译器根据引用类型而不是对象类型来决定调用哪个方法。

实例方法可以被重写,因为它们是在运行时解析的,而不是在编译时。这意味着编译器根据对象类型而不是引用类型来决定调用哪个方法。

67. Java 中的 this 关键字是什么?

6

'this' 是用于引用指向当前对象的变量的关键字。

68. 什么是简要访问说明符和访问说明符的类型?

访问修饰符_in_java-768

Java 中的访问说明符有助于限制类、构造函数、变量、方法或数据成员的范围。Java 中有以下四种类型的访问说明符:

  1. Public
  2. Private
  3. Protected
  4. Default

69. 定义为实例变量的对象引用的初始值是多少?

定义为实例变量的对象引用的初始值是 NULL 值。

70.什么是对象?

对象是具有特定属性和方法的真实实体。对象也被定义为类的实例。可以使用 new 关键字声明对象。

71. Java 中创建对象有哪些不同的方法?

Java 中创建对象的方法如下:

  1. 使用 new 关键字
  2. 使用新实例
  3. 使用 clone() 方法
  4. 使用反序列化
  5. 使用 Constructor 类的 newInstance() 方法

要了解有关在 Java 中创建对象的方法的更多信息,请参阅本文。

72.对象克隆的优点和缺点是什么?

使用对象克隆有许多优点和缺点,如下所述:

优点:

  • 在 Java 中,'=' 赋值运算符不能用于克隆,因为它只是创建引用变量的副本。为了克服这种差异,可以使用 Object 类的 clone() 方法代替赋值运算符。
  • clone() 方法是 Object 类的受保护方法,这意味着只有 Employee 类可以克隆 Employee 对象。这意味着除 Employee 之外的任何类都无法克隆 Employee 对象,因为它不知道 Employee 类的属性。
  • 代码大小随着重复的减少而减小。 
  • 允许复制(有点像原型模式)手动初始化每个字段会产生大量代码,如果对象很复杂,则使用克隆会更快。

缺点:

  • 由于 Object.clone() 方法受到保护,因此需要提供我们自己的 clone() 并从中间接调用 Object.clone()。
  • 如果我们没有任何方法,那么我们需要提供一个 Cloneable 接口,因为我们需要提供 JVM 信息,以便我们可以在我们的对象上执行 clone()。如果没有,我们就不能克隆,如果我们只是从克隆方法返回 super.clone(),那么克隆会对字段进行浅拷贝,这可能会有问题。

73. 将其传递给方法而不是当前类对象本身有什么好处?

将其传递给方法而不是当前类对象本身有几个优点,包括:

  • 这是最终变量,因此不能将其分配给任何新值,而当前类对象可能不是最终的,并且可以更改。
  • 这可以在同步块中使用。

74.什么是构造函数?

构造函数是用于初始化对象的特殊方法。创建对象时会调用构造函数。构造函数的名称与类的名称相同。

例子:

// Class Created
class XYZ{
      private int val;
      
      // Constructor
      XYZ(){
            val=0;
      }
};

75. 如果在类中没有提供构造函数会发生什么情况?

在Java中,如果类中没有提供构造函数,编译器会自动生成一个没有参数、没有操作的默认构造函数,该构造函数为默认构造函数。

76. Java 中使用了多少种类型的构造函数?

Java 中有两种类型的构造函数,如下所示:

  1. 默认构造函数
  2. 参数化构造函数

默认构造函数:不接受任何参数值的类型。用于设置对象属性的初始值。


class_Name(); 
// 调用默认构造函数

参数化构造函数:它是接受参数作为参数的构造函数类型。这些参数用于在对象初始化期间为实例变量赋值。

class_Name(参数1,参数2......); 
// 作为参数传递的所有值将
相应地分配

77. 默认构造函数的用途是什么?

构造函数有助于创建类的实例,或者可以说是创建类的对象。构造函数在对象初始化期间调用。默认构造函数是一种不接受任何参数的构造函数,因此分配给对象属性的任何值都被视为默认值。

78. 你对Java中的复制构造函数如何理解?

复制构造函数是一种构造函数类型,我们将另一个对象作为参数传递,因为两个对象的属性看起来相同,这就是为什么构造函数似乎创建了一个对象的副本。

79. 在哪里以及如何使用私有构造函数?

如果您不希望任何其他类实例化该对象以避免子类化,则可以使用私有构造函数。示例中可以看到私有构造函数的使用。

例子:

// Java program to demonstrate implementation of Singleton
// pattern using private constructors.
import java.io.*;
class GFG {
    static GFG instance = null;
    public int x = 10;
    // private constructor can't be accessed outside the
    // class
    private GFG() {}
    // Factory method to provide the users with instances
    static public GFG getInstance()
    {
        if (instance == null)
            instance = new GFG();
        return instance;
    }
}
// Driver Class
class Main {
    public static void main(String args[])
    {
        GFG a = GFG.getInstance();
        GFG b = GFG.getInstance();
        a.x = a.x + 10;
        System.out.println("Value of a.x = " + a.x);
        System.out.println("Value of b.x = " + b.x);
    }
}

输出
Value of a.x = 20
Value of b.x = 20

80. 构造函数和方法有什么区别?

Java 构造函数用于初始化对象。在创建过程中,构造函数被调用来设置对象的属性,除了它们之间的一些基本区别之外:

  1. 构造函数仅在创建对象时被调用,但其他方法可以在对象的生命周期内被多次调用。
  2. 构造函数没有返回类型,而方法有返回类型,可以是void任何其他类型。
  3. 构造函数用于设置初始状态,但方法用于执行特定操作。

81. 什么是接口?

Java 中的接口是静态最终变量和抽象方法的集合,它们定义一组链接类的契约或协议。任何实现接口的类都需要实现一组特定的方法。它指定类必须表现出的行为,但不指定应如何实现的细节。

句法:

interface 
{
    // constant fields
    // methds that are abstract by default
}

例子:

// Java Program to demonstrate Interface
import java.io.*;
interface Shape {
    double getArea();
    double getPerimeter();
}
class Circle implements Shape {
    private double radius;
    public Circle(double radius) { this.radius = radius; }
    public double getArea()
    {
        return Math.PI * radius * radius;
    }
    public double getPerimeter()
    {
        return 2 * Math.PI * radius;
    }
}
class GFG {
    public static void main(String[] args)
    {
        Circle circle = new Circle(5.0);
        System.out.println("Area of circle is "
                           + circle.getArea());
        System.out.println("Perimeter of circle is"
                           + circle.getPerimeter());
    }
}

输出

Area of circle is 78.53981633974483
Perimeter of circle is31.41592653589793

82. 给出界面的一些特点。

Java 编程语言中的接口被定义为用于指定类的行为的抽象类型。Java 中的接口是行为的蓝图。Java 接口包含静态常量和抽象方法。

该界面的特点如下:

  • 该接口可以帮助实现完全的抽象。
  • 允许我们在 Java 中使用多重继承。
  • 即使一个类只能扩展一个类,任何类都可以实现多个接口。
  • 它还用于实现松散耦合。

83. 什么是标记接口?

接口被视为空接口(没有字段或方法),称为标记接口。标记接口的示例包括 Serializable、Cloneable 和 Remote 接口。 

84. 抽象类和接口有什么区别?

抽象类和接口-768

抽象类

接口类

在抽象类中可以找到抽象方法和非抽象方法。

该接口仅包含抽象方法。

抽象类支持Final方法。

接口类不支持Final方法。

抽象类不支持多重继承。

接口类支持多重继承。

Abstract 关键字用于声明抽象类。

Interface 关键字用于声明接口类。

extend关键字用于扩展抽象类。implements关键字用于实现接口。

抽象类具有受保护、私有等成员。

默认情况下,所有类成员都是公开的。

85. 数据封装是什么意思?

Java 封装-300

数据封装是将接口绑定在一起的类的 OOPS 属性和特征的概念。基本上,它将数据和对该数据进行操作的方法捆绑在一个单元内。封装是通过将类的实例变量声明为私有来实现的,这意味着它们只能在类内访问。

86.Java 中的封装有什么优点?

Java中封装的优点如下:

  1. 数据隐藏:这是一种通过隐藏实现细节来限制数据成员访问的方法。封装也提供了一种数据隐藏的方法。用户将不知道类的内部实现。 
  2. 增加灵活性:我们可以根据需要将类的变量设为只读或只写。 
  3. 可重用性:封装还提高了可重用性,并且易于根据新需求进行更改。
  4. 测试代码很容易:代码很容易进行单元测试。

87.封装的主要好处是什么? 

Java 中封装的主要优点是它能够保护对象的内部状态免受外部修改或访问。它是一种隐藏类的实现细节以防止外部访问并仅公开可用于与类交互的公共接口的方法。它的主要好处是提供一种控制和管理对象状态和行为的方法,同时保护它免受修改和未经授权的访问。 

例子:

// Java Program to demonstrate use of Encapsulation
import java.io.*;
class Person {
    private String Name;
    private int age;
    public String getName() { return Name; }
    public void setName(String Name) { this.Name = Name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}
// Driver class
class GFG {
    // main function
    public static void main(String[] args)
    {
        Person p = new Person();
        p.setName("Rohan");
        p.setAge(29);
        System.out.println("Name is " + p.getName());
        System.out.println("Age is " + p.getAge());
    }
}

输出

Name is Rohan
Age is 29

88. 聚合是什么意思?

Java 中的聚合

聚合是一个与两个类之间的关系相关的术语,最好将其描述为“具有”关系。这种类型是关联的最专业版本。它是一种单向关联,意味着它是一种单向关系。它包含对另一个类的引用,并且被认为拥有该类的所有权。

89. OOPs Java 中的“IS-A”关系是什么?

“IS-A” 是 OOPs Java 中的一种关系类型,其中一个类继承另一个类。

90. 定义继承。

当属于子类的对象获得来自超类的父对象的所有属性和行为时,这称为继承。类中的类称为子类,后者称为超类。子类或子类被称为特定的,而超类或父类则是通用的。继承提供了代码可重用性。

91. Java 中有哪些不同类型的继承?

继承是子类可以继承父类或父类的特征的方法。在 Java 中,继承有四种类型:

  • 单继承:当子类或子类仅扩展一个超类时,称为单继承。单亲类属性将传递给子类。 
  • 多级继承:当子类或子类扩展任何其他子类时,就会创建一个继承层次,这称为多级继承。换句话说,一个子类成为另一个子类的父类。
  • 层次继承:当多个子类从同一个父类派生时,称为层次继承。换句话说,一个只有一个父类的类有许多子类。
  • 多重继承:当子类从多个父类继承时,称为多重继承。在 Java 中,它仅支持接口的多重继承,而不支持类的多重继承。

92. 什么是多重继承? Java 支持多重继承吗?

面向对象概念的一个组成部分称为多重继承,它允许一个类从多个父类继承属性。当具有相同签名的方法同时存在于超类和子类中时,就会出现问题。方法的调用者无法向编译器指定应调用哪个类方法,甚至无法指定应优先调用哪个类方法。 

注意: Java 不支持多重继承

例子:

// Java Program to show multiple Inheritance
import java.io.*;
interface Animal {
    void eat();
}
interface Mammal {
    void drink();
}
class Dog implements Animal, Mammal {
    public void eat() { System.out.println("Eating"); }
    public void drink() { System.out.println("Drinking"); }
    void bark() { System.out.println("Barking"); }
}
class GFG {
    public static void main(String[] args)
    {
        Dog d = new Dog();
        d.eat();
        d.drink();
        d.bark();
    }
}

输出

Eating
Drinking
Barking

93. C++中的继承与Java有何不同?

C++ 中的继承

Java 中的继承

C++ 允许用户继承多个类。Java 不支持多重继承。
当在 C++ 中创建一个类时,它不会从对象类继承,而是独立存在。Java 总是被认为具有单一继承,因为所有类都以某种方式从对象类继承。

94. 使用继承有什么限制吗?

是的,在 Java 中使用继承有一个限制,因为继承可以从超类和接口中继承所有内容,因此子类过于聚集,并且在某些情况下进行动态覆盖或动态重载时有时容易出错。

95. 尽管继承是一个流行的 OOP 概念,但它的优势不如组合。解释一下。

继承是面向对象编程 (OOP) 的一个流行概念,其中一个类可以从任何其他类继承属性和方法,这些类被称为父类或超类。另一方面,在组合中,一个类可以包含另一个类的实例作为成员变量,这通常被称为部分或组件。以下是组合比继承更有利的一些原因:

  • 紧密耦合:每当对超类进行任何更改时,这些更改都会影响其所有子类或子类的行为。这个问题会使代码变得不那么灵活,也会在维护期间产生问题。这个问题还会导致类之间的紧密耦合。
  • 脆弱基类问题:对基类的更改可能会破坏其派生类的功能。此问题会使添加新功能或修改现有功能变得困难。此问题称为脆弱基类问题。
  • 有限的重用: Java 中的继承会导致有限的代码重用以及代码重复。由于子类继承了其超类的所有属性和方法,有时它可能会得到不需要的不必要代码。这会导致代码库更难维护。

96. 什么是协会?

关联是两个独立类之间通过其对象建立的关系。它表示 Has-A 关系。

97. 聚合是什么意思?

组合是聚合的一种受限形式,其中两个实体彼此高度依赖。它代表关系的一部分。

98.Java的组成是什么?

组合意味着孩子不能独立于父母而存在的关系。例如,人的心脏,心脏不能独立于人而存在。

99. 说明组合和聚合之间的区别。

聚合

作品

它定义了对象之间的“具有”关系

它代表了部分关系

对象彼此独立。

对象之间是互相依赖的。

使用实心菱形来表示它。

使用空心菱​​形来表示它。

子对象没有生命周期。

子对象有生命周期。

100.构造函数可以被继承吗?

不,我们不能继承构造函数。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Xv6——物理分配器

对应文件:kalloc.c 物理内存布局 在Xv6中,物理内存大小是固定的,为128MB。物理内存起止也是固定的,由宏 KERNVASE 和 宏 PHYSTOP 定义。系统启动时,会把内核的代码加载到物理内存当中去;因此,可…

Android-自适用高度的ViewPager

需求 在项目中,我们常常遇到需要动态调整 ViewPager 的高度,以适应其内容大小的需求。默认情况下,ViewPager 的高度是固定的,无法根据每个页面的内容高度进行调整。这会导致在内容高度不一致时,出现不必要的空白区域或…

Cmake基础教程--第2章:打印信息和变量操作

Cmake基础教程--第2章:打印日志和变量操作 概述message打印日志打印一些CMake自带的信息 变量操作set操作list方法添加元素获取长度查找元素删除元素其他操作 概述 CMake项目时基于一个名为 CMakeLists.txt 的文件来构造的,注意大小写不能拼写错误。我们…

线程回收以及线程的问题处理

一、线程结束 1.1、pthread_exit 本身表示结束线程 如果用在main函数中 表示结束主线程 主线程结束并不表示进程 此时执行逻辑,主线程执行流结束,进程会在其余线程都结束后,结束 1.2、return 从线程中返回 线程执行函数执行结束&#x…

让回忆鲜活如初:13.3寸彩色墨水屏电子相框震撼上市

在这个数字化时代,我们习惯了在社交媒体上分享生活的点滴,但那些珍贵的记忆是否也能以更直观的方式呈现?近日,一款全新的13.3寸彩色墨水屏电子相框正式上市,它将以独特的方式让您的回忆鲜活如初。 高清彩色墨水屏&…

三维建模软件:地理信息与遥感领域的智慧构建者

在地理信息与遥感技术的广阔舞台中,建模软件如同一位卓越的建筑师,以数据为砖瓦,智慧为水泥,构建出一个又一个又一个逼真、动态的虚拟世界。本文将深入探究其技术核心、应用实例、未来趋势,揭示建模软件如何在地理信息…

论文干货|AI一键生成论文的AI工具!附使用攻略!速速码住!

在当前的学术研究和写作环境中,AI技术的应用已经变得越来越普遍。特别是在论文写作方面,许多学生和研究人员都在寻找能够提高效率、简化流程的工具。千笔-AIPassPaPer是一款备受推荐的AI论文生成工具,它不仅功能全面,而且用户体验…

Windows、Ubuntu安装mysql

今天我们来学习一下如何在Windows、Ubuntu安装mysql。 Windows安装mysql 第一步:在官网找到需要安装的mysql版本,下载 第二步:下载后打开安装包,进行安装。 点击 “Next”: 默认就行,单击next: 单击“Excute” 等…

Postgresql导入矢量数据

前期准备 工具:PgAdmin,postgis-bundle Postgres安装和postgis安装可以百度别的教程。 创建数据库添加扩展 如图,使用PgAdmin创建名为shp的数据库,并在扩展item中添加postgis扩展。 添加扩展方法可以用查询工具输入以下sql语句&…

贪吃蛇(C语言详解)

贪吃蛇游戏运行画面-CSDN直播 目录 贪吃蛇游戏运行画面-CSDN直播 1. 实验目标 2. Win32 API介绍 2.1 Win32 API 2.2 控制台程序(Console) 2.3 控制台屏幕上的坐标COORD 2.4 GetStdHandle 2.5 GetConsoleCursorlnfo 2.5.1 CONSOLE_CURSOR_INFO …

免费通配符泛域名SSL证书全自动申请、更新、续期、部署,支持部署到阿里云、腾讯云、ssh主机

CertD:全自动SSL证书管理平台 CertD是一款创新性的开源工具,专注于提供免费且全自动化的SSL证书申请及更新服务。它的命名灵感来源于Linux守护进程的命名方式,“D”代表证书守护进程(Certificate Daemon),…

SpringBoot-读取配置文件内容

目录 前言 主页(端口号默认8080) 1 Value 注解 引用变量的使用 2 Environment 对象 3 ConfigurationProperties (配置内容和对象,进行相互绑定) 前言 读取配置文件有3 种方式 (1) Value注解 (2) Environm…

基于springboot的网上服装商城

TOC springboot182基于springboot的网上服装商城 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性…

C++竞赛初阶L1-11-第五单元-for循环(25~26课)514: T454425 奥运奖牌计数

题目内容 2008 年北京奥运会,A 国的运动员参与了 n 天的决赛项目 (1≤n≤100)。现在要统计一下 A 国所获得的金、银、铜牌数目及总奖牌数。输入第 1 行是 A 国参与决赛项目的天数 n,其后 n 行,每一行是该国某一天获得的金、银、铜牌数目&…

C++ stack与queue的使用与简单实现

目录 0. 适配器 1. stack的简要介绍 2. stack的简单使用 3. queue的简要介绍 4. queue的简单使用 STL标准库中stack和queue的底层结构 deque简单介绍 5. stack的模拟实现 6. queue的模拟实现 0. 适配器 在文章开始前我们先了解一下适配器的概念 适配器是一种设计模式(设计…

【第二节】80x86汇编-寄存器和标志位

目录 前言 一、汇编相关概念 1.1 数据表示与类型 1.2 汇编语言的构成 1.3 存储器及指令、数据 1.4 存储单元 1.5 CPU对存储器的读写操作 1.6 CPU读写内存单元的过程 1.7 intel CPU发展 1.8 8086 内部结构 二、寄存器 2.1 寄存器概览 2.2 32位寄存器 2.3 16位寄存器…

浅谈C语言预处理

文章目录 预处理1、预定义符号2、#define定义标识符和宏A、#define定义标识符B、#define定义宏a、宏的定义b、宏的使用c、宏和函数 3、条件编译4、头文件包含A、两种包含形式B、防止头文件被重复包含 预处理 什么是预处理?预处理是C语言编译的三个过程(…

一口气把halcon的所有运算符说清楚

halcon的运算符大体分以下几类 一:赋值运算符: (1) 赋值(:)(左边的赋值给右边) 二:算术运算符 (1)加()、减(-)、乘(*)、除(/)、求余(%) 三:关系运算符 (3)#、! 不等于 四:逻辑运…

java中运算符的详细知识点

算数运算符 a 先赋值再加1 a 先加1在赋值 --的道理是一样的 赋值运算符 1. - * / % 当两侧数据类型不一致时,可以使用自动类型转换或使用 强制类型转换原则 支持连续赋值 - * / % 不会改变基础类型 测试一下: 比较运算符 运算结果为布尔类型 &#x…

Windows上安装WSL,学习Linux

1. 什么是WSL 先说大白话WSL就是让Windows不安装虚拟机可以额外拥有Linux操作系统,以供学习和测试 WSL(Windows Subsystem for Linux)和WSL2 是微软推出的两个工具,旨在让用户能够在 Windows 操作系统上运行 Linux 的命令行工具…