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是服务器和客户端链接时候随机分配的