java 面试题1(基础)

2018-03-06  本文已影响0人  vincky倩

1、请简述http协议中get请求和post请求的区别 可参考此文章

1、GET - 从指定的资源请求数据。

查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: 1 /test/demo_form.asp?name1=value1&name2=value2

 1) 请求可被缓存 2) 请求保留在浏览器历史记录中 3) 请求可被收藏为书签 4) 请求不应在处理敏感数据时使用 5) 请求有长度限制 6) 请求只应当用于取回数据

2、Post,它是可以向服务器发送修改请求,从而修改服务器的( 向指定的资源提交要被处理的数据。)。

POST方法 查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

  1 POST /test/demo_form.asp HTTP/1.1

  2 Host: test.com

  3 name1=value1&name2=value2

   1)请求不会被缓存 2) 请求不会保留在浏览器历史记录中 3) 不能被收藏为书签 4) 请求对数据长度没有要求

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

线程与进程的关系

一个程序最少需要一个进程,而一个进程最少需要一个线程。

关系是线程-->进程-->程序的大致组成结构。

所以线程是程序执行流的最小单位,而进程是系统进行资源分配和调度的一个独立单位

一个进行可以有多个线程。

maven出现版本冲突如何解决?

方法一:pom里找到相应的jar用Exclusions去掉他的依赖传递

方法二:在父级pom中使用dependencyManagement管理公用的jar版本,子类中引入自己需要的jar版本,maven会优先使用子类的jar。

struts2的与springmvc的区别?

他们都实现类 MVC

 struts2:请求 >> 过滤器 >> 拦截器 >> action ( 属性包装)>>业务方法

springmvc:请求 >> servlet >> Action>>业务方法

你可以把List传递给一个接受List参数的方法吗?

不可以

Error和exception有什么区别?

  Error 不可修复错误

 Exception 异常

Int和Integer有什么区别?

int 基本数据类型  Integer 类

sendRedirect和foward区别 ?

  sendRedirect 重定向 foward 转发

Tomcat部署项目有几种方式?

1)webapps :把项目war包放到webapps目录下面,访问地址为:localhost:8080/myweb/index.jsp

2)ROOT:把解压后项目里面的内容直接放到root目录下面,访问地址为:localhost:8080/index.jsp(没有项目名称,直接访问页面即可)

3)conf/server.xml >>Context 部署外部的app程序

Try{} 里有一个return语句,那么紧跟在这个try后的finally{} 里的code会不会被执行,什么时候被执行,在return前还是后?

1、try{ return 100; }finally{ //代码 } finally 先执行 然后返回100   

2、在return 前执行finally

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其他方法?

同一个对象中同步方法只能被一个线程访问,不能同时几个线程访问同步方法

2、请简述session和cookie的区別.参考文章

cookie数据保存在客户端(浏览器)。

session数据保存在服务器端。

.简述Servlet与JSP的关系

1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)

2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.

3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

JSP内置对象有哪些,各自起到的作用参考文章

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception

HashTable和HashMap区别

1、继承的父类不同

Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 2、线程安全性不同

Hashtable 是线程安全的,HashMap是线程不安全的。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步,但使用HashMap时就必须要自己增加同步处理。

3、是否提供contains方法

 HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey,因为contains方法容易让人引起误解。

Hashtable则保留了contains,containsValue和containsKey三个方法,其中contains和containsValue功能相同。

4、key和value是否允许null值

Hashtable中,key和value都不允许出现null值,HashMap可以。

ArrayList和LinkedList的区别

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

 总结

频繁查询数据,用ArrayList 频繁对数据增删改,用LinkedList

上一篇 下一篇

猜你喜欢

热点阅读