当前位置: 首页 > news >正文

面试八股文之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 使用双向链表作为底层数据结构,插入和删除元素只需要修改相邻节点的指针,因此性能更好。但在查询和搜索元素时需要遍历整个链表,性能较差。(修改快,查询慢)

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

相关文章:

面试八股文之JAVA基础

JAVA基础 DNS、CDN?如何实现对象克隆?父子类静态代码块, 非静态代码块, 构造方法执行顺序?String s new String("abc") 创建了几个对象, 分别放到哪里?OSI网络模型七层?应用层协议?http协议和https协议区别?传输层协…...

网络连接中——长连接和短连接详解

一、TCP功能 TCP在真正开始进行数据传输之前,Server 和 Client 之间必须建立一个连接。当数据传输完成后,双方不再需要这个连接时,就可以释放这个连接。 TCP连接的建立是通过三次握手,而连接的释放是通过四次挥手。所以说,每个TCP连接的建立和释放都是需要消耗资源和时间…...

PEReDi 完全隐私的央行数字货币方案

第一个对完全隐私保护建模的方案,基于账户模型,要求交易双方都在线。 角色分类 中央银行 B B B:负责发行数字货币和货币政策,但不控制用户账户的状态,没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相…...

yolov5+pyside6+登录+用户管理目标检测可视化源码

一、软件简介 这是基于yolov5目标检测实现的源码,提供了用户登录功能界面; 用户需要输入正确的用户名和密码才可以登录。如果是超级管理员,可以修改普通用户的信息,并且在检测界面的右上角显示【管理用户】按钮。 支持图片、视频、…...

电脑如何设置个性便签 电脑个性便签分享

每次坐在电脑前,我都仿佛置身于一片信息的海洋。工作、生活、学习,方方面面的事情都需要我用心去记录。在这样一个快节奏的时代,电脑无疑成了我最得力的助手。但记事的时候,我总希望有一个既方便又有个性的工具,能让我…...

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验 本实验部分配置延续上个Istio实验11 1. 重新配置secret 重新配置secret使其带有ca证书可以验证客户端证书是否合法 先删除原有secret,再配置新的secret # 删除原tls类型的secret kubectl -n istio-system d…...

SpringBoot 统一后端返回格式、处理全局异常

文章目录 引言I 统一标准格式1.1 定义返回标准格式1.2 定义状态码1.3 返回数据模型1.4 枚举定义1.5 Json序列化处理1.6 获取枚举字典II 处理全局异常2.1 全局异常处理器2.2 自定义异常2.3 请求数据模型III 预备知识:注解3.1 JsonInclude3.2 JsonIgnoreProperties...

C++学习基础版(一)

目录 一、C入门 1、C和C的区别 2、解读C程序 3、命名空间 4、输入输出 (1)cout输出流 (2)endl操纵符 (3)cin输入流 二、C表达式和控制语句 1、数据机构 特别:布尔类型bool 2、算数运…...

Rust 双向链表 LinkedList 和安全删除元素的方法

一、LinkedList 基本用法 在Rust中,LinkedList 是标准库中 std::collections 模块提供的一个双向链表实现。这个双向链表在每个节点中都保存了其前一个和后一个节点的引用,允许在链表的任一端进行有效的添加和移除操作。 以下是一个简单的示例&#xf…...

Android 开发中 Gradle 使用详解:构建、配置与优化技巧

文章目录 1. 基本概念2. 配置构建脚本2.1 项目级构建脚本2.2 模块级构建脚本 3. 自定义构建变体和应用 flavorDimensions4. 多模块项目4.1 创建模块4.2 配置模块依赖 5. 使用 Gradle 插件6. 使用 Gradle 命令 Gradle 是一种先进的构建工具,它被广泛应用于 Android 开…...

聚道云助力:易快报CDP无缝对接,登录同步一步到位!

一、客户介绍 某企业咨询有限公司是一家专注于为企业提供全方位、高质量咨询服务的领先机构。该公司致力于将先进的管理理念和实践经验与企业实际需求相结合,助力企业实现可持续发展。无论是战略规划、组织优化、人力资源管理,还是市场营销、财务管理等…...

Java解决幸运数字

Java解决幸运数字 01 题目 哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整 除的正整数。 例如 126 是十进制下的一个哈沙德数,因为 (126)10 mod (1 2 6) 0; 126 也是8进制下的哈沙德 数,因为(126)10 (176)8,(126)10…...

将一个nextjs项目部署到vercel

注:下面均为AI创作(本人已验证该流程可行) 将一个 Next.js 项目部署到 Vercel 是一个相对直接的过程,因为 Vercel 是由同一个团队开发的,专门为 Next.js 优化。以下是部署一个 Next.js 项目到 Vercel 的基本步骤&…...

RocketMQ学习笔记:分布式事务

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、分布式事务的难题2、解决方式2.1、半事务消息和事务回查2.2、代码样例2.2.1、TransactionListener2.2.2、TransactionMQProducer2.2.3、MessageListenerConcurrently2.2.4、流程图 1、分布…...

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…...

红岩思维导图的制作软件,分享4款热门的!

红岩思维导图的制作软件,分享4款热门的! 在当今信息爆炸的时代,思维导图作为一种有效的知识整理和思维拓展工具,受到了广大用户的青睐。红岩思维导图以其独特的风格和实用性,成为了许多人学习和工作中的得力助手。那么…...

es 集群开机自动启动

前面搭建了 es 集群,但是每次机器重启 都需要手动启动,很麻烦,所以这里介绍一下开机自动启动 首先使用 root 用户 es : 执行以下命令 vim /etc/init.d/elasticsearch 将以下内容 cv 进去 #!/bin/bash #chkconfig: 345 63 …...

使用JMeter从JSON响应的URL参数中提取特定值

在使用Apache JMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子,展示了如何从一个JSON响应中提取rowId的值,同时处理字符串终止符…...

汽车电子行业知识:自动驾驶系统结构和各模块功能

文章目录 2.自动驾驶系统结构和各模块功能2.1.自动驾驶系统结构2.2.车载传感器2.2.1.激光雷达2.2.2.毫米波雷达2.2.3.超声波雷达2.2.4.摄像头2.2.5.GNSS2.2.6. IMU2.2.7.多传感器融合 2.3.各功能模块2.3.1.高精度地图2.3.2.定位2.3.3.感知2.3.4.决策2.3.5.规划2.3.6.控制2.3.7.…...

Oracle参数文件详解

1、参数文件的作用 参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。 2、参数文件类型 1)服务端参数文件,又称为 spfile 二进制的文件,命名规则…...

鸿蒙(HarmonyOS)Navigation如何实现多场景UI适配?

场景介绍 应用在不同屏幕大小的设备上运行时,往往有不同的UI适配,以聊天应用举例: 在窄屏设备上,联系人和聊天区在多窗口中体现。在宽屏设备上,联系人和聊天区在同一窗口体现。 要做好适配,往往需要开发…...

PTGui图像拼接实验

1 PTGui图像拼接实验 1.1 概述 图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术 图像配准(image alignment)和图像融合是图像拼接的两个关键…...

C++|类封装、类的分文件编写练习:设计立方体类、点和圆的关系

文章目录 练习案例1:设计立方体类CPP代码 练习案例2:点和圆的关系CPP代码 代码总结类的分文件编写 练习案例1:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 CPP代码 class Cube { pub…...

大数据开发扩展shell--尚硅谷shell笔记

大数据开发扩展shell 学习目标 1 熟悉shell脚本的原理和使用 2 熟悉shell的编程语法 第一节 Shell概述 1)Linux提供的Shell解析器有: 查看系统中可用的 shell [atguiguhadoop101 ~]$ cat /etc/shells /bin/sh/bin/bash/sbin/nologin/bin/dash/bin/t…...

考研数学|《1800》《1000》《880》《660》最佳搭配使用方法

直接说结论:基础不好先做1800、强化之前660,强化可选880/1000题。 首先,传统习题册存在的一个问题是题量较大,但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大,但有些题目难度不够平衡,有些过于简单…...

【GameFramework框架内置模块】17、声音(Sound)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…...

视频记录历史播放位置效果

简介 每次打开页面视频从上一次的播放位置开始播放 利用lodash库做节流 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…...

Request Response

简介 Request&#xff08;请求&#xff09; & Response&#xff08;响应&#xff09; 浏览器会向服务器发送请求数据&#xff0c;服务器也需要返回响应数据给浏览器&#xff0c;因此我们需要设置对应的类来代表请求数据和响应数据&#xff0c;且Servlet中的service方法就需…...

How to convert .py to .ipynb in Ubuntu 22.04

How to convert .py to .ipynb in Ubuntu 22.04 jupyter nbconvertp2j 最近看到大家在用jupyter notebook&#xff0c;我也试了一下&#xff0c;感觉还不错&#xff0c;不过&#xff0c;也遇到了一些问题&#xff0c;比方说&#xff0c;我有堆的.py文件&#xff0c;如果要一个一…...

【prometheus-operator】k8s监控集群外redis

1、部署exporter GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x redis_exporter-v1.57.0.linux-386.tar.gz # 解压 tar -zxvf redis_exporter-v1.57.0.linux-386.tar.gz # 启动 nohup ./redi…...