java SE阶段面试题

news2025/1/13 3:37:58

目录

1、Java 的数据类型有哪些?

2、变量的三要素是什么?变量使用有什么要求?

3、基本数据类型变量和引用数据类型变量有什么区别?

4、Java 的运算符+有几种意思?

5、Java 的自增、自减运算符在自增变量前后有什么区别?

6、Java 的与运算符& 和 && 的区别?

7、Java 的运算符| 和 || 的区别?

8、Java 的运算符<<,>>,>>>的区别?

9、Java 的分支结构 if..else 和 switch...case 有什么区别?

10、Java 的循环有几种情况?

11、Java 的普通 for 循环和增强 for 循环的区别?

12、关键字 break、continue、return 的区别?

13、类和对象的关系?

14、类的成员有哪些?

15、静态变量、实例变量、局部变量的区别?

16、构造器的特点?

17、方法重载和重写的区别?

18、可变参数是什么意思?

19、什么是递归?

20、静态代码块和非静态代码块的区别?

21、静态方法和非静态方法有什么区别?

22、抽象方法和非抽象方法的区别?

23、关键字 class、interface、enum 的区别

24、继承的关键字是什么?

25、实现接口的关键字是什么?

26、extends 关键字的作用

27、包的作用是什么

28、package 和 import 的区别

29、this 和 super 的意思

30、this 和 super 的用法

31、如何理解面向对象的 3 个基本特征

32、如何理解多态性?

33、什么是基本数据的自动类型转换和强制类型转换?

34、什么是向上转型和向下转型?

35、使用接口有什么好处?

36、枚举类有什么特点?

37、包装类有什么作用?

38、int,Integer,BigInteger 的区别?

39、final、finally、finalize 的区别

40、受检异常和非受检异常的区别?

41、两种实现多线程的方式?

42、String、StringBuffer、StringBuilder 的区别

43、ArrayList 和 Vector 的区别

44、ArrayList、Vector 和 LinkedList 的区别

45、Stack 和 LinkedList 的区别

46、List 和 Set 的区别

47、Collection 和 Map 的区别

48、Hashtable 和 HashMap 的区别

49、Hashtable 和 HashMap、TreeMap 的底层实现

50、哈希表的底层数组长度为什么是 2 的 n 次方

51、哈希表的数组的元素类型

52、哈希表的键值对如何计算存储位置

53、哈希表要用链表或红黑树?

54、HashMap 的数组什么时候扩容?

55、如何计算阈值 threshold

56、loadfactor 的默认值是多少

57、JDK1.8 的 HashMap 什么时候树化?为什么要树化?

58、JDK1.8 的 HashMap 什么时候反树化?为什么要反树化?

59、请问已经存储到 HashMap 中的 key 的对象属性是否可以修改?

为什么?

60、如何 key 是 null,在哈希表中如何存储

61、两个字符串比较用什么方法

62、TCP/UDP 协议有什么区别

63、线程安全问题是什么,如何解决

64、IO 流的四个抽象基类是什么

65、如何实现对象序列化?

66、Class 类对象如何获取

67、反射的作用

68、什么是函数式接口

69、什么是 Lambda 表达式?

70、举几个函数式接口的例子

70、Comparable 和 Comparator 的区别

71、Iterable 和 Iterator 的区别

72、sleep() 和 wait() 有什么区别?

73、请解释 Java 异常处理机制相关的 5 个关键字

74、访问修饰符的作用范围由大到小,及各自的范围是什么?可以修饰什么?

75、请列出一些常用的类、接口、包,各至少 5 个


1Java 的数据类型有哪些?

Java 的数据类型有:
1 )基本数据类型: byte , short , int , long , float , double , char , boolean
2 )空类型: void
3 )引用数据类型:数组、类、接口、枚举、注解等

2、变量的三要素是什么?变量使用有什么要求?

变量的三要素:
数据类型、变量名、变量值
变量使用要求:
变量必须先声明再使用;
变量必须初始化,其中成员变量有默认值;
局部变量有作用域,同一个作用域中变量不能重复声明;
给变量赋值时要求值的类型 <= 变量声明的类型;

3、基本数据类型变量和引用数据类型变量有什么区别?

基本数据类型的变量:存储数据值,数据类型不同,宽度不同
引用数据类型的变量:存储地址值

4Java 的运算符+有几种意思?

1 )作为一元运算符:表示正号
2 )当 + 左右两边有字符串出现时,表示拼接
3 )其他情况表示求和

5Java 的自增、自减运算符在自增变量前后有什么区别?

首先,
自增运算符 ++ ,表示自增变量自增 1
自减运算符 -- ,表示自增变量自减 1
其次,以自增为例
1 )如果自增表达式直接加 ; 构成语句,自增运算符在自增变量前后没有区别
a ++; ++ a ; 没区别
2 )如果自增表达式 和其他运算符一起运算,或者自增表达式作为实参使用时,则
有区别。
自增运算符在前:表示先自增,再取自增变量的值运算,
自增运算符在后:表示先取自增变量的值,然后自增变量再自增 1 ,计算用的是
自增之前取的值。

6Java 的与运算符& && 的区别?

&
逻辑与,按位与,不会发生短路现象
&&
逻辑与,会发生短路现象,也称为短路与。
&& 左边是 false , 右边就不看了。

7Java 的运算符| || 的区别?

|
逻辑或,按位或,不会发生短路现象
||
逻辑或,会发生短路现象,也称为短路或。
|| 左边是 true , 右边就不看了。

8Java 的运算符<<>>>>>的区别?

<<
称为左移,左移几位相当于乘以 2 n 次方。
可能发生正变负,负变正的情况。
>> :称为右移,右移几位相当于除以 2 n 次方。
不会发生正变负,负变正的情况。
>>> :无符号右移
正数的右移,和 >> 一样。
负数的右移,直接变正数。

9Java 的分支结构 if..else switch...case 有什么区别?

1 if ... else 适用于任何条件的判断,
switch... case 只适用于 byte , short , char , int String ,枚举类型的常量判断。
即能够使用 switch ... case 的都可以使用 if ... else ,反过来不可以。
2 if ... else 不会发生分支贯穿 / 穿透的现象,
switch... case 可能发生分支贯穿 / 穿透的现象。

10Java 的循环有几种情况?

Java 的循环有 3 种形式:
for , while , do...while

11Java 的普通 for 循环和增强 for 循环的区别?

普通 for 循环:
任何需要重复执行某些代码的场景都可以使用它。 增强 for 循环:
只能用于遍历数组,或实现了 java . lang . Iterable 接口的集合。
增强 for 循环遍历数组时,本质上底层是用普通 for 循环。
增强 for 循环遍历集合时,本质上底层是用 Iterator 迭代器遍历。

12、关键字 breakcontinuereturn 的区别?

break
用于 switch 或循环,表示提前结束当前 switch 或循环。
continue
用于循环,表示提前结束本次循环体的执行。
return
用于方法体中,结束当前方法体的执行。
return ; 表示直接结束当前方法体的执行。
return 结果 ; 表示结束当前方法的执行,并返回结果。

13、类和对象的关系?

类是创建对象的模板。
对象是类的实例。

14、类的成员有哪些?

类的成员:
成员变量
成员方法
构造器
代码块
成员内部类

15、静态变量、实例变量、局部变量的区别?

1. 局部变量:
声明在方法、构造器、代码块里面,没有默认值,必须手动初始
化,在栈中分配内存,有严格的作用域,只能加 final 修饰。
2. 实例变量:
声明在类中,其他成员外面,有默认值,也可以在声明后面手动
初始化,或者使用非静态代码块和构造器初始化,在堆中分配内
存,每一个对象的实例变量都是独立的,可以加 public
protected private transient final 等修饰符。
3. 静态变量:
声明在类中,其他成员外面,必须有 static 修饰,有默认值,也
可以在声明后面手动初始化,或者使用静态代码块初始化,在方
法区中分配内存,每一个类的静态变量是所有对象共享的,可以
public protected private transient final 等其他修饰符。

16、构造器的特点?

• 构造器的名字必须和类名相同
• 构造器没有返回值类型
• 构造器的首行必须是 this() this( 输出列表 ) super() super( 实参列 表) ,如果这 4 句都没写,默认是 super()
• 构造器不会被继承,但是子类构造器一定会调用父类的构造器
• 如果一个类没有编写任何构造器,那么编译器将会给这个类自动添加默 认的无参构造器
• 构造器只能加权限修饰符 public protected ,缺省, private
        – 枚举类和单例类的构造器一定是私有化的
• 构造器的调用必须用 new 关键字

17、方法重载和重写的区别?

• 方法的重载:在同一个类中,或父子类中,出现方法名相同,形参列表
不同的两个或多个方法称为方法的重载。和返回值类型、修饰符等无
关。
• 方法的重写:在父子类、接口和实现类中,出现方法名相同,形参列表
相同的两个方法称为方法的重写。方法的重写对返回值类型、修饰符、
抛出的异常列表等都有严格的要求。
        – 方法名相同,形参列表必须相同
        – 返回值类型:如果是基本数据类型必须相同,如果是引用数据类
型必须 <= 的关系
        – 权限修饰符:必须子类可见,必须>= 的关系
        – 其他修饰符:不能是 static final 修饰
        – 抛出的异常列表:被重写方法没有 throws 受检异常 / 编译时异常,重写时也不能 throws 受检异常 / 编译时异常。如果被重写方法 throws 受检异常 / 编译时异常,重写方法时,要么不 throws 要是 throws 的异常类型满足 <= 的关系。关于非受检异常 / 运行时异常不做限制。

18、可变参数是什么意思?

可变参数:
参数类型后面出现 ... 形式,就称为可变参数。
在声明可变参数的方法中,可变参数就是数组。
在调用时,可变参数可以传入对应类型的数组,或者传入 0 ~ n 个对应类型的元素。

19、什么是递归?

方法出现自己调用自己就是递归。

20、静态代码块和非静态代码块的区别?

静态代码块:
static 修饰的代码块。是给静态变量初始化的。在类初始化时执行,一个类
的静态代码块只会执行一次。
非静态代码块:
没有 static 修饰的代码块。是给实例变量初始化的。在实例初始化时执行,每
new 对象时,都会执行。

21、静态方法和非静态方法有什么区别?

静态方法:
在本类中的任意成员中都可以被调用。
父类的静态方法可以被子类继承,但不能被重写。
父接口的静态方法不会被实现类继承,也不能被重写。
非静态方法:
只能在本类的非静态成员中被调用。
final 修饰的非静态方法,只要子类、实现类可见,就可以选择重写。

22、抽象方法和非抽象方法的区别?

抽象方法:
abstract 修饰,没有方法体,不能由 private static final native
饰。
在子类或实现类中需要重写。
抽象方法只能出现在抽象类或接口中。
非抽象方法:
没有 abstract 修饰,有方法体。

23、关键字 classinterfaceenum 的区别

class
声明类
interface
声明接口
@interface :声明注解(这个可选)
enum
声明枚举类

24、继承的关键字是什么?

extends

25、实现接口的关键字是什么?

implements

26extends 关键字的作用

extends
表示子类继承父类,子接口继承父接口
< 泛型变量 > 的上限指定, < T extends Object & Comparable >
< 泛型通配符 ?> 的上限指定, <? extends Comparable >

27、包的作用是什么

1 )避免类的重名
2 )限制某些类或成员的可见性范围
3 )组织管理不同主题的类

28package import 的区别

package
声明包
必须在 . java 文件的首行
import
导包
package 语句和类定义之间

29this super 的意思

this :当前对象
super :引用父类 / 父接口中声明的成员

30this super 的用法

this :
1 )可以单独使用
2 this . 成员变量:
可以通过 this . 成员变量,访问当前对象的成员变量,这个成员变量可以是当前类声
明的,也可以是从父类继承的,如果要使用父类声明的成员变量,要求当前类没有重
名的成员变量。
当局部变量和成员变量重名时,可以在成员变量前面加 this . 成员变量进行区别。
3 this . 成员方法
可以通过 this . 成员方法,调用当前对象的成员方法,这个方法可以当前类声明的,
也可以是从父类继承的,如果要使用父类声明的成员方法,要求当前类没有重写该方
法。
this . 成员方法,加不加 this 完全相同。
this . 虚方法时,执行时要看 this 对象的运行时类型是否重写过虚方法,如果重写
了,一定执行重写的代码。
4 this () this ( 实参列表 )
表示调用本类其他的构造器
5 )外部类 . this . 成员
在非静态内部类中使用,引用外部类的成员。
super
1 )不能单独使用
2 super . 成员变量
可以通过 super . 成员变量引用父类声明的成员变量,特别是当前类有与父类重名的成
员变量时,通过 super . 成员变量可以区别。
3 super . 成员方法
可以通过 super . 成员方法引用父类声明的成员方法,特别是当前类有重写父类的方法
时,通过 super . 成员方法可以方法被重写的方法体
4 super () super ( 实参列表 )
表示调用父类的构造器
5 )父接口 . super . 方法
在实现类中调用父接口的默认方法,当默认方法有冲突时使用

31、如何理解面向对象的 3 个基本特征

封装:
为了体现高内聚、低耦合的开发原则。
为了安全、隐藏类的内部实现细节、提高代码的复用性。
继承:
为了提高代码复用性、便于代码扩展。
为了表示 is - a 的事物关系。 多态:
为了代码编写更灵活,可以实现虚方法的动态绑定。

32、如何理解多态性?

对象的多态性
1 )一个类可以引用本类对象,也可以引用各种子类对象
2 )一个对象可以让编译器按照本类处理,也可以按照父类或父接口类型,但是运行
时类型不变

33、什么是基本数据的自动类型转换和强制类型转换?

当把数据类型小的数据赋值给数据类型大的变量时,就会发生自动类型提升。
byte -> short -> int -> long -> float -> double
char ->
byte short char 三个类型在计算时,就会自动升级为 int
当数据类型小的数据与数据类型大的数据混合计算时,数据类型小的数据会自动类型
提升。
当把数据类型大的数据赋值给数据类型小的变量时,就要强制类型转换。
double -> float -> long -> int -> short -> byte
-> char
当希望某个数据类型小的数据按照某个大的类型计算时,也可以使用强制类型转换。

34、什么是向上转型和向下转型?

向上转型:
把子类对象赋值给父类的变量。
把实现类的对象赋值给父接口的变量。
向下转型:
把父类变量赋值给子类的变量。
可能发生 ClassCastException ,最好向下转型之前加 instanceof 判断

35、使用接口有什么好处?

1 )避免单继承
2 )表示 has - a 的关系

36、枚举类有什么特点?

枚举类的对象是固定的有限的几个常量对象。
枚举类有固定的直接父类 java . lang . Enum 类,也不能有子类,构造器私有化了。

37、包装类有什么作用?

当必须使用对象时,基本数据类型就会自动装箱为包装类对象。
当对包装类进行计算时,可以自动拆箱为基本数据类型。

38intIntegerBigInteger 的区别?

int :基本数据类型
Integer :包装类
BigInteger :任意大小的整数

39finalfinallyfinalize 的区别

final :修饰符
final 修饰类,表示不能被继承
final 修饰方法,表示不能被重写
final 修饰变量,表示不能修改值
finally
try ... catch 结构一起使用,
表示无论是否有异常,是否可以捕获异常,是否有 return 语句,都要执行的 fin
ally 块。
finalize
finalize Object 类的一个方法,由 GC 调用,在对象被回收时调用,适用于
释放 JVM 之外的内存。

40、受检异常和非受检异常的区别?

受检异常:
称为编译时异常,编译器检测到某个代码可能发生受检异常,就会强制要求编写
try ... catch throws
非受检异常:
称为运行时异常,无论是否真的会发生运行时异常,编译器都不会提示你编写 tr
y ... catch throws
但是无论受检异常还是非受检异常,只要发生了,没有用 try ... catch 处理,就一定
会导致程序崩溃。

41、两种实现多线程的方式?

继承 Thread 类或实现 Runnable 接口

42StringStringBufferStringBuilder 的区别

String :
字符串对象不可变,字符串常量可以共享。 StringBuffer StringBuilder :可变字符序列。
StringBuffer :线程安全
StringBuilder :线程不安全

43ArrayList Vector 的区别

ArrayList
线程不安全的动态数组,数组初始化长度为 0 ,默认扩容为 1.5 倍。
Vector
线程安全的动态数组,数组初始化长度为 10 ,默认扩容为 2 倍。

44ArrayListVector LinkedList 的区别

ArrayList Vector :动态数组
需要扩容。
非末尾位置增加、删除元素,需要移动元素。
ArrayList Vector 实现 List 接口。
LinkedList :双向链表
不需要扩容和移动元素。
LinkedList 实现 List Queue Deque 接口。

45Stack LinkedList 的区别

Stack :是 Vector 的子类,是顺序栈,底层是数组。
LinkedList :是链式栈,底层是双向链表。

46List Set 的区别

List
元素有序:元素的存储和添加顺序一致。
元素可重复。
Set
元素存储和添加顺序无关。
元素不可重复。

47Collection Map 的区别

Collection
存储一组对象
Map
存储键值对

48Hashtable HashMap 的区别

Hashtable
线程安全的,不允许 key value null
HashMap
线程不安全的,允许 key value null

49Hashtable HashMapTreeMap 的底层实现

Hashtable
数组 + 链表
HashMap
JDK1 .8 之前:数组 + 链表
JDK1 .8 及之后:数组 + 链表 / 红黑树
TreeMap
红黑树

50、哈希表的底层数组长度为什么是 2 n 次方

因为 2 n 次方 - 1 的二进制值是前面都 0 ,后面几位都是 1 ,这样的话,与 hash 进行
& 运算的结果就能保证在 [ 0 , table . length - 1 ] 范围内,而且是均匀的。
如果手动指定为一个非 2 n 次方的数组长度, HashMap 是否接收呢?如果不接收怎
么处理呢?
会纠正为 >= 手动指定的长度的最近的一个 2 n 次方值。

51、哈希表的数组的元素类型

java . util . Map $Entry 接口类型。
JDK1 .7 HashMap 中有内部类 Entry 实现 Entry 接口
JDK1 .8 HashMap 中有内部类 Node TreeNode 类型实现 Entry 接口,并且 TreeN
ode Node 的子类。

52、哈希表的键值对如何计算存储位置

hash & table . length - 1

53、哈希表要用链表或红黑树?

为了解决 hash [ index ] 冲突问题
1 )两个不相同的 key hashCode 值本身可能相同
2 )两个不相同的 key hashCode 值不同,但是经过 hash () 运算,结果相同
3 )两个 hashCode 不相同的 key ,经过 hash () 运算,结果也不相同,但是通过 ha
sh & table . length - 1 运算得到的 [ index ] 可能相同 那么意味着 table [ index ] 下可能需要存储多个 Entry 的映射关系对象,所以需要链
表或红黑树

54HashMap 的数组什么时候扩容?

JDK1 .7 版:当要添加新 Entry 对象时发现( 1 size 达到 threshold 2 table [ i ndex ]!= null 时,两个条件同时满足会扩容 JDK1 .8 版:当要添加新 Entry 对象时发现( 1 size 达到 threshold 2 )当 table [ index ] 下的结点个数达到 8 个但是 table . length 又没有达到 64 。两种情况满足其 一都会导致数组扩容 而且数组一旦扩容,不管哪个版本,都会导致所有映射关系重新调整存储位置。

55、如何计算阈值 threshold

threshold = table . length * loadfactor

56loadfactor 的默认值是多少

0.75

57JDK1.8 HashMap 什么时候树化?为什么要树化?

table [ index ] 下的结点个数达到 8 个但是 table . length 已经达到 64
因为当 table [ index ] 下的结点个数超过 8 个后,查询效率就低下了,修改为红黑树
的话,可以提高查询效率

58JDK1.8 HashMap 什么时候反树化?为什么要反树化?

table [ index ] 下的树结点个数少于等于 6
1 )当继续删除 table [ index ] 下的树结点,最后这个根结点的左右结点有 null
或根结点的左结点的左结点为 null ,会反树化
2 )当重新添加新的映射关系到 map 中,导致了 map 重新扩容了,这个时候如果 tab
le [ index ] 下面还是小于等于 6 的个数,那么会反树化
因为当 table [ index ] 下树的结点个数少于 6 个后,使用红黑树反而过于复杂了,此
时使用链表既简洁又效率也不错

59、请问已经存储到 HashMap 中的 key 的对象属性是否可以修改?

为什么?

如果该属性参与 hashCode 的计算,那么不要修改。因为一旦修改 hashCode () 已经不
是原来的值。
而存储到 HashMap 中时, key hashCode ()--> hash ()--> hash 已经确定了,不会 重新计算。用新的 hashCode 值再查询 get ( key )/ 删除 remove ( key ) 时,算的 hash
值与原来不一样就不找不到原来的映射关系了。

60、如何 key null,在哈希表中如何存储

会存在 table [ 0 ]

61、两个字符串比较用什么方法

eqauls 方法,如果要忽略大小写,用 equalsIgnoreCase 方法

62TCP/UDP 协议有什么区别

TCP :面向连接的可靠的基于字节流的传输控制协议
UDP :非面向连接的不可靠的基于用户数据报的协议

63、线程安全问题是什么,如何解决

当多个线程使用共享数据时,就会有线程安全问题。
可以加同步 synchronized 解决。
同步代码块或同步方法。
同步代码块:手动选择同步锁对象。
同步方法:静态方法的同步锁对象是当前类的 Class 对象,非静态方法的同步锁对象
this 对象

64IO 流的四个抽象基类是什么

InputStream :字节输入流
OutputStream :字节输出流
Reader : 字符输出流
Writer :字符输出流

65、如何实现对象序列化?

对象序列化需要用 ObjectOutputStream writeObject 方法,对象的反序列化需
要用 ObjectInputStream readObject 方法。
对象的类型需要实现 java . io . Serializable 接口,并加序列化版本 ID
transient static 修饰的成员变量都不序列

66Class 类对象如何获取

类型名 . class
对象 . getClass
Class . forName ( 类型全名称 )
类加载器对象 . loadClass ( 类型全名称 )

67、反射的作用

实现 Java 语言的动态性。
在运行时动态获取类信息,动态创建对象,动态操作属性,动态调用方法。

68、什么是函数式接口

只有一个抽象方法的接口,即 SAM 接口( Single Abstract Inteface

69、什么是 Lambda 表达式?

Lambda 表达式是一种实现函数式接口的新语法。

70、举几个函数式接口的例子

java . lang . Runnable
java . util . Comparator
java . util . function . Consumer
java . util . function . Predicate
java . util . function . Supplier
java . util . function . Function

70Comparable Comparator 的区别

Comparable :自然比较接口
Comparator :定制比较接口

71Iterable Iterator 的区别

Iterable :可迭代接口,实现它的集合就可以支持 foreach 循环遍历
Iterator :迭代器接口

72sleep() wait() 有什么区别?

sleep wait 都会导致当前线程进入阻塞状态,被挂起。
sleep 不释放锁,睡眠时间到自动醒来,回到就绪状态
wait 是会释放锁,要通过 notify () notifyAll () 唤醒,回到就绪状态
sleep 是在 Thread 类中声明的一个静态方法, Thread . sleep ( 毫秒 )
wait 是在 Object 类中声明的非静态的方法,必须锁对象调用

73、请解释 Java 异常处理机制相关的 5 个关键字

try :尝试执行可能发生异常的代码。
catch :尝试捕获 try 部分发生的异常。可以存在多个 catch ,如果多个 catch 的异
常类型有继承关系,那么遵循子上父下。 finally :不管是否发生异常都要执行的代码放在 finally 块中。
throws :方法声明时显示抛出异常,指定该方法可能抛出的异常类型列表。
throw :手动抛出异常,可以抛出系统预定异常,也可以抛出用户自定异常,而且用户
自定义异常必须用 throw 语句抛出,可以代替 return 语句结束方法运行。

74、访问修饰符的作用范围由大到小,及各自的范围是什么?可以修饰什么?

 修饰符的作用范围由大到小:publicprotected、缺省、private

75、请列出一些常用的类、接口、包,各至少 5

注意答案不固定
常用类: String Math ArrayList HashMap System,Arrays LocalDate Th
read HashSet LinkedList
常用接口: Comparable Comparator Runnable Serializable Collection
Map,List,Set,Iterator Consumer Predicate
常用包: java . lang java . util java . io java . net java . text java . lan
g . reflect java.time java.util.function java.math

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

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

相关文章

《计算机网络》——第三章知识点

第三章思维导图 链路层的信道类型 一对一:点对点信道 —对多:广播信道 链路层要解决的问题 封装成帧 透明传输 差错检测密封&#xff0c;透气性差 封装成帧就是在一段数据的前后部分添加首部和尾部&#xff0c;这样就构成了一个帧。接收端在收到物理层上交的比特流后&#xff…

Pandas.to_csv()函数及全部参数使用方法一文详解+实例代码

目录 前言 一、基础语法与功能 二、参数说明和代码演示 1.path_or_buf 选择文件/文件路径写入 2.sep 指定分隔符 3.na_rep 指定缺少数据表示 4.float_format 指定浮点型字符串输出格式 5. columns 指定要写入的列 6.header 是否需要写入列名 7.index 是否写入行名称&am…

【实时数仓】Sugar拉取数据展示、品牌销售排行接口、品类销售占比接口和热门商品SPU排名接口的实现

文章目录一 Sugar拉取数据展示1 内网穿透&#xff08;1&#xff09;作用&#xff08;2&#xff09;工具&#xff08;3&#xff09;本机ip地址&#xff08;4&#xff09;花生壳配置2 配置组件二 品牌销售排行接口1 Sugar配置&#xff08;1&#xff09;图表配置&#xff08;2&…

2022《粤语好声音-乐队风暴》全国总决赛圆满收官!

2022年12月17日&#xff0c;由广东珠江、盛娱星汇海选联合主办的2022《粤语好声音-乐队风暴》全国总决赛在广州增城1978电影小镇正式拉开帷幕。从海选到全国总决赛&#xff0c;2022《粤语好声音-乐队风暴》在21座城市中&#xff0c;通过线上线下双模式开展&#xff0c;历时6个月…

OpManager 虚拟化管理

什么是虚拟化 虚拟化是创建计算资源的虚拟形式&#xff0c;如计算机、服务器或其他硬件组件&#xff0c;或基于软件的资源&#xff08;如操作系统&#xff09;。虚拟化最常见的示例是在操作系统安装期间对硬盘进行分区&#xff0c;其中物理硬盘驱动器被拆分为多个逻辑磁盘以提…

重点 |中级软件设计师易混淆知识点 (1)

本文章总结了软件设计师考试易混淆知识点&#xff01;&#xff01;&#xff01; 帮助大家更好的复习&#xff0c;希望能对大家有所帮助 比较长&#xff0c;放了部分&#xff0c;需要可私信&#xff01;&#xff01; 易混淆点1&#xff1a;原、反、补码的运算 1、原码&#x…

Технокубок 2021 - Финал C. Basic Diplomacy

翻译&#xff1a; Aleksey有&#x1d45b;个朋友。他现在也在度假&#xff0c;所以他有&#x1d45a;天来玩这款新的病毒式合作游戏!但由于它是合作的&#xff0c;阿列克谢将需要一个队友在每个&#x1d45a;天。 在这些日子里&#xff0c;每天都有一些朋友可以玩&#xff0c…

Spring 依赖注入

文章目录流程图依赖注入的方式手动注入自动注入XML的autowire自动注入autowire BY_NAME 与 BY_TYPE(已过时)执行时机&#xff1a;AUTOWIRE_BY_NAMEAUTOWIRE_BY_TYPEAutowired注解的处理(含Value&#xff0c;Inject)AutowiredAnnotationBeanPostProcessorresolveDependencyfindA…

机器学习——线性模型学习

线性回归 主要目标确定 如何确定w和b呢&#xff1f;关键在于如何衡量f(x)与y的差别 此种衡量误差的方法称为均方误差也称为欧式距离 求解w和b使上述方程最小化的过程称为线性回归模型的最小二乘”参数估计“ 多元线性回归 针对多个属性的数据集D&#xff0c;此时试图学得 …

DHCP学习

目录 DHCP基本认识和原理 场景一、同网段DHCP 场景二、不同段DHCP&#xff08;中继DHCP&#xff09; DHCP基本认识和原理 DHCP&#xff08;Dynamic Host Configuration Protocol动态主机协议&#xff09;。 作用&#xff1a;为局域网络中主机动态分发地址&#xff0c;以及…

INMP441麦克风芯片--支持I2S、ESP32

1.简介 INMP441是InvenSense公司推出的一款具有底部端口的高信噪比、低功耗、数字输出的全向MEMS麦克风&#xff0c;信噪比高达61dB&#xff0c;使其成为近场应用的绝佳选择。INMP441的电路结构如图所示&#xff0c;包括MEMS声音传感器、模数转换器&#xff08;ADC&#xff09…

人工智能的2022:技术的价值在于生产力

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

孤独的照片(思维)

Farmer John 最近购入了 NN 头新的奶牛&#xff0c;每头奶牛的品种是更赛牛&#xff08;Guernsey&#xff09;或荷斯坦牛&#xff08;Holstein&#xff09;之一。 奶牛目前排成一排&#xff0c;Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。 然而&#xff0…

初识Kubernetes:(2)Kubernetes环境搭建

初识Kubernetes&#xff1a;&#xff08;2&#xff09;Kubernetes环境搭建1 环境规划1.1 集群类型1.2 安装方式2 环境搭建2.1 minikube安装2.2 启动集群3 服务部署1 环境规划 1.1 集群类型 Kubernetes集群大致分为两类&#xff1a;一主多从和多主多从。 一主多从&#xff1a…

UE4 shader编程 基础学习笔记 --- 熟悉各个节点

Texture Sample&#xff1a;用所需要的纹理覆盖到Mesh上&#xff0c;展示效果&#xff0c;Mesh上存在漫反射 高光 环境变量的和制造出了左上角的纹理光照效果 该节点只能设置其黑白效果 0为黑&#xff0c;1为白 该节点可以调节R、G两个参数 该节点可以调节RGB三个参数 该节…

C#---第十八课:Debug调试技巧--Debug类、pin 、add watch、拖动断点、修改变量、两个断点的联动

文章目录1. 在output窗口中输出变量的内容----Debug类2. Pin变量 / add watch 实时监控变量的变化(1) pin to sources(2) add watch3. 自由拖动黄色箭头图标4. 直接修改变量的值5. 两个断点的联动&#xff08;当一个断点触发&#xff0c;另一个断点才会触发debug&#xff09;1.…

变革:区块链上的政府和企业应用

发表时间&#xff1a;2022年5月12日 信息来源&#xff1a;coingeek.com 区块链只与数字货币和金融交易挂钩的时代已经过去了。这项技术在过去十年中不断发展&#xff0c;今天&#xff0c;它为游戏、社交媒体应用、医疗保健以及供应链管理等多个领域提供着支持。相比其它领域&am…

SpringBoot 整合【Mybatis-Plus实现分页查询】

目录 1. 添加pom.xml依赖 2. 配置application.yml文件 3. mybatis-plus插件配置核心类 4. 启动类配置 5. 测试数据Sql脚本 6. mybatis-plus代码生成 7. 测试分页查询 1. 添加pom.xml依赖 <!--mybatis-plus--><dependency><groupId>com.baomidou</g…

Weighted Logistic Regression和Youtube时长预估

前段时间阅读了youtube的经典论文《Deep Neural Networks for YouTube Recommendations》&#xff0c;其通过weighted LR来实现时长预估&#xff0c;在其原文中对实现的描述非常短&#xff0c;大概意思是在损失函数中&#xff0c;对正例&#xff08;点击&#xff09;的交叉熵项…

中断的分类,中断指令,中断类型码,中断向量表,中断优先级

目录 PC机的中断系统 中断的分类 内部中断&#xff08;软件中断&#xff09; 故障 陷阱 异常终止 中断指令 指令类型中断指令 INT N 溢出中断指令 INTO 中断返回指令 IRET 外部中断&#xff08;硬件中断&#xff09; 非屏蔽中断&#xff08;NMI&#xff09; 可…