面试八股文之JAVA基础

JAVA基础

  • DNS、CDN?
  • 如何实现对象克隆?
  • 父子类静态代码块, 非静态代码块, 构造方法执行顺序?
  • String s = new String("abc") 创建了几个对象, 分别放到哪里?
  • OSI网络模型七层?
  • 应用层协议?
  • http协议和https协议区别?
  • 传输层协议有哪些以及区别?
  • http协议是长连接还是短连接?
  • http常用响应码以及含义?
  • 常用的请求方式有哪些以及作用?
  • try、catch、finally 考察?
  • 基本数据类型?
  • int的取值范围?
  • token刷新(保活)?
  • 对称加密和非对称加密有什么区别?
  • 用过那些加密算法?
  • 字节流和字符流有什么区别?
  • 拆箱和装箱?
  • TCP(传输控制协议)和UDP(用户数据报协议)区别?
  • 锁相关?
  • 死锁和活锁的区别?
  • 解决死锁?
  • 封装、继承、多态?
  • jdk8的新特性?
  • 为什么需要包装类?包装类的值比较要使用什么方法?包装类有哪些功能?
  • Java中的类型有哪些?
  • 什么是字符串常量池?
  • 线程中的 start() 和 run() 有那些区别?
  • ThreadLocal 有什么用?
  • String、StringBuffer、StringBuilder 的区别?
  • String 对象的 intern() 有什么作用?
  • Cookie、Session和Token的区别?
  • 什么是反射?
  • 什么地方用到反射?
  • 接口和抽象类的区别?
  • 值传递和引用传递的区别?
  • 重载和重写的区别?
  • JAVA中sleep()和wait()方法的区别?
  • JAVA单例模式的区别?
  • 什么是悲观锁和乐观锁?
  • HashMap底层原理?
  • 方法区、栈区、堆区?
  • synchronized和lock的区别?
  • volatile和synchronized有什么区别?
  • ==和equals的区别?
  • get 和 post 请求有哪些区别?
  • 如何防止表单重复提交?
  • list和linklist区别?

DNS、CDN?

  • DNS:即域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。
  • CDN:即内容分发网络,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

如何实现对象克隆?

实现 Cloneable 接口并重写 Object 类中的 clone()方法;
实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆

父子类静态代码块, 非静态代码块, 构造方法执行顺序?

  • 父类 - 静态代码块
  • 子类 - 静态代码块
  • 父类 - 非静态代码
  • 父类 - 构造函数
  • 子类 - 非静态代码
  • 子类 - 构造函数

String s = new String(“abc”) 创建了几个对象, 分别放到哪里?

3个对象, s是引用对象, 放到栈里, s中存储的是内存地址,

new String是一个对象, 放到堆里, "abc"是一个字符串对象, 放到堆里.

OSI网络模型七层?

应用层, 表示层, 会话层, 传输层, 网络层, 数据链路层, 物理层.

应用层协议?

http协议, https协议, FTP协议, SIP协议, POP3和SMTP协议等

http协议和https协议区别?

http不安全, https协议安全, 因为https协议在传输过程中, 传输的内容会进行加解密.

原理是跟国家有关部门花钱申请CA证书, 将证书部署到tomcat服务器中, 那么传输的内容会经过CA证书进行加解密, 这样传输的内容是安全的.

传输层协议有哪些以及区别?

传输层只有两个协议, 一个是tcp, 一个是udp

tcp: 传输过程中有三次握手, 四次挥手过程. 所以传输的速度比udp慢, 但是不容易丢数据包.(HTTP协议是基于TCP协议的,发送数据之前需要建立好连接;)

udp: 传输过程是无状态的, 传输速度快, 但是容易丢数据包. 主要使用在视频, 语音传输中.

http协议是长连接还是短连接?

http协议1.0是短连接, http协议是1.1那么是长连接.

http常用响应码以及含义?

2XX: 成功

3XX: 重定向

4XX: 访问的资源错误, 或者不存在.

5XX: 服务器内部错误.也就是java代码中出现了问题.

常用的请求方式有哪些以及作用?

get: 一般用作查询

post: 一般用作添加

put: 一般用作修改

delete: 一般用作删除.

options: 一般前后端分离的项目中使用options发送一个简单的请求, 测试请求是否成功, 如果成功才会继续发业务请求(get, post, put, delete), 如果options尝试访问失败, 那么不会再发业务请求.

try、catch、finally 考察?

public class TryDemo {
public static void main(String[] args) {
System.out.println(test());
}
public static int test() {
try {
return 1;
} catch (Exception e) {
return 2;
} finally {
System.out.print("3");
       }
   }
}

在 return 前会先执⾏ finally 语句块,所以是先输出 finally ⾥的 3,再输出 return 的 1。
如果finally里有return则不会执行try里面的return。

基本数据类型?

Java 中的基本数据类型只有8个:byte、short、int、long、float、double、char、
boolean;除了基本类型,剩下的都是引⽤类型。

  • 基本数据类型数据直接存储在栈上

  • 引⽤数据类型区别数据存储在堆上,栈上只存储引⽤地址

  • char: 1个字节

  • short: 2个字节

  • int: 4个字节

  • long: 4个字节

int的取值范围?

int为4个字节:1字节=8位,所以int为32位在计算机中存储的二进制位数。

如果没有符号位的话: 就是32位:表示数的范围为2的32次方(可以举例数字就明白了).

最大的整数为:2的32次方-1。

就是这么大:

unsigned int 0~4294967295

token刷新(保活)?

使用两个token,一个是真正的access_token时效短(2h),另外一个refresh_token时效长(7day)用于刷新token。用redis存储access_token,设置过期时间。
情况1:refresh_token过期,重新登录获取access_token
情况2:refresh_token没过期,access_token过期,不用登录,后端刷新access_token。

对称加密和非对称加密有什么区别?

  • 对称加密:使用一把密钥,加密和解密算法一样的;
  • 非对称加密:使用2把密钥,一把公钥,一把私钥;

用过那些加密算法?

  • base64:严格来说是一种编码和解码的算法;
  • MD5:将明文生成一个128位的字符串;
  • BCrypt算法:自带盐值(密文中),对于同一个密码,每次生成的密文是不同的(随机盐值);

字节流和字符流有什么区别?

  • 字节流:
    1、字节流以字节为单位进行读写,适用于处理二进制数据或者未经编码的文本数据。
    2、字节流通常用于处理图片、音频、视频等二进制数据,以及不需要考虑字符编码的文本数据。
    3、字节流的类包括InputStream和OutputStream。
  • 字符流:
    1、字符流以字符为单位进行读写,适用于处理文本数据,可以自动处理字符编码和解码。
    2、字符流通常用于处理文本文件、网络通信中的文本数据等需要考虑字符编码的场景。
    3、字符流的类包括Reader和Writer。

拆箱和装箱?

  • 装箱就是自动将基本数据类型转换为包装类型;
  • 拆箱就是自动将包装类型转换为基本数据类型
  • 这两种转换都是在需要的时候由编译器自动完成的,因此可以称为隐式转换

TCP(传输控制协议)和UDP(用户数据报协议)区别?

  • TCP是面向连接的,UDP是无连接的
  • TCP是可靠的,UDP是不可靠的
  • TCP是面向字节流的,UDP是面向数据报文的
  • TCP只支持点对点通信,UDP支持一对一,一对多,多对多
  • TCP报文首部20个字节,UDP首部8个字节
  • TCP有拥塞控制机制,UDP没有
  • TCP协议下双方发送接受缓冲区都有,UDP并无实际意义上的发送缓冲区,但是存在接受缓冲区

锁相关?

  • synchronized:重量级锁,依赖于操作系统,自动加锁和自动释放锁,是一个关键字,不可以被打断;
  • lock:是一个接口,手动加锁和释放锁,可以被打断;

死锁和活锁的区别?

  • 死锁:多个线程相互占用对方的资源的锁,一直处于阻塞状态;
  • 互斥条件
    临界资源是独占资源,进程应互斥且排他的使用这些资源。
  • 请求和保持条件
    进程在请求资源得不到满足而等待时,不释放已占有资源。
  • 不剥夺条件
    又称不可抢占,已获资源只能由进程自愿释放,不允许被其他进程剥夺。
  • 循环等待条件
    又称环路条件,存在循环等待链,其中,每个进程都在等待链中等待下一个进程所持有的资源,造成这组进程处于永远等待状态。
    死锁只有在这四个条件同时满足时出现。
  • 活锁:活锁是拿到资源却又相互释放不执行;

解决死锁?

  • 避免使用多个锁:尽量减少代码中使用多个锁的情况,减少死锁的概率。

  • 避免循环等待:尽量避免线程之间形成循环等待的情况,可以通过统一获取锁的顺序来避免循环等待。

  • 使用定时锁:在获取锁的时候设置超时时间,如果超过一定时间还未获取到锁,则放弃锁并进行相应的处理。

  • 使用线程池:使用线程池来管理线程的执行顺序,避免线程之间的竞争和死锁。

  • 使用并发工具类:使用Java并发工具类如ReentrantLock、Semaphore等来替代synchronized关键字,这些工具类提供了更灵活的锁管理方式。

  • 使用死锁检测工具:可以使用一些工具来检测死锁的发生,如jstack、jconsole等,及时发现并解决死锁问题。

封装、继承、多态?

  • 封装:它指的是将数据和方法包裹在类中,并对外部隐藏具体实现细节。
  • 继承:通过继承,子类可以扩展或修改从父类继承而来的属性和方法,实现代码的重用和扩展。
  • 多态是指同一种类型的对象,在不同情况下可以表现出不同的行为,它包括编译时多态(重载)和运行时多态(重写)两种形式。

jdk8的新特性?

  • Stream API:(集合、或者数组创建stream,中间操作,过滤、map,终止操作)

            1.根据List获取流
    
              2.根据Set获取流
    
              3.根据Map获取流
    
                      3.1根据Map集合的键来获取流
    
                      3.2根据Map集合的值获取流
    
                      3.3根据Map集合的键值对对象获取流
    
              4.根据数组获取流
    

在这里插入图片描述

  • 新时间日期API:LocalDateTime

Java8新增的日期类主要有三个:

LocalDate:表示日期(年月日)

LocalTime :表示时间(时分秒)

LocalDateTime:表示时间+ 日期 (年月日时分秒),是java8最常用的日期类

  • Lambda表达式:代码更少只有确保接口中仅有一个抽象方法
    在这里插入图片描述
  • 函数式接口:有且仅有一个抽象方法的接口(体现在lambda表达式)
  • HashMap:底层转化为数组+链表+红黑树。
  • 接口的默认方法:在接口中可以有方法的实现,default默认关键字。

为什么需要包装类?包装类的值比较要使用什么方法?包装类有哪些功能?

包装类是将基本类型转化为对象的机制,基本数据类型不具备对象的特性,不能直接调方法或者参与面向对象的操作。所以需要使用包装类。

可以直接使用equals方法进行比较,因为包装类是对象,对象之间比较值应该用equals方法。

功能:1.将基本类型转化为包装类 2,提供了和基本数据类型相对应的静态常量和方法

3,支持自动拆箱和装箱 4,提供一些额外的功能方法,如对数字进行格式化,转化

Java中的类型有哪些?

基本类型,引用类型(对象,接口,数组,字符串)

什么是字符串常量池?

是java提供对频繁创建字符串的一种解决方案,同一个对象创建多次,占用多个内存空间。
所有在创建一个字符串时,会先判断字符串常量池是否已经存在该字符串,不存在则创建,存在则返回这个对象的地址。

线程中的 start() 和 run() 有那些区别?

start():线程启动时调用,线程处于就绪状态;
run():线程运行时调用,线程处于运行状态;

ThreadLocal 有什么用?

可以保证线程安全,每个线程都会创建一个线程副本,set和get的值是同一个;

String、StringBuffer、StringBuilder 的区别?

string类是不可变的(也就是说一旦创建了一个字符串对象,就不能再修改它的值。因此,每次对字符串进行操作时,都会创建一个新的字符串对象,这样会产生大量的临时对象,影响程序的性能。)

stringBuffer,可变的,它们可以更改已有对象中的字符内容,而不必创建新的对象,线程安全(使⽤ synchronized 来保证线程安全);

stringBuilder是可变的,它们可以更改已有对象中的字符内容,而不必创建新的对象,线程不安全;

String 对象的 intern() 有什么作用?

1,字符串的重用(通过调用intern()方法,可以将字符串对象放入字符串常量池中,并返回常量池中的引用。这样可以避免创建多个相同内容的字符串对象,节省内存空间。),2,字符串的比较和优化(由于字符串常量池中的字符串是唯一的,所以可以使用==运算符来比较字符串对象的引用是否相等,而不需要使用equals()方法进行内容比较,提高比较的效率。)

Cookie、Session和Token的区别?

  • cookie和session都是浏览器的会话跟踪技术,解决http无状态的问题;
    Cookie:放在客户端,只能放字符串,大小有限制,不安全,会根据域名自动携带;
    Session:放在服务端,数据大小,类型没有限制,占用服务器资源,相对安全
    Token:不局限域浏览器,没有客户端限制,可以实现单点登录,可以揉入一些数据

什么是反射?

反射是java提供的一种机制,这个机制可以动态的获取一个类或对象的内部结构(属性,方法,接口,父类),还可以调用方法和修改属性。

什么地方用到反射?

自己写的工具类,框架
常用API
1,Class:表示字节码的文件对象
2,Method:对方法的封装
3,Field:对属性的封装
4,Parameter:方法形参的封装
5,Constructor:获取构造函数

接口和抽象类的区别?

  • 接口是一组抽象方法的集合,没有具体实现。接口定义了一个规范,要求实现该接口的类必须提供对应的方法实现。接口中的所有方法默认都是public,而且不能包含成员变量。一个类可以实现多个接口,从而实现多重继承。

  • 抽象类是一个类,它可以包含抽象方法和具体方法。抽象方法是没有具体实现的方法,需要由子类来实现。抽象类可以包含成员变量,可以有构造方法和非抽象方法。一个类只能继承一个抽象类,但是可以同时实现多个接口。

1、接口只定义了抽象方法,没有具体实现,而抽象类可以包含抽象方法和具体方法。
2、一个类可以实现多个接口,但只能继承一个抽象类。
3、接口中的所有方法默认都是public,而抽象类可以有不同的访问控制符。

值传递和引用传递的区别?

值传递:在方法调用时,将实际参数的副本传递给方法,当你在方法内部修改参数的值时,只会影响副本,不会影响原始的变量。(基本类型的传递)
引用传递:在方法内部操作会影响到原始数据,但如果重新分配一个新的对象,原始对象不会改变。(对象的传递)

重载和重写的区别?

重载:方法名称相同,参数列表不同,和返回值没有关系;
重写:方法名称相同,参数列表相同,返回值相同;

JAVA中sleep()和wait()方法的区别?

sleep属于Thread类,wait属于object类
sleep()睡眠时不会释放锁,wait会
sleep()睡眠指定时间会自动唤醒,wait()需要手动唤醒

JAVA单例模式的区别?

懒汉式:在第一次调用获取实例的方法才创建,可能存在线程安全问题,(非原子操作懒汉式在第一次获取实例时才进行实例化操作,然而实例化操作通常不是原子操作,而是包括了对变量的初始化、内存分配和赋值等多个步骤。在多线程环境下,如果两个线程同时通过了实例是否为空的判断,然后都尝试去实例化对象,就有可能导致创建多个实例的情况。)
饿汉式:在类加载的时候就会创建,不存在线程安全问题

什么是悲观锁和乐观锁?

悲观锁:的基本思想是,在整个数据处理过程中,将数据加锁,防止其他事务同时修改数据。
当一个事务访问数据时,悲观锁会认为其他事务可能会对数据进行修改,因此会直接对数据进行加锁,使其他事务无法访问或修改数据,直到当前事务完成。
悲观锁适用于并发写入较多、冲突概率较高的场景,但它的缺点是会导致其他事务等待,并发性能相对较低。

乐观锁的基本思想是,假设在整个数据处理过程中,不会有其他事务修改数据,因此不进行加锁操作。
当一个事务要对数据进行修改时,乐观锁不会立即加锁,而是在提交时检查是否有其他事务修改过数据。如果有冲突,则放弃当前事务的修改,重新尝试,直到成功或达到一定的尝试次数。(一般用数据版本机制或者CAS:比较并交换)。
乐观锁适用于并发读取较多、冲突概率较低的场景,它不会对数据进行加锁,因此并发性能相对较高,但需要增加冲突检测和重试机制。

HashMap底层原理?

数组+链表+红黑树,先通过key计算出hascode值,通过hash函数算出对应在数组的下标,
不同的key可能算出相同的hashcode。所以当发生hash冲突时,hashmap采用链表法,当超过一定的阈值时,自动转为红黑树。(当元素超过数组的0.75倍会扩容成原来2倍)

方法区、栈区、堆区?

在这里插入图片描述
方法区放静态方法,静态变量,字符串常量
堆区:放对象
栈区:放变量

synchronized和lock的区别?

1,synchronized是一个关键字,而lock是一个接口。
发生异常时synchronized会自动释放锁,而lock需要手动释放。如果没有释放容易造成死锁问题,所以需要在finally里调用unlock方法释放。
2,lock是可中断锁,而synchronized不是。
3,synchronized是重量级锁
4,Lock 获取锁和释放锁都是显式的,不像 synchronized 是隐式的。所以 synchronized 会在抛异常时自动释放锁,而 Lock 只能是主动释放,加解锁都必须有显式的代码控制。

volatile和synchronized有什么区别?

volatile关键字保证了线程的可见性,就是说当一个修改volatile关键字的变量的值,其他线程立马可以看见。同时volatile关键字还有防止指令重排序。轻量级性能更快,只能保证单个读/写操作的原子性,无法保证整个操作序列的原子性。

==和equals的区别?

==比较基本类型的时候是比较值是否相同,比较对象时是比较地址。
equals是对内容的比较,需要重写equals方法。

get 和 post 请求有哪些区别?

  • get请求一般用来获取数据的,post请求一般是用来传递数据到后端;
  • get请求传递数据一般在地址栏传递,post请求在请求体传递数据(url中也可以传参,一般不用);
  • get请求刷新浏览器或回退没有影响,post请求刷新会重新请求一遍;
  • get请求可以缓存在浏览器记录中,post请求不会缓存在浏览器记录中;

如何防止表单重复提交?

接口幂等性问题,后端第一接收到提交请求时,后端生成唯一标识,存储在缓存或者会话中返回给前端,当后续请求到达时,将唯一标识一起携带,后端先检测是否携带有唯一标识,有就拒绝,没有就处理。

list和linklist区别?

  • list是一个接口,而linklist实现了这个接口。

  • List 使用数组作为底层数据结构,可以通过索引快速定位元素,因此在查询和搜索元素时性能更好。但在插入和删除元素时,需要移动其他元素来维持顺序,因此性能较差。(查询快,修改慢)

  • LinkedList 使用双向链表作为底层数据结构,插入和删除元素只需要修改相邻节点的指针,因此性能更好。但在查询和搜索元素时需要遍历整个链表,性能较差。(修改快,查询慢)

后记
👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring高级面试题-2024

Spring 框架中都用到了哪些设计模式? 1. 简单工厂: ○ BeanFactory:Spring的BeanFactory充当工厂,负责根据配置信息创建Bean实例。它是一种工厂模式的应用,根据指定的类名或ID创建Bean对象。2. 工厂方法&#xff…

插入排序和希尔排序:

插入排序 1. 算法思想: 由数组下标为1 开始的数值作为判断依据,与之前的数据从后往前比较定义tmp 暂存判断的数值,若前面的数据大于tmp,则将前面的数据向后移动 : arr[j1]arr[j]若对比的数据比tmp 大,则往后移&#…

展会邀约 |立仪科技邀您相聚四月

2024深圳国际传感器与应用技术展览会 2024年04月14日盛大开幕! 立仪科技作为参展商 诚挚地邀请各地朋友莅临参观交流 2024成都国际工业展览会 2023年04月24-26日盛大开幕! 立仪科技作为参展商 诚挚地邀请各地朋友莅临参观交流 深圳立仪科技有限公司…

Ubuntu上安装d4rl数据集

Ubuntu上安装d4rl数据集 D4RL的官方 github: https://github.com/Farama-Foundation/D4RL 一、安装Mujoco 1.1 官网下载mujoco210文件 如果装过可以跳过这步 链接:https://github.com/deepmind/mujoco/releases/tag/2.1.0 下载第一个文件即可。我这里是在windo…

拥抱C++的深度和复杂性,挖掘更多可能 !——《C++20高级编程(第5版)》

,C难以掌握,但其广泛的功能使其成为游戏和商业软件应用程序中最常用的语言。即使是有经验的用户通常也不熟悉许多高级特性,但C20的发布提供了探索该语言全部功能的绝佳机会。《C20高级编程(第5版)》为C的必要内容提供了一个代码密集型、面向解…

TF卡系统备份与还原

本文介绍一种用备份还原方法,快速实现TF启动卡制作,使用方便,无需安装linux系统,需要使用Diskgnius软件。 安装Diskgnius,64位绿色版本,无需安装,直接运行即可。运行Diskgnius软件,将…

【感悟《剑指offer》典型编程题的极练之路】02字符串篇!

​ 个人主页:秋风起,再归来~ 文章所属专栏:《剑指offer》典型编程题的极练之路 ​​​​​​ 个人格言:悟已往之不谏,知来者犹可追 克心守己&#xff0c…

可怜的百度人

可怜的百度股民 注意,这里说的是持有百度股票的股民,不是百度,百度没啥好可怜的。 前天(3月25日)中午,财联社爆料百度和 Apple 达成合作,百度将为苹果今年发布的 iPhone16、Mac 系统和 iOS18 提…

【SpringSecurity】基础入门

目录 权限管理什么是权限管理认证授权权限管理解决方案Shiro开发者自定义Spring Security Spring Security特性Spring、Spring Boot 和 Spring Security 三者的关系整体架构1.认证AuthenticationManagerAuthenticationSecurityContextHolder 2.授权AccessDecisionManagerAccess…

JRT菜单

上一章搭建了登录界面的雏形和抽取了登录接口。给多组使用登录和菜单功能提供预留,做到不强行入侵别人业务。任何产品只需要按自己表实现登录接口后配置到容器即可共用登录界面和菜单部分。最后自己的用户关联到JRT角色表即可。 登录效果 这次构建菜单体系 首先用…

错误记录

Packet for query is too large 错误原因 一般是没有修改Mysql允许传输的最大数据包大小,使用 SHOW VARIABLES LIKE %max_allowed_packet%;可以看到默认的大小,一般默认为1M。 处理方法 暂时修改:重启mysql后失效 --修改为10M set global…

使用 Web Components 实现输入法更换皮肤 (vue)

更换皮肤 (界面外观) 是拼音输入法的常见功能. 要实现更换皮肤, 有许多种不同的具体技术方案可以使用. 本文选择 Web Components 技术 (vue) 来实现这个功能. 目录 1 效果展示 1.1 发布新版本 2 Web Components 简介3 vue 使用 Web Components 3.1 使用 vue 实现 Web Compon…

比对word文档并提取差异片段(java版)

整体比较 有时候,我们想比对两个word文档,标记出两个文档之间的差异,这样一眼就能看出来修改了哪些地方,如下图,左边文档中的扩招2000人删除了,辞呈改成了说明,新增了并且加重处罚等文字,是否一…

DP背包模型

目录 采药(01背包)代码实现 装箱问题(01背包)代码实现 *宠物小精灵之收服(二维费用01背包)题目分析代码实现 数字组合(01背包)代码实现 买书(完全背包)代码实…

【学习】软件测试中误区汇总分析

大家有没有想过这个问题:软件测试中有哪些误区呢?想起这个题目,是因为最近遇到好几次关于这方面的讨论。发觉即便做过几年测试的老员工也或多或少有些这方面的困惑。当然一家之言,仅作抛砖引玉之谈。 误区一:测试就是…

git提交-分支开发合并-控制台操作

git提交-分支开发合并-控制台操作 git的基本概念工作区、暂存区和版本库工作区:就是你在电脑里能看到的目录(隐藏目录 .git不算工作区)。暂存区:英文叫 stage 或 index。一般存放在本地的.git目录下的index 文件(.git/…

【机器学习之---数学】统计学基础概念

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 统计学基础 1. 频率派 频率学派(传统学派)认为样本信息来自总体,通过对样本信息的研究可以合理地推断和估计总体信息…

为什么requests不是python标准库?

在知乎上看到有人问:为什么requests不是python标准库? 这确实是部分人困惑的问题,requests作为python最受欢迎的http请求库,已经成为爬虫必备利器,为什么不把requests直接装到python标准库里呢?可以省去第…

rostopic echo /tf 筛选特定数据

rostopic echo /tf 筛选特定数据 在使用rostopic echo命令时,您可以使用参数-n指定输出的消息数量,并且可以使用参数-p将输出以消息格式打印。然而,rostopic echo命令本身并不支持直接筛选指定的消息。 如果想要筛选特定的消息,…

【Java程序设计】【C00368】基于(JavaWeb)Springboot的箱包存储系统(有论文)

TOC 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。 项目简介 项目获取 🍅文末点击卡片…