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

共 6213字,需浏览 13分钟

 ·

2024-01-05 09:28

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

f86cc852d1cb36e7b2dcf4e1065cf8e3.webpimage.png bf3ee87dfab76bdce4ce8d63bbdc53de.webpimage.png

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

b8b6652b2de7583f763c75347872ef31.webpimage.png 0d1efe4072da2056c40c48dd788600c9.webpimage.png 9c3e2869d2e43cfcf808bb3a6240616b.webpimage.png 96cb6bd5b3f97d47972aeb7d1b5f3c2c.webpimage.png

整数类型的使用

d7f6271a4970377942a9cf76a0f995f5.webpimage.png 69d8b4ea1a657fd4671f7d41d87b66ee.webpimage.png cc52ace9e6ca96b9ec29c65cc52600e1.webpimage.png

浮点类型

eaa23099fc9ed9d2eb9b8eb8a5ebb0b8.webpimage.png fc2755015e1082fe6f036f80cab349ae.webpimage.png

字符类型:char,不能为空

8f6fa66912c4a2f885742c8497eb7319.webpimage.png bcb71d443b89e04736f8fe48353be91d.webpimage.png 27b86909f8ffa7fb34ca0a5c8e27e00b.webpimage.png 1aea36d6665e0a395629a3f501dc5301.webpimage.png c44154f1f8773d24bfdb506b610452c6.webpimage.png bc63e0a6c2766ba294e46379800d3872.webpimage.png 054af05385f964a462f8e3ca0611e1cd.webpimage.png edb7435d466022944ceea2101770027b.webpimage.png 4e58c6a0543e8896d9048b64c0a5f2f7.webpimage.png 73a7a92b36aa399d525ff23862d2be9f.webpimage.png a7c67ed793a744cc674aa8fe66f9b036.webpimage.png a3be431a6a023b063d7fde291653a861.webpimage.png 0ec1d42fdc1d5fa66b4fe756ad8d8922.webpimage.png

数组

73cb61ce0b55ca0f349931c76b942eff.webpimage.png

线性查找,二分查找

7598ba21d612b68e379f7d745442cdc5.webpimage.png 6dee0ddd5e45e09ac46318469c03a3db.webpimage.png e38923687f61f9be351ffb90bda2b2c5.webpimage.png 05439440872a8dbc26046f227c6a25c3.webpimage.png 53cef8f7aeb27dbea418174edbc5fd3d.webpimage.png

数组: List,Set,Map

89f1a38c445cfc0a7cc3acb79ddc24fa.webpimage.png 8c04c7712705d60cccace697d1c7043e.webpimage.png

面向对象

fd34f2e7b48b3e9f80ef62b3d9ccc0b4.webpimage.png 98792af26b50d7837d53d11b963c8205.webpimage.png cd2621551646ac9b50665121bd499320.webpimage.png 60fb77dae1ffddf3cbae6bb7ed65e9e7.webpimage.png b9154b4a1a1de78c872b6632397f8e5d.webpimage.png a54478e7ff8320cce0943bedebd956e9.webpimage.png d48da9a79e81686dd50816313d4597bb.webpimage.png e789090a725c0c07d0f03ee3d9c0775f.webpimage.png

构造器

72bd1cf5e9a8210a0abcfb1695a36031.webpimage.png 60a93e1f8b2085626aa4198f1438f0f6.webpimage.png 324fee108ca586d2717d2660d4587ac3.webpimage.png 0aa6061c9bab1f8b315eb77d1401d8c8.webpimage.png 6148d0207600d33891da97c81a558c75.webpimage.png f80179dca29d4265fa5b6c4a34706710.webpimage.png d8649c1d954e719e2120f945f8e777f8.webpimage.png b5ba4ce4a5528ae49b1a15c6212a1a5c.webpimage.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方法
    }
}

4a402f4b0e0d315f10014dd36f9a9714.webpimage.png

super

5baa9ba3dd8edc4f040f46ba4e3cbea5.webpimage.png 0028cdf1e721539bfd7240212bc82c6a.webpimage.png bd2e65c2ebb0d2501c6519da92947639.webpimage.png fe2ce9a5663cb93b5c98439459da18b1.webpimage.png 2dca9e9db551922a8cb8e9d49bd5dd71.webpimage.png e5ad1cacbb56d067319f5cca213a177d.webpimage.png b46e177885c68fa99f4ac6ac5457c859.webpimage.png add85487a86161e759b12c5f386b4ab1.webpimage.png 5a9dc202588a86fe3a37f95e8646f619.webpimage.png 2efa717843ec643aea1eb7ba7f5accf6.webpimage.png cdcdb416dcb39d1f61bef50b95d3007e.webpimage.png b5146c6dbf2d7e8d7c7806e759010178.webpimage.png 167adc9adf5527788c7d90c0180eb70b.webpimage.png 67fdbc4faa39e47c06d3ed8fea3360c6.webpimage.png a8b181809f8255cd1a3f7242788f5d3d.webpimage.png

equals

b055321d870d0d35e1827777bb9ab7bf.webpimage.png 9ae7ddc6d92a493a84548b4b4da2e2f1.webpimage.png f3fdf9cf0a4e5088f995b782d1bf249e.webpimage.png e366d06d044a4c16829b7e2b9a52db10.webpimage.png 3506bf20d2bab46083d71f47ef5678b4.webpimage.png 0bbe2208910be27478f96fe40457b760.webpimage.png f121cec7db3c57da91275e9f410a5c61.webpimage.png 17f29556de2bfd8054887a9c254fd297.webpimage.png 206093bcfa0cbdbea73b0f9d759ec8fe.webpimage.png d5034987ba8f4af8bae4d45a5fc8773b.webpimage.png 7213d11dd3a501ef7b9a927d7d32e16b.webpimage.png 9e5ae3d7d5ea04f4733d285a801d1620.webpimage.png 0472a7200a15d9559a03fa42f0c223da.webpimage.png 96c24cca2477c5cc692ea46286156296.webpimage.png

单例模式实现思路

543e809945f19eda4b5dd6719ba70e19.webpimage.png cd6fd1e5a44855ec9c1cc4efdc9d2c3c.webpimage.png e8fc2788e4dec44460cc79c183d66f1c.webpimage.png fa7ef5173fcc055baa77aa682c520cf3.webpimage.png 84c5656380a3b4747dd54ce7cfbe1c07.webpimage.png

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

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

977f02131ef9c8da9616a19928d0c28c.webpimage.png a7a67eff5cd235edd64fe48d2e63ee7b.webpimage.png bdbb96efcda7c6b5e6f1c5481b71e45e.webpimage.png 169cae8cdf40c6c23169fdb9a92cded8.webpimage.png 2882ab837878eca6c6bcca6377f7aa4b.webpimage.png 221742eda96e7d4cca28ce11873837d9.webpimage.png 914573f015ea32cdaf2f5544fcc1ae8d.webpimage.png 6f5a8dee66a8cc904175882b23f2b1d6.webpimage.png 8c09f5341acdc28eec612bbaf78d2335.webpimage.png

匿名实现类的匿名对象

ebbc4e1570825b0b07d6ac2885037693.webpimage.png 853c1d4bff804b8c4b5befb1916773c6.webpimage.png 0e83ce59e9ab2823a8c2f7192d1ad28c.webpimage.png

枚举

fb971319d43f0935e722431c6f76f5b6.webpimage.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

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报