java面试总结

面试大全:https://zhuanlan.zhihu.com/p/38443542?utm_source=wechat_session&utm_medium=social&utm_oi=608970016025088000

java基本类型(8类)

整数类型:byte short int long 浮点类型:float double   字符: char    布尔:  boolean

list和set,map的区别

list:实现collection接口

1.允许有重复对象

2.可以插入多个空元素

3.是一个有序容器,记录了每个元素的插入顺序,输出的顺序就是插入的顺序

4.常用实现类,ArrayList、LinkList和Vector。ArrayList提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。

set:实现collection接口

1.不允许对象重复

2.只能有一个空值

3.容器内元素是无序的

4.主要有HashSet,LinkHashSet,TreeSet。最常用的HashSet。TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器。

map:是一个接口,是键值对的形式。

1.键唯一,值可重复

2.只能有一个null键,但是可以有多个null值

3.主要有HashMap,TreeMap等。

Java中的String,StringBuilder,StringBuffer三者的区别

运行速度上:StringBuilder>StringBuffer>String,String为字符常量,StringBuilder和StringBuffer为字符变量。修改String时,会生成新的字符串对象。而后两个不需要。

1)字符修改上的区别(主要)

String:不可变字符串;

StringBuffer:可变字符串、效率低、线程安全;

StringBuilder:可变字符序列、效率高、线程不安全;

(2)初始化上的区别,String可以空赋值,后者不行,报错

static

静态修饰符,static修饰的成员变量和成员方法,不需要实例化对象即可直接访问。对象不需要实例即可调用

error和exception的区别

Exception:

1.可以是可被控制(checked) 或不可控制的(unchecked)。

2.表示一个由程序员导致的错误。

3.应该在应用程序级被处理。

Error:

1.总是不可控制的(unchecked)。

2.经常用来用于表示系统错误或低层资源的错误。

3.如何可能的话,应该在系统级被捕捉。

3.get post put delete的区别

1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。

Sesson和Cookie ,如何实现sesson会话保持

区别

1.存放位置:

  session保存在服务器,cookie保存在客户端

2.存放的形式:

  session是以对象的形式保存在服务器,cookie以字符串的形式保存在客户端

3.用途:

  session适合做客户的身份验证,cookie适合保存用户的个人设置,爱好等

4.路径:

  session不能区分路径,同一用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;cookie中如果设置了参数路径,那么同一个网站下的cookie互相访问不到

5.安全性:

  cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,session较cookie更安全一些

6.大小及数量限制:

  单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。不同浏览器所含cookie的最大个数不同,一般30到50个;一般认为session没有大小限制

联系:

  session需要借助cookie才能正常工作,如果客户端完全禁止cookie,session将失效,因为session是由应用服务器维持的一个服务端的存储空间,用户在连接服务器时,会由服务器生成唯一的sesssionid,用该sessionid为标识来存取服务端的session空间。而sessionid存储在cookie中,用户提交页面时会将这个sessionid提交到服务端,来存取session数据.这一过程是不用开发人员干预的,所以一旦客户端禁用cookie,那么session也会失效;

另外:

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE

sessionid是服务器和客户端链接时候随机分配的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值