7.1k 6 分钟

# Java 基础面试题 什么是 Java?它有哪些特点? Java 是一种广泛应用于软件开发的高级编程语言。它具有以下特点: 跨平台性(Platform Independence):Java 代码可以在不同操作系统上运行,这是通过将 Java 源代码编译成字节码(Bytecode),然后在 Java 虚拟机(JVM)上执行的方式实现的。这使得 Java 成为一个跨平台的编程语言,只需要编写一次代码,就可以在多个平台上运行。 面向对象(Object-Oriented):Java...
6.1k 6 分钟

# 接口限流 ​ 接口限流是一种常见的应用程序设计模式,它的目的是为了防止系统超载,保持系统的可用性。在应用程序中,特别是在大规模分布式系统中,限制流量可以有效地控制系统负载,并避免由于高负载而导致的系统崩溃。 ​ 限流通常是通过对请求进行计数并根据规则拒绝过多的请求来实现的。一些常见的限流策略包括: 固定窗口限流 、 滑动窗口限流 、 令牌桶限流 、 漏桶限流 等。这些策略可以根据应用程序的实际需求和性能要求进行调整和组合使用。 ​ 在实现接口限流时,需要考虑一些因素,如:最大请求速率、平均请求速率、请求处理时间、负载均衡等。一些常见的限流工具和框架,如 Guava...
814 1 分钟

# 接口实现幂等性 实现接口的幂等性是为了确保多次调用同一个接口请求不会对系统产生不一致的影响,即使请求被重复发送或执行多次,也应该具有相同的效果。在设计和实现接口时,可以采用以下一些方法来确保接口的幂等性: 唯一请求标识符(Request...
55 1 分钟

# Java 集合 # ArrayList # LinkedList # Vector # Set # HashMap # HashSet
5.8k 5 分钟

# 语言元素 # 指令和程序 计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们大多数时候使用的计算机,虽然它们的元器件做工越来越精密,处理能力越来越强大,但究其本质来说仍然属于 “冯・诺依曼结构” 的计算机。“冯・诺依曼结构”...
2.9k 3 分钟

# String 类 ​ String 是 Java 中非常常用的一个类,它代表了一个字符串对象。在 Java 中,字符串是不可变的,也就是说,一旦一个字符串对象被创建,它的值就不能被改变。因此,每次对字符串进行修改,都会创建一个新的字符串对象。 # String 类为什么是不可变的? ​ String 类的不可变特性指的是 String 实例的值一旦被创建就不能被修改。这意味着对一个 String 对象进行操作时,如果需要修改其值,实际上是创建了一个新的 String 对象,并将新对象的引用赋给原对象。这种特性有助于提高程序的性能和安全性。 ​ 从源码层面来看,String...
11k 10 分钟

# Java 日期类 ​ Java 日期类主要包括 java.util.Date 、 java.util.Calendar 和 java.time 包下的类。 ​ java.util.Date 类是 Java 提供的最早的日期类,它表示自 1970 年 1 月 1 日 0 时 0 分 0 秒 (GMT) 起的毫秒数。但是它的设计存在缺陷,所以在 Java 8 之后,推荐使用 java.time 包下的日期类。 ​ java.util.Calendar 类是一个抽象类,提供了一些基本的日期操作,比如获取某一时间的年、月、日、时、分、秒等。但是该类使用起来比较繁琐。 ​ Java...
4.6k 4 分钟

# Java 八大基本数据类型 数据类型 大小 默认值 取值范围 描述 byte 1 字节 0 -128 到 127 有符号整数 short 2 字节 0 -32,768 到 32,767 有符号整数 int 4 字节 0 -2,147,483,648 到 2,147,483,647 有符号整数 long 8 字节 0L -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 有符号整数 float 4 字节 0.0f 1.4E-45 到 3.4028235E38 浮点数 double 8 字节 0.0d 4.9E-324 到...