- Cache-Control:这是一个用于定义缓存行为的头部字段,它可以设定多个值来控制缓存的各个方面,如“public”、“private”、“no-cache”、“max-age”等。虽然
Cache-Control
的max-age
指令可以指定缓存项的有效期,但它并不直接标识资源的过期时间,而是指定了资源在缓存中的最大有效时间(以秒为单位)。- Last-Modified:这个字段用于标识资源的最后修改时间。它并不直接用于标识资源的缓存过期时间,但浏览器和服务器可以利用这个字段来检查资源是否是最新的,以决定是否需要进行协商缓存。
- Expires:这个字段直接指定了资源的过期日期和时间。它是一个GMT格式的日期/时间字符串,表示在这个时间之后,缓存的资源就会过期。浏览器在发送请求之前会检查这个字段,以确定缓存的资源是否仍然有效。
- ETag:ETag(实体标签)是一个用于标识资源版本的不透明标记,它通常用于协商缓存。当缓存项过期后,客户端可以使用ETag与服务器进行验证,以确定是否需要重新下载资源。然而,ETag本身并不标识资源的缓存过期时间。
- 除了 Bootstrap ClassLoader,每个 ClassLoader 都有自己的父类加载器:
- 这个说法是正确的。在Java中,除了Bootstrap ClassLoader(引导类加载器)是用C++实现并且没有直接的Java父类加载器外,其他的类加载器(如扩展类加载器Extension ClassLoader和应用类加载器Application ClassLoader)都继承自
java.lang.ClassLoader
类,并且它们之间形成了父子关系。- 当 ClassLoader 收到类加载的请求,会优先尝试父类加载器去加载目标类:
- 这个说法也是正确的。Java的类加载机制采用了双亲委派模型(Parent Delegation Model),即当一个类加载器接收到类加载的请求时,它首先会把这个请求委托给它的父类加载器去完成,依次递归,直到达到最顶层的Bootstrap ClassLoader。只有当父类加载器无法完成加载请求时,子类加载器才会尝试自己去加载。
- Bootstrap ClassLoader 是虚拟机自身的一部分:
- 这个说法是正确的。Bootstrap ClassLoader(也称为引导类加载器)是Java虚拟机(JVM)的一部分,它用C++编写,负责加载Java的核心类库(如rt.jar中的类),这些类在JVM启动时就需要被加载到内存中。
- ClassLoader 采用继承的方式复用父类加载器:
- 这个说法错误。在Java中,类加载器之间的父子关系并不是通过继承实现的(尽管它们都继承自
java.lang.ClassLoader
),而是通过组合(composition)的方式实现的。每个类加载器都有一个指向其父类加载器的引用,但这不是通过继承关系来建立的。因此,更准确的说法应该是“类加载器通过持有父类加载器的引用来复用父类加载器的功能”。
AB
B
A
在Java中,方法重载(Overloading)是指在一个类中可以有多个同名的方法,但这些方法的参数列表必须不同(参数的数量不同、参数的类型不同,或参数的类型顺序不同)
B、在Java中,参数名不影响方法重载的判定,只有参数的类型和数量(顺序)才重要。
C、Java中的方法重载是基于方法名和参数列表的,与方法的访问修饰符(如
static
)无关。因此,这实际上是与原方法同名的静态方法,而不是重载方法。
匹配失败时,主串指针不动,模式串回退到已匹配的字符串的最长前后缀的前缀后面。
小红书0510笔试-选择题
最新推荐文章于 2024-09-07 12:59:11 发布