java面试题–基础不更新篇

弱小和无知不是生存的障碍,傲慢才是

打算写一个java系列博客,分为四篇

  1. java面试题–基础不更新篇
  2. java面试题–进阶持续更新篇
  3. 读书笔记专栏(各种java书籍的笔记 )
  4. 探索开源软件

第一章:Java基础

1.1 JDBC的流程

  1. 加载JDBC驱动类

  2. 创建数据库的连接Connection

  3. 获得预处理语句PreparedStatement (多条记录时PreparedStatement语句编译一次,执行多次,而Statement编译多次,执行多次)

  4. 执行SQL语句

  5. 返回结果集

  6. 关闭资源

1.2 实例化对象的方法除了new还有哪些

工厂模式、反射、克隆、反序列化(Java序列化就是指把Java对象转换为字节序列的过程)

1.3 HashTable与HashMap的区别

  1. HashTable线程安全,HashMap线程不安全

  2. 父类不同,HashTable继承自Dictory类,HashMap继承自AbstractMap类

  3. HashTable不允许为null,HashMap允许存在nullkey和null值,但因为key不能重复,所以只能有一个key为null

1.4 Java8新特性

  1. lambda表达式,函数式接口

  2. foreach循环

  3. 接口中新增了静态方法和默认方法,都有方法体

  4. stream流:filter,map,limit,distinct,sorted,foreach

  5. 时间日期API:
    ? java.time.LocalDate 表示日期
    ? LocalTime 表示时间
    ? LocalDateTime 表示日期+时间

1.5 StringBuilder和StringBuffer

  1. StringBuilder线程不安全,性能高

  2. StringBuffer线程安全,性能不高

第二章:JavaWeb

2.1 session和cookie的区别

  1. cookie数据存放于浏览器上,session存在服务器上

  2. 存放存放在本地所以不是很安全,别人可能分析你本地的cookie,进行欺诈,session更安全一些

  3. session较多会影响系统性能

  4. 单个cookie保存的数据不能超过4k,很多浏览器限制一个站点最多保存20个cookie

  5. session默认建立在cookie的基础之上,如果客户端不支持cookie,通过url重写实现

2.2 post和get的区别

  1. post将请求参数放在请求的正文部分,get是放在请求行,url后面,以问 隔开,用&分割参数

  2. post方式参数长度没限制,get方式有限制

  3. post方式参数地址栏不可见,相对安全,get方式可见

2.3 rest风格

Representational State Transfer: 表现层状态转移->URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作,REST本身不实用,
实用的是如何设计 RESTful API(REST风格的 络接口):

  1. 增:@PostMapping

  2. 删:@DeleteMapping

  3. 改:@PutMapping

  4. 查:@GetMapping

2.4 同源策略

两个页面的协议、域名和端口都一样,则是同源,可以隔离潜在恶意文件

第三章:多线程

3.1 sleep和wait的区别

  1. sleep属于Thread类,wait属于Object

  2. sleep可以在任何位置使用,而wait,notify等需要在同步方法或同步代码块中使用

  3. sleep没有释放锁,它只释放了时间片,wait释放了锁

  4. sleep需要捕获异常,wait不需要

3.2 AQS相关问题

AQS是一个抽象类AbstractQueuedSynchronizer,抽象同步队列,可以解决数据安全问题;

造成数据安全问题的原因:

  1. 可见性

? JMM(Java Memory Model)java内存模型,使用volatile、synchronized、Lock、CountDownLatch可以 解决CountDownLatch是通过一个计数器来实现的,计数器的初始化值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就相应得减1。当计数器到 达0时,表示所有的线程都已完成任务,然后在闭锁上等待的线程就可以恢复执行任务。

11.3 paas

Platform as a Server: 平台即服务,即把运行用户所需的软件的平台作为服务出租。

11.5 daas

Date as a Server: 数据即服务。

云端公司负责建立全部的IT环境,收集用户需要的基础数据并且做数据分析,最后对分析结构或者算法提供编程接口,让数据成为服务。

java面试题--基础不更新篇 文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92447 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月16日
下一篇 2022年4月16日

相关推荐