springboot第47集:【思维导图】面向对象,关键字,标识符,变量,数组的使用

科技   其他   2024-01-04 23:10   广东  

关键字:class,public,static,void等,特点是全部关键字都是小写字母。

image.png
image.png

凡是自己起的名字可以叫标识符

image.png
image.png
image.png
image.png

整数类型的使用

image.png
image.png
image.png

浮点类型

image.png
image.png

字符类型:char,不能为空

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

数组

image.png

线性查找,二分查找

image.png
image.png
image.png
image.png
image.png

数组: List,Set,Map

image.png
image.png

面向对象

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

构造器

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

重载(Overloading)和多态(Polymorphism)是Java中两个重要的概念,它们分别表示在同一个类中使用相同的方法名,但是根据参数的不同或者继承关系的不同,会有不同的行为。

重载示例:

public class Calculator {
    
    // 重载的方法,参数个数不同
    public int add(int a, int b) {
        return a + b;
    }

    // 重载的方法,参数类型不同
    public double add(double a, double b) {
        return a + b;
    }

    // 重载的方法,参数顺序不同
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    public static void main(String[] args) {
        Calculator calculator = new Calculator();
        
        System.out.println(calculator.add(2, 3));           // 调用第一个add方法
        System.out.println(calculator.add(2.5, 3.5));       // 调用第二个add方法
        System.out.println(calculator.add(1, 2, 3));        // 调用第三个add方法
    }
}

多态示例:

class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    public void sound() {
        System.out.println("Dog barks");
    }
}

class Cat extends Animal {
    public void sound() {
        System.out.println("Cat meows");
    }
}

public class PolymorphismExample {
    public static void main(String[] args) {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();

        animal1.sound();  // 调用的是Dog类的sound方法
        animal2.sound();  // 调用的是Cat类的sound方法
    }
}

image.png

super

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

equals

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

单例模式实现思路

image.png
image.png
image.png
image.png
image.png

立即加载(随着类的加载而加载),懒加载

生命周期过长,也可以说泄漏

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

匿名实现类的匿名对象

image.png
image.png
image.png

枚举

image.png
  • PID(进程ID): 28538
  • 用户: root
  • %CPU(CPU使用率): 98.7
  • %MEM(内存使用率): 0.1
  • VSZ(虚拟内存大小): 111512 KB
  • RSS(常驻集大小): 2036 KB
  • TTY/STAT/START TIME(终端/状态/启动时间): 在片段中未提供
  • COMMAND(命令): [kswapd0]

一些关键字段的解释:

  • %CPU: 进程的CPU使用百分比。
  • %MEM: 进程的物理RAM(内存)使用百分比。
  • VSZ: 虚拟内存大小,包括进程可以访问的所有内存,包括已交换出去的内存。
  • RSS: 常驻集大小,是进程在RAM中的部分内存(非交换的)。

COMMAND字段显示这个进程被命名为[kswapd0]kswapd0是一个内核线程,负责在内存中进行页面的换入和换出。它是Linux内核内存管理子系统的一部分,参与处理当系统的物理内存已满时的交换空间。

  • PID(进程ID): 进程的唯一标识符。
  • USER(用户): 进程的所有者。
  • %CPU(CPU使用率): 进程占用CPU的百分比。
  • %MEM(内存使用率): 进程占用物理内存的百分比。
  • VSZ(虚拟内存大小): 进程的虚拟内存大小。
  • RSS(常驻集大小): 进程占用的实际内存大小。
  • TTY/STAT/START TIME(终端/状态/启动时间): 一些其他进程状态信息。
  • COMMAND(命令): 进程的执行命令或名称。

对于你提供的部分信息,其中一些关键进程包括:

  • kswapd0(PID 28538): 内核线程,负责管理内存的交换操作。
  • rsyslogd(PID 1303): 系统日志守护进程。
  • java(PID 12820): Java进程,可能是在运行某个Java应用程序。
  • beam.smp(PID 8994): Erlang/OTP BEAM虚拟机的一个实例,通常与Erlang或Elixir应用相关。
  • gitaly(PID 4157): 与Git仓库相关的Gitaly服务。
  • python(PID 13576、PID 13511): 两个Python进程,执行Python脚本。
  • systemctl(PID 13241): Systemd的控制进程。
  • 1panel(PID 12395): 一个名为"1panel"的进程。
  • YDService(PID 13429): 一个名为"YDService"的进程。

CPU核心数  = 车道数量

内存             = 车道宽度

磁盘IO         = 车道限速

影响服务器负载的因素:

1、CPU使用率

2、线程数量

3、IO使用率

4、swap使用率

5、因宿主机负载过高导致资源分配不足

Nginx 默认的文件上传大小由 client_max_body_size 指令控制,默认值为 1 兆字节。如果你需要允许更大的文件上传,你需要调整这个值。

以下是一个设置较大上传文件大小的 Nginx 配置示例:

http {
    # 其他配置...

    client_max_body_size 20M; # 将最大上传大小设置为 20 兆字节

    # 服务器配置...
}

在这个示例中,我将 client_max_body_size 设置为 20 兆字节,你可以根据实际需要调整这个值。M 代表兆字节,你也可以使用 K 表示千字节,或者 G 表示吉字节。

在修改配置后,别忘了重新加载或重启 Nginx:

sudo systemctl reload nginx # 对于使用 systemd 的系统

加群联系作者vx:xiaoda0423

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

算法猫叔
程序员:进一寸有一寸的欢喜
 最新文章