当前位置: 首页 > news >正文

面经综合总结

atomicity 原子性

consistency 一致性

isolation 隔离性

durability 持久性

二、drop,truncate,delete区别

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。

​ drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。

​ 注意:truncate 不能删除行数据,要删就要把表清空。

3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存

1、递归过深引起java.lang.stackOverflowError异常

解决方法:避免使用很深递归,或者使用循环对递归方法进行替换;

2、抽象类和接口

接口:

没有构造方法

成员变量:只能是常量。默认修饰符:public static final

成员方法:jdk1.7 public abstract

jdk 1.8 可以default和static开头

接口是一种特殊的抽象方法,接口中的方法全部是抽象的(abstract可省略)

抽象类
abstract不允许修饰变量;

抽象类中的抽象方法(前面有abstract修饰)不能用private、static、synchronized、native访问符修饰;

原因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;

static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽象方法用static修饰没有意义;

synchronized关键字是为该方法加一个锁

3、String中方法

1、spilt()主要作用是对一个字符串分割成字符串数组;

2、trim()方法,把一个字符串的前后空格去掉

js trim方法 用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。

3、replace方法:支持字符串和字符替换

replace(oldChar, newChar)

replaceAll

4、charAt()返回索引指定的字符

byte short int long 1;2;4;8

float 4 double 8

char 2字节

boolean 1字节

final,finally,finalize区别

final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。

finally:异常处理语句结构的一部分,表示总是执行。

finally和catch可以两个都存在也可以只存在一个,但是try不能单独存在

catch个数 0个或多个

finalize:当对象不再被程序所使用的时候,垃圾回收器将会将其回收

,无法命令垃圾回收器马上回收资源,但是我们可以告诉他可以尽快回收,

垃圾回收器在回收某个对象的时候,首先会调用该对象的finalize()方法

sleep和wait方法

sleep是Thread类中的方法,不会马上进入运行状态;

wait是object类中的方法,一旦调用wait方法,必须使用notify和notifyall唤醒

释放锁:sleep不会释放锁资源,但wait会释放同步资源锁

使用范围:sleep可以在任何地方使用,但wait只能在synchronized的同步方法代码块中使用

异常处理:sleep需要捕获异常,而wait不需要捕获异常;

start()和run()方法区别

start启动线程,真正实现了多线程;

run()只是thread类的一个普通方法;

run()方法访问权限必须是public ,返回值是void

list,set,map三者区别

list和set都是单列集合,继承自collection接口;Map是双列集合,键值对的形式,独立接口

hashmap和hashtable区别

hashmap允许key和value为null

hashtable的key和value都不为null

hashmap初始值容量为16

hashmap中key不能重复,value可以重复

hashmap线程不安全,而hashtable线程安全

Hashtable是有序的,HashMap是无序的。

静态方法区的方法比线程的run方法先执行
list和set区别

1、list和set都是继承自collection接口

2、list特点:元素存放有序,可重复;

set特点:元素存放无序,元素不可重复,重复元素会被覆盖掉

list的实现类有Linkelsit,Arraylist,Vector。

vector的底层逻辑和arraylist一样都是动态数组,线程安全的;

linkedlist是基于双链表实现的,而arraylsit是动态数组实现的;因此linkedlist查询慢,增删快;arraylist查询快,增删慢;

set的实现类有hashset,treeset,linkedhashset,这三个类都是不可重复的,但只有hashset无序;

public:可以被所有其他类访问

protected:自身,子类及同一个包中类可以访问

default(friendly):同一包中的类可以访问,声明时没有加修饰符,认为是friendly

private:只能被自己访问和修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hneEs0af-1667397140941)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221027230752472.png)]

PreparedStateMent接口上statement的接口,它表示一条预编译过的sql语句;

PreparedStateMent可以防止sql注入

第一个参数表示设置sql语句的索引**(从一开始)**,第二个参数表示设置的值

方法重载和方法重写区别

重载;方法名相同,参数列表不同,与返回值类型无关

重写:方法名相同,参数列表相同,返回值类型相同,访问修饰符子类大于等于父类的

抛出的异常小于等于父类抛出的异常

switch作用域 byte,short,int,char,枚举类型(jdk1.5以上)
js date对象

gettime()返回自1970年1月1日00:00以来的毫秒值;

getdate()返回1-31中的某一天;

getday()返回0-6的某一天;(0代表 周日)

getyear()返回的值是当前年份-1900;

getfullyear才是返回当前年份;

mybatis框架重点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1DxMsNAb-1667397140941)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221029161903653.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vC4yfGO-1667397140942)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221029163100496.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLw7ItC7-1667397140943)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221029164018999.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n1VIzss7-1667397140943)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221029165219363.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4oMcKcI-1667397140943)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101090225307.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OxUvRk6b-1667397140944)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101092853269.png)]

jsp表达式用法:<%=Expression>

<%=表达式%>

//注意:表达式不以分号结束;

1.以下关于HttpServlet的说法中,错误的是()

A. HttpServlet的子类至少重写doGet或doPost方法之一

B. HttpServlet位于javax.servlet.http包中

C. HttpServlet类的子类至少重写service方法

D. HttpServlet是一个抽象类

答案:C

  1. Servlet程序的入口点是:()

A. service()

B. main()

C. init()

D. doGet()

答案:C

解析:servlet专门用来接收客户端的请求,专门接收客户端的请求数据,然后调用底层service处理数据并生成结果。

Servlet初始化阶段,这个阶段web容器会通过调用init()方法来初始化Servlet实例,并且传递一个能够实现

一、填空

1、Tomcat服务器的默认端口是8080。怎样修改tomcat的端口__在Tomcat下打开conf文件夹找到server.xml文件用记事本打开在中把8080更改即可,

2、异常的处理,可在该方法的代码段中包含3类代码:try、catch和finally代码块。

3、jsp主要内置对象有:Request,response,session,application, page,pagecontext, config,out,exception

4、理论上,GET是用于获取服务器信息并将其作为响应返回给客户端,POST是用于客户端把数据传送到服务器。

5、application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session对象则是每个客户专用的。

6、JDBC的主要任务是:与数据库建立连接、发送SQL语句、处理结果。

7、一个Bean由三部分组成:实现Java.io.serializable接口、提供无参数的构造方法、提供getter()和setter()方法访问它的属性。

8、JavaServlet的主要特点是:、方便、、、节省投资。运行servlet需要在___web.xml_____注册.

9、Servlet的生命周期分三个时期:装载Servlet、创建一个Servlet实例、销毁。

10、JSP开发网站的两种模式分为_____jsp+javabean___________和jsp+javabean+servlet。

二、选择题

1、下面哪一个不是JSP本身已加载的基本类?(b)

A、java.lang.*B、java.io.*C、javax.servlet.D、javax.servlet.jsp.

2、对于预定义的说法错误的是:©

A、一次可声明多个变量和方法,只要以“;”结尾就行B、一个声明仅在一个页面中有效

C、声明的变量将作为局部变量D、在预定义中声明的`变量将在JSP页面初始化时初始化

3、从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:(D)

A、Select * from员工where姓名=’玛丽’B、Select * from员工where姓名=’%玛丽_’

C、Select * from员工where姓名like ‘_玛丽%’D、Select * from员工where姓名like ‘%玛丽%’

4、下述选项中不属于JDBC基本功能的是:(D)

A.与数据库建立连接B.提交SQL语句C.处理查询结果D.数据库维护管理

5、在JSP中使用标记时,不会出现的属性是:©

A.nameB.propertyC.valueD.以上皆不会出现

6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D)

A.作用于整个JSP页面。

B.可以在一个页面中使用多个指令。

C.为增强程序的可读性,建议将指令放在JSP文件的开头,但不是必须的。

D.指令中的属性只能出现一次。

7、在JSP中调用JavaBean时不会用到的标记是:(A)

A.B. jsp:userbeanC.jsp:setPropertyD.jsp:getProperty

8、关于JavaBean正确的说法是:(A)

A、Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写

B、在JSP文件中引用Bean,其实就是用语句

C、被引用的Bean文件的文件名后缀为.java

D、Bean文件放在任何目录下都可以被引用

9、Servlet程序的入口点是:(A)

A、init()B、main()C、service()D、doGet()

10、不能在不同用户之间共享数据的方法是(A)

A、通过cookieB、利用文件系统C、利用数据库D、通过ServletContext对象

三、问答题

1.jsp有哪些内置对象?作用分别是什么?

application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

Config对象允许将初始化数据传递给一个JSP页面

Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。

Out对象代表提供输出流的访问

Page对象代表JSP页面对应的Servlet类实例

PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文

Response对象允许直接访问HttpServletResponse对象

Session对象可能是状态管理上下文中使用最多的对话

2.jsp有哪些动作?作用分别是什么?

操作被用来以“名—值”队的形式为其他标签提供附加信息

操作允许在请求是在现成的JSP页面里包含静态或者动态资源

操作允许将请求转发到另一个JSP、servlet或静态资源文件

标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围

此操作和setBean一起协作,用来设置JavaBean的属性

操作是对操作的补充,用来访问一个Bean的属性

用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean

3.JSP中动态INCLUDE与静态INCLUDE的区别?

如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用传递参数

4.两种跳转方式分别是什么?有什么区别?

操作允许在请求是在现成的JSP页面里包含静态或者动态资源

操作允许将请求转发到另一个JSP、servlet或静态资源文件

5.servlet运行的生命周期图.

装载Servlet

Servlet类Servlet初始化(调用init方法)

实例对象被回收提供服务(调用Service方法)

销毁Servlet实例(调用destroy方法)

6.在程序里怎样注册servlet.

displayChart

org.jfree.chart.servlet.DisplayChart

displayChart

/displayChart

常用jsp标签

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DvQ8HuwM-1667397140944)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221031200821577.png)]

mybatis动态sql及其作用

where,if,foreach,trim,choose when,otherwise;

mybati缓存机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuYufD8i-1667397140945)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101154656740.png)]

spring框架bean的生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lYRAH9vU-1667397140945)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101155414267.png)]

mybatis执行过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHAHvSJ8-1667397140945)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101155448619.png)]

在mybatis中#和$的区别?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9GH1CBI-1667397140945)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101155645757.png)]

#相当于占位符,$相当于字符串拼接;

mybatis如何处理一对一,一对多,多对多关系?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jCHjlAk8-1667397140946)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101155825361.png)]

resulttype和resultmap区别?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3XQgQEvT-1667397140946)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101155914700.png)]

spring自动装配方式?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t4UBjg3o-1667397140946)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101160311961.png)]

singleton和prototype区别?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-16JOxxzn-1667397140946)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101160402002.png)]

@Component @Controller @Service @Repository的区别?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-csfaWBJn-1667397140947)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101160446372.png)]

aop通知有几种?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6JNZSAn-1667397140947)(C:\Users\28344\AppData\Roaming\Typora\typora-user-images\image-20221101160604144.png)]

相关文章:

  • 网站开发创新点/外贸网络推广服务
  • 注册监理工程师注册查询系统/西安网站seo价格
  • 网站定制电话/免费发帖的网站
  • 移动端cpu/seo优化一般包括哪些内容
  • 个人网站建设的背景/镇江百度seo
  • HTML与wordpress兼容/谷歌三件套一键安装
  • LeetCode刷题复盘笔记——51. N 皇后(一文搞懂回溯解决经典的N皇后问题上篇)
  • 数据库复习带答案
  • 【服务器数据恢复】EXT3文件系统的RAID5数据恢复案例
  • 完美解决github访问速度慢和访问不通的问题
  • 蓝桥杯国奖一等奖,经历回顾
  • HDU_1018
  • 【沐风老师】怎么在3DMAX中使用MAXScript脚本动画编程?
  • OpenCV For Unity Mat容器的创建与矩阵操作基础
  • DevOps 最全版本笔记 欢迎学习
  • 网鼎杯网络安全大赛玄武组_经典的一道CTF-WriteUP-SSRFME
  • 机器学习 —— 线性回归 简单使用
  • Vue | Vue.js 组件化 知识拓展