1. Ajax的状态码有哪些?

  1. readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
    0 代表未初始化。 还没有调用 open 方法
    1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
    2 代表已加载完毕。send 已被调用。请求已经开始
    3 代表交互中。服务器正在发送响应
    4 代表完成。响应发送完毕

  2. 常用状态码(status)及其含义:
    404 没找到页面(not found)
    403 禁止访问(forbidden)
    500 内部服务器出错(internal service error)
    200 一切正常(ok)
    304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )

2. 写一个安全的单例模式?

测试题12(答案解析)

3. 线程池有哪些?

  1. newCachedThreadPool创建一个可缓存线程池程

  2. newFixedThreadPool 创建一个定长线程池

  3. newScheduledThreadPool 创建一个定长线程池

  4. newSingleThreadExecutor 创建一个单线程化的线程池

4. 两个对象的hashCode()相同,则equals()也一定为true,对吗?

不一定。解析如下:

4.1 hashCode()介绍

(1)hashCode()的作用是获取哈希值,也称为散列码,它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode()定义在JDK的Object.java中,这就意味着Java中的任何类都包含有hashCode()函数。
(2)散列表存储的是键值对(key-value),它的特点是根据“键”快速的检索出对应的“值”。这其中就利用到了散列码(可以快速找到所需要的对象)

4.2 为什么要有hashCode?

(1)以“HashSet如何检查重复”为例:HashSet 会先计算对象的 hashCode 值来判断对象加入的位置,同时也会与加入的对象的 hashCode 值作比较,如果没有相符的hashCode,HashSet会假设对象没有重复出现。但是如果发现有相同的 hashCode 值的对象,这时会调用equals() 方法来检查 hashCode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入成功。如果不同的话,就会重新散列到其他位置。这样就大大减少了equals的次数,相应就大大提高了执行速度。
(2)hashCode()与equals() 相关的规定

  1. 如果两个对象相等,则hashCode一定也是相同的
  2. 两个对象相等,对两个对象分别调用equals方法都返回true
  3. 两个对象有相同的hashCode值,它们不一定是相等的
  4. 因此,equals方法被覆盖过,则hashCode 方法也必须被覆盖
  5. hashCode()的默认行为是对堆上的对象产生独特值。如果没有重写hashCode(),则该class的两个对象无论如何都不会相等(即使这两个对象指向相同的数据)
4.3 对象的相等与指向他们的引用相等,两者有什么不同?
  1. 对象的相等比较的是内存中存放的内容是否相等;
  2. 引用相等比较的是他们指向的内存地址是否相等。

5. Java中的Math.round(1.5)、Math. round(-1. 5)等于多少?

  1. Math.round(1.5)的返回值是2,Math.round(-1.5)的返回值是-1。
  2. 采用四舍五入的原理,在参数上加0.5然后做向下取整。

6. HTTP有哪些method?

  1. HTTP1.0定义了三种请求方法: GET、POST 和 HEAD方法。

  2. HTTP1.1新增了五种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

7. String、StringBuilder、StringBuffer区别?

地址:https://blog.csdn.net/zhu_fangyuan/article/details/108739935

8. String类的常用方法都有那些?

String类常用方法 用法
indexOf() 返回指定字符得索引
charAt() 返回指定索引处得字符
repalce() 字符串替换
trim() 去除字符串两端的空白
split() 分割字符串 返回分割后的字符串数组
getBytes() 返回字符串的byte类型数组
length() 返回字符串的长度
toLowerCase() 字符串转小写
toUpperCase() 字符串转大写
substring() 截取字符串
equals() 字符串比较

9. Collection和Collections有什么区别?

  1. Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
  2. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

10. 在Queue中poll()和 remove()有什么区别?

  1. remove():获取并移除此队列的头,如果此队列为空,则抛出NoSuchElementException异常
  2. poll():获取并移除此队列的头,如果此队列为空,则返回 null

相关文章: