面试题(一)

1.创建线程的方式及实现

1. 继承Thread类

在MyThread类中重写run()方法

创建MyThread类的对象

启动线程


2.实现Runnable接口(创建MyRunnable)

在MyRunnable类中重写run()方法

创建MyRunnable类的对象

创建MyThread类的对象 把MyRunnable对象作为构造方法的参数

启动线程


3.实现Callable接口

在MyCallable类中重写call()方法

创建MyCallable类的对象

创建Future的实现类FutureTask对象 把MyCallable对象作为构造方法的参数

创建Thread类的对象 把FutureTask对象作为构造方法的参数

启动线程

2.创建线程的三种方式及对比

1. 继承Thread类
2.实现Runnable接口
3.实现Callable接口

Thread类是单继承的 

实现Runnable接口可以解决单继承问题

实现Callable接口相比Runnable接口来说可以接收返回值

3.线程的生命周期

新建,就绪,执行,阻塞,消亡

4.字节流和字符流的区别

字节组成 字符组成

前者操作字节 后者操作字符

字符流=字节流+编码表

5.Java中流类的超类主要有哪些

InputStream字节输入流所有类的超类

OutputStream字节输出流所有类的超类

Reader是字符串输入流的祖先

Writer是输出字符串的祖先。

6.FileInputStream和FileOutputStream是什么

文件输入流 文件输出流

实现文件的复制

7.session与cookie区别

存储位置: Cookie 是将数据存储在客户端, Session 将数据存储在服务端。

安全性: Cookie 不安全, Session 安全
数据大小: Cookie 最大3KB, Session 无大小限制
存储时间: Cookie 可以通过 setMaxAge ()长期存储, Session 默认30分钟。

服务器性能: Cookie 不占服务器资源, Session 占用服务器资源

8.JDBC流程

1.导入jar包

2.添加为库

3.注册驱动

4.创建链接

5.预执行sql

6.执行sql

7.关流

8.给问号赋值

9.HTTP结构

请求头:浏览器信息

请求行:请求方式 请求地址 get请求的数据

请求体:post 传递的数据   

10.HTTP头部有哪些字段

Accept-Charset 首部字段可用来通知服务器用户代理支持的字符集及
字符集的相对优先顺序。

Accept-Encoding 首部字段用来告知服务器用户代理支持的内容编码及
内容编码的优先级顺序。

set-cookie

11.说说你知道的状态码

1xx:信息,请求收到,继续处理 

100 Continue
继续。客户端应继续其请求
2xx:成功,行为被成功地接受、理解和采纳 

200 OK
请求已成功
3xx:重定向,为了完成请求,必须进一步执行的动作 

301 Moved Permanently(永久重定向)

302 Found(临时重定向)
4xx:客户端错误,请求包含语法错误或者请求无法实现 

400 Bad Request (语法错误)

404 Not Found(未找到)

408 Request Time-out(请求超时)
5xx:服务器错误,服务器不能实现一种明显无效的请求 

500Internal Server Error(服务器内部错误)

11.乐观锁和悲观锁

乐观锁:就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态,乐观锁认为竞争不总是会发生,因此它不需要持有锁

悲观锁:还是像它的名字一样,对于并发间操作产生的线程安全问题持悲观状态,悲观锁认为竞争总是会发生,因此每次对某资源进行操作时,都会持有一个独占的锁,然后再操作资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值