冲啊
1.生成对象有几种方式?
答:①用new语句创建对象,这是最常见的bai创建对象的方法。
②运用反射手段
③调用对象的clone()方法。
④运用反序列化手段
2.List和set集合的区别?
答:List:
1.可重复添加
2.使用线性存储
3.存入与取出顺序一致
Set:
1.不可重复添加
2.使用哈希表存储
3.存入与取出顺序不一致
3.Mybatis中#和$的区别?
答:#传入的参数在SQL中显示为字符串,#方式能够很大程度防止sql注入;$传入的参数在SqL中直接显示为传入的值,$方式无法防止Sql注入。
4.overloading和overriding的区别,overloading可以改变返回类型吗?
答:overloading是重载,在一个类中具有相同的方法名,但是可以有不同的参数,其返回类型也不一样。
overriding是重写,子类重写父类的方法,也就是父类的方法满足不了子类的需求,其方法名,参数一样,方法体,返回类型不一样
overloading可以改变返回类型。
5.session和cookie的区别?
答:1.cookie数据存放在客户的浏览器上,session数据放在服务器上
2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
6.JAVA的三大特性?
答:封装、集成、多态。
7.异常和错误的区别?
答:1.Error(错误)表示系统级的错误和程序不必处理的异常,一般是指与zhi虚拟机相关的问题,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。
2.Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。
Exception又分为运行时异常,受检查异常。
运行时异常,表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。
受检查异常,是表示程序可以处理的异常,也即表示程序可以修复(由程序自己接受异常并且做出处理), 所以称之为受检查异常。
8.throw和throws的区别?
答:throw是语句抛出一个异常,写在方法中;throws是方法可能抛出异常的声明,用在方法后面。
9.switch(x),x可以填什么?
答:byte,short,int,char,string,枚举(enum)
10.aop是什么?
答:在面向对象编程(oop)思想中,我们将事物纵向抽成一个个的对象。而在面向切面编程
- 转发地址栏路径不变
- 转发只能访问当前服务器下的资源
- 转发是一次请求,可以使用request对象来共享数据
重定向(forward)的特点
- 地址栏发生变化
- 重定向访问其他站点(服务器)的资源
- 重定向是两次请求。不能使用request对象来共享数据
32.Page和PageContent的区别?
答:pageContext和page都是jsp中的隐含对象,pageContext代表jsp页面的上下文关系,能够调用、存取其他隐含对象;page代表处理当前请求的时候,这个页面的实现类的实例。
33.redis的持久方式有哪些?
答:两种持久化方式,第一种是RDB,第二种是AOF
RDB持久化: 在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储 。
AOF持久化:AOF 机制对每条写入命令作为日志,以 append-only 的模式写入一个日志文件中,在 redis 重启的时候,可以通过回放 AOF 日志中的写入指令来重新构建整个数据集。
RDB的优缺点:
-
一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数 据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。
-
相对于 AOF 持久化机制来说,直接基于 RDB 数据文件来重启和恢复 redis 进程,更加快速。
-
RDB 对 redis 对外提供的读写服务,影响非常小,可以让 redis 保持高性能,因为 redis 主进程只需要 fork 一个子进程,让子进程执行磁盘 IO 操作来进行 RDB 持久化即可。
-
对于灾难恢复而言,RDB是非常不错的选择。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。
-
如果想要在 redis 故障时,尽可能少的丢失数据,那么 RDB 没有 AOF 好。一般来说,RDB 数据快照文件,都是每隔 5 分钟,或者更长时间生成一次,这个时候就得接受一旦 redis 进程宕机,那么会丢失最近 5 分钟的数据。
-
RDB 每次在 fork 子进程来执行 RDB 快照数据文件生成的时候,如果数据文件特别大,可能会导致对客户端提供的服务暂停数毫秒,或者甚至数秒。
-
AOF 可以更好的保护数据不丢失,一般 AOF 会每隔 1 秒,通过一个后台线程执行一次fsync操作,最多丢失 1 秒钟的数据。
-
AOF 日志文件以append-only模式写入,所以没有任何磁盘寻址的开销,写入性能非常高,而且文件不容易破损。 如果我们本次操作只是写入了一半数据就出现了系统崩溃问题,不用担心,在Redis下一次启动之前,我们可以通过redis-check-aof工具来帮助我们解决数据 一致性的问题。
-
AOF 日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。因为在rewrite log 的时候,会对其中的指令进行压缩,创建出一份需要恢复数据的最小日志出来。在创建新日志文件的时候,老的日志文件还是照常写入。当新的 merge 后的日志文件 ready 的时候,再交换新老日志文件即可。 因此在进行rewrite切换时可以更好的保证数据安全性。
-
AOF以一个格式清晰、易于理解的日志文件用于记录所有的修改操作, 非常适合做灾难性的误删除的紧急恢复。 比如有人不小心用flushall命令清空了所有数据,只要这个时候后台rewrite还没有发生,那么就可以立即拷贝 AOF 文件,将最后一条flushall命令给删了,然后再将该aof文件放回去,就可以通过恢复机制,自动恢复所有数据。
-
对于相同数量的数据集而言,AOF文件通常要大于RDB文件。RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
-
AOF 开启后,支持的写 QPS 会比 RDB 支持的写 QPS 低, 因为 AOF 一般会配置成每秒 fsync 一次日志文件。
-
类似 AOF 这种较为复杂的基于命令日志 / merge / 回放的方式,比基于 RDB 每次持久化一份完整的数据快照文件的方式,更加脆弱一些,容易有 bug。
34.redis的主从工作方式?
35.springMvc常用注解有哪些?

浙公网安备 33010602011771号