java cookie 只能获取一部分_Java面试基础知识

1.拷贝文件,一般使用字符流,还是字节流?

采用字节流,原因是字符是根据字符复制,字节是根据二进制进行复制,比如音频文件的复制就需要字节流复制。

2.线程的几种实现方式?
  • 通过继承Thread类实现。
  • 通过实现Runnable接口

继承的扩展性不强,java支持单继承。

怎么启动线程?怎么区分?

调用Thread thread=new Thread(继承了thread对象/实现了Runnable)

直接调用thread. start(),

启用线程使用start()方法,调用后执行的是run方法。

区分可以使用thread.setName("名称");

这是一种规范,在创建线程以后都需要创建名称。

3.有没有使用过线程并发库?

多线程使用的是Java.util.current包,这个包是对线程的管理/优化。

java通过Executors提供四个线程池,分别为:

  • NewCatchedThreadPool:创建一个可缓存的线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无回收,则创建新的线程。
  • NewFixThredPool:
  • newSchedulThreadPool:
  • newSingleThreadExecutor:

线程池的作用:

  • 限定线程的作用,不会导致由于线程过多导致系统变慢/崩溃
  • 线程池不需要每次都去创建或销毁,节约资源
  • 相应时间快
4.什么是设计模式?常用的设计模式有哪些?

什么是设计模式:就是前人总结的,处理某种问题的一种方法。

单例模式(懒汉模式/饿汉模式:):

  • 构造私有方法,只能让自己的类创建
  • 在自己的类中创建一个单实例(懒汉模式是需要时才创建,饿汉模式就是一开始初始化就加载)
  • 提供获取该实例对象的一个方法。

SpringIOC:使用的是工厂模式

SpringAOP:是用了动态代理模式

5、讲一下get/post的需求问题
  • 共同点:都是通过http请求完成不同的操作
  • 不同点:get会把参数放在浏览器中,post会放在http请求的包体中,get限制请求长度,不安全。post不会因为地址长度,而限制传输数据的长度,更安全。
  • get:一般用于获取/查询信息
  • post:一般用来做插入/添加
6、说一下你对servlet的理解

是用java编写的服务端的程序,这些servlet都需要实现servlet的接口,主要是交互式的浏览修改数据。继承Httpservlet,重写doPost/doGet.完成用户相应的操作。

简单说一下servlet的周期?

启动时加载servle,容器调用init,请求达到时运行service,结束时调用destory。

加载sevlet.class-->实例化sevlet-->init-->servlet(service)--servlet容器关闭调用destory。

7、jsp的内置对象?作用?
  1. request:客户端请求
  2. response:回传数据
  3. pageContext:网页的属性在这里管理
  4. session: 与请求回话周期有关
  5. application Servlet: 正在执行的全局变量
  6. out: 输出文件,内容
  7. config: servlet的配置
  8. page jsp:网页本身
  9. exception: 网页异常

四大作用域:

pageContext/request/response/application这些可以从jstl中获取数据。

8、说一下cookie和session的区别

共同点:session和cookie都是回话跟踪。

不同点:

  • cookie通过客户端记录信息确认身份。session是通过服务端确认用户信息,但是session依赖于cookie
  • session在一定的时间保存在服务端当访问增多时占内存,考虑减轻性能是用cookie
  • 单个cookie不能超过4k数据,浏览器也限制保存个数

购物车放在cookie中,个人信息是放在session中。

但是禁用时可以是用cookie+数据库方式。

9.MVC各个实现部分

Mode:javabean

view:html/jsp

controller:Servlet/action/controller

10、讲解一下关系型数据库三范式?
  • 所谓第一范式是每一列数据都是不可以分割的,同一列中不可以有多个值,就是实体类的属性不可以是多个值,不能有重复属性。
  • 第二范式:要求数据库中的每个实例必须可以被唯一区分(主键)。
  • 第三范式:就是外键。要求数据库表中不包含已在其他表中已包含的非主关键字信息。
11.事务的基本ACID特性?

事务是并发控制的基本单位,是用户定义的一个操作序列,这些要么全做,要么不做,是一个不可分割的单位。

  • 原子性:操作事务不可分割
  • 一致性:要么成功要么失败,回滚
  • 隔离性:一个事务开启后,不i能受其他事务干扰
  • 持久性:事务开始后,就不可以终止。
12、mysql默认最大的连接数?

为什么需要最大连接数?

特定服务器上面的数据库需要支持一定数目的同时连接,在数据库有个默认配置连接数。

默认是100,在max_connection=100.

13、mysql的分页?oracle的分页?
  • mysql是limit
  • oracle:要使用三层嵌套查询:
14、触发器的是用场景?

触发器:需要有触发条件:当条件满足做自动操作?

15、数据库连接池的作用?

和线程池的作用差不多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值