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

JAVA 基础题

1. 面向对象有哪些特征?

答:继承、封装、多态

2. JDK与JRE的区别是什么?

答:JDK是java开发时所需环境,它包含了Java开发时需要用到的API,JRE是Java的运行时环境,JDK包含了JRE,他们是包含关系

3. Java有哪几种基本数据类型?

答:8种,分别是int、byte、short、long、double、flot、char、boolean

4. == 和equals比较有什么区别?

答:==是Java中的操作符,equals是Java中Object对象提供的对象比较Api。它们的区别是==比较的是左右两边对象的内存地址,而equals比较的是左右对象的值

5. public,private,protected,默认的区别什么?

答:它们是java中的权限修饰符,public可以在任何地方访问,private仅仅只能在本类中访问,protected可以在本类以及本类的子类中访问,默认则代表可以在本包中访问

6. short s1=1; s1+=1;有错吗? s1=s1+1; 有错吗?

答:short在和int类型进行计算的时候会转换为int类型,原因是Java中精度小于int的**数值运算**的时候都回被自动转换为int后进行计算。计算后的结果也是int,再将int类型赋值给short类型当然会报错,所以``s1=s1+1是错误的``,然而s1+=1是java底层采用了编译语法糖的形式完成的转换,在编译后依然是转换为int计算只不过最终做了一次强转

7. float f = 1.9; 有错吗?

答:有错,因为在Java中字面量的小数指的是double类型,double为8个字节float为4个字节,无法完成自动转换。如果需要将字面量的小数转换为float类型需要在小数后面加f或者F

8. &和&&有什么区别?

答:前者是与符号,后者是短路与符号。前者除了可以做逻辑运算和可以做位运算称为“按位与”,后者只能做逻辑运算,其次再逻辑运算中,这两个符号都需要左右两侧表达式为true时,最后结果才为true

9. 2*8最有效率的计算方法是什么?

答:2 << 3

10. 怎么理解值传递和引用传递?

答:值传递传递的是变量中的数据,应用传递则是传递变量的引用而不是值

11. Java到底是值传递还是引用传递?

答:Java中8种基本数据类型传递的是值,而引用数据类型传递的是引用

12. 一个".java"源文件的类有什么限制?

答:最多只能有一个public static void mian方法,最少有一个类

13. final关键字有哪些用法?

答:修饰类:最终类,不可被子类继承,修饰方法:最终方法,不可被子类进行方法覆盖,修饰变量:常量,必须在声明时赋值,且之后的程序中不可改变。

14. final、finally、finalize有什么区别?

答:除了名称相像,都比相同。final属于java的修饰符,finally是结合Java异常体现中的Try一起使用的标识符用来关闭一些资源,finalize是Object根类中的一个方法,是对象被回收之前执行的方法。

15. void和Void有什么区别?

答:void是关键字在java中代表返回值为空,Void是类名

16. 为什么byte的取值范围为-128~127?

答:2的8次方,且减去正数的零

17. char类型可以存储中文汉字吗?

答:可以,char默认为2个字节,不过char采用的是**UTF-16BE**的编码集,且该编码集支持中文,char可以动态的更具字符内容改变字节,最大可以到4

18. 重载和重写有什么区别?

答:重载是在同一类中,满足重载需要方法名相同,参数列表不同,与返回值和访问修饰符无关。重写是在继承关系中,子类对父类方法的覆盖,需要满足“一同两小一大”(方法名相同,返回值类型小于等于父类方法,声明抛出异常小于等于父类方法,访问权限修饰符大于等于父类方法)

19. 构造器可以被重写和重载吗?

答:构造器可以被重载,但是不能被重写,因为构造器不能被继承

20. Java中的断言(assert)是什么?

答:用于检测表达式或方法的最终结果是否符合预期

21. Error和Exception有哪些区别?

答:Error是系统错误,一般由于系统原因或JVM内部错误引起,无法被程序捕获处理,Exception是程序异常,其中又分编译时(检查时)异常和运行时异常,可以被程序捕获处理,一般我们在开发中针对运行时异常进行处理。

22. Java中常见的异常有哪些?

答:NullPointException空指针异常、Arithmeticexception算数异常、ClassCastException类型转换异常、ClassNotFoundException类为找到异常、illegalargumentexception方法参数错误异常、ArrayIndexOfOutBoundsException数组索引越界异常

23. Java中常见的运行时异常有哪些?

答:NoSuchMethodError 为找到方法异常(反射调用方法时),NumberFormatException 数值转换异常,NullPointException空指针异常、Arithmeticexception算数异常、ClassCastException类型转换异常

24. 运行时异常和受检异常有什么区别?

> 答:

>

> 运行时异常包括 RuntimeException 类及其子类,表示 JVM 在运行期间可能出现的异常。Java 编译器不会检查运行时异常。

>

> 受检异常是Exception 中除 RuntimeException 及其子类之外的异常。Java 编译器会检查受检异常。

>

> RuntimeException异常和受检异常之间的区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则就选择非受检异常(RuntimeException)。一般来讲,如果没有特殊的要求,我们建议使用RuntimeException异常。

25. 什么时候会发生空指针异常?

答:对值为空的变量进行操作时

26. 你知道有哪些避免空指针异常的方法?

答:对值为空的变量进行操作时先判断是否为空

27. throw和throws有什么区别?

答:throw用于在方法中抛出异常,throws写在方法名称后面,用于声明抛出的异常类型

28. try里面return,finally还会执行吗?

答:会的,除了System.exit(0)finally都会执行

29. int和Integer有什么区别?

答:int是java的基本数据类型,Integer是Java的引用数据类型。Integer是int的包装类,它提供了对int的转换和计算等API,操作起来更加方便

30. 什么是包装类型?有什么用?

答:包装类型是对基本数据类型的封装,底层其实就是对基本数据类型的操作提供了API和语法糖

31. 什么是自动装箱和拆箱?

答:基本数据类型转引用数据类型为自动拆箱,反之为自动装箱

32. 你怎么理解Java中的自动类型转换和强制类型转换?

答:小转大自动转换,拓展变量的内存字节。大转小强制转换,缩小内存字节损失精度

33. 你怎么理解Java中的类型提升?

答:语法糖

34. 你怎么理解强、软、弱、虚引用?

答:![这里写图片描述](https://img-blog.csdn.net/20180606220747457?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p1bmp1bmJhMjY4OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

35. switch是否能用在long上?

答:可以,switch支持int、byte、short、char以及对应的包装类,和String类型

36. switch case支持哪几种数据类型?

答:如上

37. String的底层实现是怎样的?

答:char数组,以及字符串常量池

38. String是可变的吗?为什么?

答:不可变,java中的字面量字符串都存放在字符串常量池中,无法改变,只能引用

39. 为什么不能用 + 拼接字符串?

答:因为如果用+号拼接字符串JVM编译时会进行优化,转变为StringBuilder拼接。单个表达式使用问题不大,但是如果是多个表达式或者在循环内使用会频繁创建StringBuilder对象大大降低性能

40. StringBuffer和StringBuilder有什么区别?

答:前者线程安全效率低,后者线程不安全效率高,

41. StringJoiner有什么用?

答:用于做字符串拼接的工具类

```java

//间隔符是,

StringJoiner joiner1 = new StringJoiner(",");

joiner1.add("1").add("2").add("3");

System.out.println(joiner1.toString());

//1,2,3

//以[开头中间的间隔符是,以]结尾

StringJoiner joiner2 = new StringJoiner(",", "[", "]");

joiner2.add("1").add("2").add("3");

System.out.println(joiner2.toString());

//[1,2,3]

//拼接sql 的in条件的时候, 使用这个就方便很多了

StringJoiner joiner3 = new StringJoiner("','", "'", "'");

joiner3.add("1").add("2");

//'1','2'

```

42. 普通类和抽象类有什么区别?

答:抽象类被abstract所修饰,

43. 静态内部类和普通内部类有什么区别?

答:普通内部类持有外部外部类的应用,可以调用外部类的属性及方法,而静态内部类没有持有外部内引用,无法调用外部内的方法及属性。静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成 员(方法,属性)。 非静态内部类能够访问外部类的静态和非静态成员。静态内部类不能访问外 部类的非静态成员,只能访问外部类的静态成员。

实例化方式不同:

1. 静态内部类:不依赖于外部类的实例,直接实例化内部类对象

2. 非静态内部类:通过外部类的对象实例生成内部类对象

44. 静态方法可以直接调用非静态方法吗?为什么?

答:不能,因为静态方法的加载顺序优先于非静态方法,且静态方法属于类,无需对象实例,非静态方法则需要类的实例才能调用

45. 静态变量和实力变量有什么区别?

答:静态变量属于类,无需创建对象通过类名即可调用,而实例变量需要类创建实例才可以调用。加载角度而言只要JVM加载了静态变量所处的类,静态变量就以及可以使用,为分配了空间。而实例变量需要创建对象之后才会为其分配空间

46. 内部类可以访问其外部类的成员吗?

答:非静态内部类可以,因为它持有者外部内的引用。

47. 接口和抽象类有什么区别?

答:接口没有构造方法,抽象类有。抽象类中可以有普通成员变量;接口中没有普通成员变量。抽象类中可以包含非抽象普通方法;接口中的所有方法必须都是抽象的,不能有非抽象的方法。一个类可以实现多个接口,用逗号隔开,但只能继承一个抽象类;接口不可以实现接口,但可以继承接口,并且可以继承多个接口,用逗号隔开。

48. 接口里面可以写方法实现吗?

答:可以,jdk1.8之后可以写接口的默认方法实现

49. Java中的UUID是什么?

答:生成一串随机的数字,它保证对在同一时空中的所有机器都是唯一的

50. Java类初始化顺序是怎样的?

答:如下

![img](https://img-blog.csdn.net/20180705100250350?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h5YWppYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

![img](https://img-blog.csdn.net/20180705100306225?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h5YWppYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

51. hashCode有什么作用?

答:hashcode在java中用于表示对象的唯一码。hashcode也用在Hash数据结构中,用来计算对象存放在Hash中的位置(存储地址)

<!--两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象-->

52. hashCode和identityHashCode的区别?

答:

1. Object类中的hashCode方法会返回一个hash码,只有指向同一个对象的引用变量调用才会返回相同值,而String类中放宽了要求,对象里的值相等也返回相同值

2. identityHashCode方法是System类中的方法,调用该方法时,不管类中是否重写了Object类中的hashCode方法,都执行Object类中的hashCode方法,返回一个hashCode值。所以只有指向同一个对象的引用变量调用才会返回相同值

53. 什么是Hash冲突?

答:两个对象都放入同一个hash容器中,且计算出的hash值都相同。也称为hash碰撞,此时的解决办法是再hash

54. Java常用的元注解有哪些?

答:

**@Target**:描述了注解修饰的对象范围

- METHOD:用于描述方法

- PACKAGE:用于描述包

- PARAMETER:用于描述方法变量

- TYPE:用于描述类、接口或enum类型

**@Inherited**:使被它修饰的注解具有继承性

**@Retention**:表示注解的运行时期范围

- RetentionPolicy.SOURCE -------------注解将被编译器丢弃

- RetentionPolicy.CLASS -------------注解在class文件中可用,但会被VM丢弃

- RetentionPolicy.RUNTIME ---------VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息

**@Documented**:使用 javadoc 工具为类生成帮助文档时是否要保留其注解信息

55. Java泛型中的T、R、K、V、E分别指什么?

答:

- ? --不确定的Java类型,是一个通配符泛型

- T --表示确定的Java类型

- K、V --Java中的键值对key、value

- E --Element (在集合中使用,因为集合中存放的是元素,也表示Collection容器中的类型)

Java源码中的Class代表这个类型所对应的类,而Class<?>表示类型不确定的类。

56. Java金额计算怎么避免精度丢失?

答:使用BigDecimal进行与金钱相关的计算

57. Java语法糖是什么意思?

答:通过提供简单的编写方式在编译时完成对复杂操作的转换。通常是指Java中的简单语法,在编译时期还原成基础语法。

58. transient关键字有什么作用?

答:将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列化

59. 如何实现对象克隆?

答:Java对象克隆又分深拷贝和浅拷贝,浅拷贝调用Object跟对象继承下来的clone,深拷贝可以借助SpringFramework提供的BeanUtils工具或者通过Java的序列化与反序列化实现。

60. 对象克隆浅拷贝和深拷贝有什么区别?

答:浅拷贝与深拷贝的区别,浅拷贝:如果对象中还包括着子对象,浅拷贝只能拷贝一份父对象的内存空间,而子对象则只是拷贝了其引用,值没有进行拷贝。深拷贝则是涉及到这个对象当前所占的所有空间(值)都进行拷贝。

61. Java反射机制有什么作用?

答:反射可以让程序在运行时具有检测自己和获取当前运行环境的能力。

理解反射机制要了解静态编译和动态编译,静态编译时在程序运行之前编译时期就以及确定的,动态编译则可以才程序运行期间,使程序自己改变自己的行为模式或逻辑,具有高度的灵活性。典型的编程设计模式动态代{过}{滤}理就是在运行时期完成的编译

62. Java反射机制有什么优缺点?

答:

优点:增强程序灵活性和可拓展性,可帮助程序进行解耦合,提高自身的适应能力

缺点:

1、 **性能问题。**

Java反射机制中包含了一些动态类型,所以Java虚拟机不能够对这些动态代码进行优化。因此,反射操作的效率要比正常操作效率低很多。我们应该避免在对性能要求很高的程序或经常被执行的代码中使用反射。而且,如何使用反射决定了性能的高低。如果它作为程序中较少运行的部分,性能将不会成为一个问题。

2、**安全限制。**

使用反射通常需要程序的运行没有安全方面的限制。如果一个程序对安全性提出要求,则最好不要使用反射。

3、**程序健壮性。**

反射允许代码执行一些通常不被允许的操作,所以使用反射有可能会导致意想不到的后果。反射代码破坏了Java程序结构的抽象性,所以当程序运行的平台发生变化的时候,由于抽象的逻辑结构不能被识别,代码产生的效果与之前会产生差异。

63. 什么是宏变量和宏替换?

> 答:引用用宏变量,系统会自动把宏变量替换成他所指向的地址的值

```java

String nb = "finaltest";

String nb1 = "final";

String nb2 = "test";

final String nb11 = "final";

final String nb22 = "test";

String nb3 = "final" + "test";

String nb4 = nb1 + nb2;

String nb5 = nb11 + nb22;

System.out.println(nb == nb3);

System.out.println(nb == nb4);

System.out.println(nb == nb5);

true

false

true

nb定义了finaltest,nb3定义了 “final” + “test”,初始编译的时候nb3会确定初始值为finaltest(JVM在编译时会对字面量的字符串进行优化),因此初始值与nb相等,所以会把nb3引用的地址指向nb引用的地址,所以nb与nb3相等。

而nb11,nb22根据上面三条规则得知是宏变量,引用用宏变量,系统会自动把宏变量替换成他所指向的地址的值,所以nb11+nb22就会替换成finaltest,然后与nb3一样,这就是宏替换。

```

64. 什么是逃逸分析?

答:在编程语言的编译优化原理中,分析指针动态范围的方法称之为逃逸分析。通俗一点讲,当一个对象的指针被多个方法或线程引用时,我们称这个指针发生了逃逸。

而用来分析这种逃逸现象的方法,就称之为逃逸分析。全局变量赋值,方法返回值,实例引用传递。

>参考文章https://blog.csdn.net/u014352080/article/details/93165603

65. 什么是伪共享?有什么解决方案?

答:参考文章https://www.cnblogs.com/tong-yuan/p/FalseSharing.html

> **什么是多线程环境下的伪共享(false sharing)?**

> 伪共享是多线程系统(每个处理器有自己的局部缓存)中一个众所周知的性能问题。伪共享发生在不同处理器上的线程对变量的修改依赖于相同的缓存行,如下图所示:

>

> **小知识点:**

>

> ***\*1.\**共享就是一个内存区域的数据被多个处理器访问,伪共享就是不是真的共享。

> 这里的共享这个概念是基于逻辑层面的。实际上伪共享与共享在cache line 上实际都是共享的。

> \**2.\**CPU访问的数据都是从cache line 中读取的。如果cpu 在cache 中找不到需要的变量,则称缓存未命中。**

>

>

> **未命中时,需要通过总线从内存中读取进cache 中。每次读取的内存大小就是一个cache line 的大小。**

>

>

> **3.****如果多个CPU访问的不同内存变量被装载到了同一个cache line 中,则从程序逻辑层上讲,并没有共享变量,

> 但实际上在cache line 上他们是共享访问的,这个就是典型的伪共享。**

>

>

> **4.****伪共享与共享 在 cache line 的层面上必须都是共享的。多个CPU对共享内存的访问安全通过缓存一致性来保证。**

>

> ***\*5\**.伪共享问题很难被发现,因为线程可能访问完全不同的全局变量,内存中却碰巧在很相近的位置上。如其他诸多的并发问题,避免伪共享的最基本方式是仔细审查代码,根据缓存行来调整你的数据结构。**

66. Java 8新增了哪些特性?

答:最核心的特性Lambda 表达式和函数式接口以及Stream API

67. Java 8中的Lambda表达式有什么作用?

答:Lambda 是一个匿名函数,可以把Lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)。可以写出更加简洁、灵活的代码。作为一种更加紧凑的代码风格,使java的语言表达能力得到了提升。

68. Java 8中的Optional类有什么作用?

答:以解决程序中常见的`NullPointerException`异常问题

69. Java 8中的@Repeatable注解有什么作用?

答:@Repeatable可以用来指示某种类型的注解是可以重复添加的

70. Java 8中的方法引用是指什么?

答:方法引用,如果函数式接口以及有具体实现了可以直接引用该方法。语法为ClassName::MethodName || ObjectName::实例方法名称

71. Java 8中的Stream有什么作用?

答:提供了对集合计算的支持,集合负责存储而Stream负责计算。它用于操作数据源所产生的序列,例如复杂的查找、过滤映射数据等操作

72. Java 8中的函数式编程怎么用?

答:函数与其他数据类型一样,可以赋值给其他变量,也可以作为**参数**,也可以作为**返回值**。

- 代码简洁,开发快速

- 易于理解,降低风险

- 易于并行

- 延迟执行

73. 如何获取一个Stream流对象?

答:

* 数组获取Stream:Arrays.stream(数组对象)

* 集合获取Stream:集合对象.stream()

* 值获取Stream:Stream.of(值...)

相关文章:

JAVA 基础题

1. 面向对象有哪些特征&#xff1f;答&#xff1a;继承、封装、多态2. JDK与JRE的区别是什么&#xff1f;答&#xff1a;JDK是java开发时所需环境&#xff0c;它包含了Java开发时需要用到的API&#xff0c;JRE是Java的运行时环境&#xff0c;JDK包含了JRE&#xff0c;他们是包含…...

Flutter desktop端多屏幕展示问题处理

目前越来越多的人用Flutter来做桌面程序的开发&#xff0c;很多应用场景在Flutter开发端还不是很成熟&#xff0c;有些场景目前还没有很好的插件来支持&#xff0c;所以落地Flutter桌面版还是要慎重。 下面来说一下近期我遇到的一个问题&#xff0c;之前遇到一个需要双屏展示的…...

每天10个前端小知识 【Day 9】

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…...

Elasticsearch的读写搜索过程

问题 Elasticsearch在读写数据的过程是什么样的?你该如何理解这个问题&#xff01; Elasticsearch的写数据过程 客户端选择一个节点发送请求&#xff0c;这个时候我们所说的这个节点就是协调节点&#xff08;coordinating node&#xff09;协调节点对document进行了路由&am…...

线上服务质量的问题该如何去处理?你有什么思路?

线上服务质量的问题该如何去处理&#xff1f;你有什么思路&#xff1f; 目录&#xff1a;导读 发现线上故障 处理线上故障 修复线上故障 运营线上质量 就是前几天有个同学问了我一个问题&#xff1a;目前业内高可用部署主要采用方案&#xff1f; 看到这个问题&#xff0c…...

IOC 配置,依赖注入的三种方式

xml 配置 顾名思义&#xff0c;就是将bean的信息配置.xml文件里&#xff0c;通过Spring加载文件为我们创建bean。这种方式出现很多早前的SSM项目中&#xff0c;将第三方类库或者一些配置工具类都以这种方式进行配置&#xff0c;主要原因是由于第三方类不支持Spring注解。 优点…...

自动机,即有限状态机

文章目录一、问题来源二、题目描述三、题解中的自动机四、自动机学习五、有限状态机的使用场景一、问题来源 今天做力克题目的时候看到了字符串转换整数的一道算法题&#xff0c;其中又看到了题解中有自动机的概念&#xff0c;所以在这里对自动机做个笔记。题目链接 二、题目描…...

第一部分:简单句——第一章:简单句的核心——二、简单句的核心变化(主语/宾语/表语的变化)

二、简单句的核心变化 简单句的核心变化其实就是 一主一谓&#xff08;n. v.&#xff09; 表达一件事情&#xff0c;谓语动词是其中最重要的部分&#xff0c;谓语动词的变化主要有四种&#xff1a;三态加一否&#xff08;时态、语态、情态、否定&#xff09;&#xff0c;其中…...

VSCode Markdown写作引入符合规范的参考文献

Markdown可以用来写论文&#xff0c;写论文的时候无一例外要用到参考文献&#xff0c;今天来谈谈怎么自动生成参考文献。之前讲了怎么导出的pdf&#xff0c;文章在这里 VSCode vscode-pandoc插件将中文Markdown转换为好看的pdf文档&#xff08;使用eisvogel模板&#xff09; …...

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(四级)答案解析

目录 一、单选题(共15题&#xff0c;共30分) 二、判断题(共10题&#xff0c;共20分) 三、编程题(共3题&#xff0c;共50分) 青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;四级&#xff09; 一、单选题(共15题&#xff0c;共30分) 1. 运行下列程序…...

JUC并发编程学习笔记(一)——知识补充(Threadlocal和引用类型)

强引用、弱引用、软引用、虚引用 Java执行 GC(垃圾回收)判断对象是否存活有两种方式&#xff0c;分别是引用计数法和引用链法(可达性分析法)。 **引用计数&#xff1a;**Java堆中给每个对象都有一个引用计数器&#xff0c;每当某个对象在其它地方被引用时&#xff0c;该对象的…...

2022级上岸浙理工MBA的复试经验提炼和备考建议

在等待联考成绩出来的那段时间&#xff0c;虽然内心很忐忑&#xff0c;但还是为复试在积极的做准备&#xff0c;虽然也进行了估分大概有201分&#xff0c;但成绩和分数线没下来之前&#xff0c;只能尽量多做些一些准备把。因为笔试报了达立易考的辅导班&#xff0c;对于浙江理工…...

人大金仓数据库索引的应用与日常运维

索引的应用 一、常见索引及适应场景 BTREE索引 是KES默认索引&#xff0c;采用B树实现。 适用场景 范围查询和优化排序操作。 不支持特别长的字段。 HASH索引 先对索引列计算一个散列值&#xff08;类似md5、sha1、crc32&#xff09;&#xff0c;然后对这个散列值以顺序…...

20230211英语学习

Six Lifestyle Choices to Slow Memory Decline 研究发现&#xff0c;生活方式真能帮助记忆“抗衰”&#xff1f; A combination of healthy lifestyle choices such as eating well, regularly exercising, playing cards and socialising at least twice a week may help sl…...

5G图书推荐

无线通信专业书籍推荐 1.无线通信原理&#xff1a;基于MATLAB的实践&#xff0c;作者&#xff1a;李珊&#xff0c;出版社&#xff1a;清华大学出版社 2.无线通信系统&#xff1a;原理、设计与应用&#xff0c;作者&#xff1a;肖宇&#xff0c;出版社&#xff1a;电子工业出版…...

【Linux下代码调试工具】gdb 的基本使用

gdb的基本使用前言准备gdb工具调试须知gdb的基本指令进入调试退出调试显示代码及函数内容运行程序给程序打断点查看断点位置断点使能取消断点逐过程调试逐语句调试运行到下一个断点查看变量的值变量值常显示取消变量值常显示前言 在主页前面的几篇文章已经介绍了Vim编辑器及Ma…...

UART和RS232、RS485的联系和区别、以及对软件编程的影响

1、串口、UART、RS232、RS485概念的理解 (1)狭义上的串口&#xff1a;指的是串口协议&#xff0c;就是时序图、数据收发先后顺序等&#xff0c;是抽象出来的协议&#xff1b; (2)广义上的串口&#xff1a;指的是符合串口协议的接口&#xff0c;UART、RS232、RS485在实际工作中都…...

ajax是什么?咋实现的

创建交互式网页应用的网页开发技术 再不重新加载整个网页的前提下&#xff0c;与服务器交换数据并且更新部分内容 简单来说就是无页面刷新的数据交互 通过创建xmlhttprequest对象向服务器异步发送请求从而获取数据&#xff0c;然后操作dom更新内容 1&#xff0c;创建xmlhttpr…...

AI推理计算框架中的内存优化

背景 内存管理是AI计算中非常重要的一部分。我们希望模型计算时占用内存尽可能小&#xff0c;这样我们训练或推理时就可以用更大的batch size使其尽快收敛&#xff0c;或者提高吞吐率。又或者让我们可以使用参数更多、或更复杂的模型从而达到更好的准确率。由于现代深度学习模…...

C语言学习小结(1)——初认识C语言

一、C语言概念 C语言是一门通用计算机编程语言&#xff0c;广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能&#xff0c;但仍然保持着…...

30分钟吃掉wandb可视化自动调参

wandb.sweep: 低代码&#xff0c;可视化&#xff0c;分布式 自动调参工具。使用wandb 的 sweep 进行超参调优&#xff0c;具有以下优点。(1)低代码&#xff1a;只需配置一个sweep.yaml配置文件&#xff0c;或者定义一个配置dict&#xff0c;几乎不用编写调参相关代码。(2)可视化…...

【8】AMBA_SOC项目自学IC验证项目-仿真平台脚本使用讲解

仿真平台文件介绍和脚本使用说明 1、项目路径:2、文件夹说明:3、仿真运行命令:第一步:进入项目路径第二步:设置环境第三步:运行仿真第四步:查看波形1、项目路径: 位置:/tool/project/axi 2、文件夹说明: a、env就是放的我们uvm环境相关的env文件; b、out就是我们…...

智慧水务未来技术发展方向预测探讨

随着科技的不断发展和城市化的加速&#xff0c;智慧水务作为一种新的水务模式&#xff0c;逐渐受到广泛关注。未来&#xff0c;智慧水务将会面临更多的技术挑战和商机。本博客将对智慧水务的未来技术发展方向进行预测&#xff0c;以探讨智慧水务未来可能的技术重点。 1. 人工…...

数据结构 | 栈与队列

&#x1f525;Go for it!&#x1f525; &#x1f4dd;个人主页&#xff1a;按键难防 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4d6;系列专栏&#xff1a;数据结构与算法 &#x1f52…...

Redux 源码分析

Redux 目录结构 redux ├─ .babelrc.js ├─ .editorconfig ├─ .gitignore …...

第五十二章 BFS进阶(二)——双向广搜

第五十二章 BFS进阶&#xff08;二&#xff09;——双向广搜一、双向广搜1、优越之处2、实现逻辑3、复杂度分析二、例题1、问题2、分析3、代码一、双向广搜 1、优越之处 双向广搜是指我们从终点和起点同时开始搜索&#xff0c;当二者到达同一个中间状态的时候&#xff0c;即相…...

业务建模题

一. 单选题&#xff1a;1.在活动图中负责在一个活动节点执行完毕后切换到另一个节点的元素是( A)。A.控制流 B.对象流 C.判断节点 D.扩展区城2.以下说法错误的是(C)。A.活动图中的开始标记一般只有一一个,而终止标记可能有多个B.判断节点的出口条件必须保证不互相重复,并且不缺…...

电子秤专用模拟数字(AD)转换器芯片HX711介绍

HX711简介HX711是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。与同类型其它芯片相比&#xff0c;该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路&#xff0c;具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本&#xff…...

微服务 RocketMQ-延时消息 消息过滤 管控台搜索问题

~~微服务 RocketMQ-延时消息 消息过滤 管控台搜索问题~~ RocketMQ-延时消息实现延时消息RocketMQ-消息过滤Tag标签过滤SQL标签过滤管控台搜索问题RocketMQ-延时消息 给消息设置延时时间&#xff0c;到一定时间&#xff0c;消费者才能消费的到&#xff0c;中间件内部通过每秒钟扫…...

js发送邮件(node.js)

以前看别人博客留言或者评论文章时必须填写邮箱信息&#xff0c;感觉甚是麻烦。 后来才知道是为了在博主回复后让访客收到邮件&#xff0c;用心良苦。 于是我也在新增留言和文章评论的接口里&#xff0c;新增了给自己发送邮件提醒的功能。 我用的QQ邮箱&#xff0c;具体如下…...

免费视频网站素材/宁波网络推广

1. The getter xxx was called on null. String判断空值时&#xff0c;null写在前面。 好吧&#xff0c;如果写过Android的同学应该是没问题&#xff0c;但是作为C#的童鞋来讲&#xff0c;真的是不知道 如&#xff1a; var image"12345";if(null ! image && …...

建设wap手机网站制作/北京seo优化方案

使用SMB登入扫描器对大量主机的用户名和口令进行猜解&#xff0c;不过扫描动静很大&#xff0c;容易被察觉&#xff0c;而且每一次登入尝试都会被扫描的主机系统日志记录下来&#xff0c;留下痕迹不建议使用。 实例 第一步&#xff1a; msf > use auxiliary/scanner/smb/smb…...

做棋牌游戏网站/有没有推广app的平台

写在前面 关于JDK动态代理的源码中一些意图没有完全明白&#xff0c;待以后慢慢补充 关于代理的理解 代理的本质就是类功能的加强。 比如类A实现的功能是a&#xff0c;通过代理类ProxyA可以实现功能ab。 代理分为静态代理、动态代理 静态代理又分两种实现&#xff1a;继承和聚合…...

网站用户 微信商城/湖南网站制作公司

jasypt能够以很简单的方式为Java项目提供加密功能&#xff0c;这种简单的方式体现着它的命令行工具&#xff0c;与Spring&#xff0c;Hibernate&#xff0c; Springsecurity&#xff0c; wicket等第三方框架的集成。 本文参加jasypt官方网站&#xff1a;http://www.jasypt.org/…...

什么网站可以做私房菜外卖/网络优化的工作内容

目录 简略说明 详细说明 Yum apt-get dnf Homebrew 区别 YUM和DNF的区别 Yum和apt-get的区别 Yum和rpm的区别 常用命令 yum/dnf 常用命令 rpm命令 linux命令好玩的命令 简略说明 apt-get 是德班系&#xff08;Debian、Ubuntu等&#xff09;的软件管理命令 yum 是红帽系&#xf…...

做网站采集内容/杭州网站seo外包

#!/bin/bash echo "wxc_dump.sh is running!" #抓包600秒保存一个包以时间命名 tcpdump -i ens160 -s0 -G 600 -Z root -w ./%Y%m%d_%H%M%S.pcap & #while条件括号里面不能少两个空格 #find当前路径所有后缀.pcap&#xff0c;文件内容最后修改时间比当前大于120分…...