1.spring里面的注解有哪些?spring
@Component 是全部受Spring 管理组件的通用形式,@Component注解能够放在类的头上@Component不推荐使用。设计模式
@controller 对应表现层的Bean数组
@ Repository 对应数据访问层Bean浏览器
@Autowired顾名思义,就是自动装配,是spring注解安全
@Resource后面没有任何内容,默认经过name属性去匹配bean,找不到再按type去匹配,是j2ee注解session
2.线程建立的方式有哪几种?数据结构
两种 一种是extend thread类,还有一种是实现runable接口。通常咱们都是用实现。由于继承只能继承一个,而实现能够实现多个接口,还能再继承。多线程
3.线程的安全性问题,怎么解决?并发
两个或者两个以上的线程去争夺或者访问同一个资源,就会引起一些问题,因为每一个线程执行的过程是不可控的,因此极可能致使最终的结果与实际上的愿望相违背或者直接致使程序出错。mvc
基本上全部的并发模式在解决线程安全问题上,都采用“序列化访问临界资源”的方案,即在同一时刻,只能有一个线程访问临界资源,也称同步互斥访问。一般来讲,是在访问临界资源的代码前面加上一个锁,当访问完临界资源后释放锁,让其余线程继续访问。在Java中,提供了两种方式来实现同步互斥访问:synchronized和Lock。
4.http底层 http的一些方法
http1.0定义了get post head
http1.1定义了options, put, delete, trace 和 connect
5.get和post的区别
Get是安全的和幂等的 以get?参数&参数这种形式将参数显示在地址栏上,是不安全的
get容许传输的数据会受到限制,所以get的传输效率要比较高
Post 一般用于表单提交,不带参数,比较安全,容许传输大量数据
但这二者的保密性都是不强的
6.springmvc的运行原理
浏览器发送http请求到DispatcherServlet, DispatcherServlet寻找一个或者多个handmapping处理器,而后调用处理器找处处理请求的controller,controller经过调用modelandview模型处理业务,将结果返回到DispatcherServlet,DispatcherServlet经过视图解析印射(ViewResolver)将模型数据传给view显示,http将view显示在浏览器上
7.Spring中的ioc和aop用到了哪一种设计模式
ioc 控制反转,ioc对象的生成交给spring容器完成DI(Dependency Injection),依赖注入等价于Aop面向切面
ioc用到的是工厂设计模式,经过sessionfactory去注入实例
Aop用到的是代理模式,主要是动态代理跟静态代理两种模式
8.list set map
List特色:继承了Collection,元素有放入顺序,元素可重复
Set : 继承了Collection,存入Set的每一个元素都必须是惟一的,由于Set不保存重复元素。加入Set的元素必须定义equals()方法以确保对象的惟一性。Set与Collection有彻底同样的接口。Set接口不保证维护元素的次序
Map 是一种把键对象和值对象映射的集合,它的每个元素都包含一对键对象和值对象。 Map没有继承于Collection接口 从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。 get(Object key):得到与关键字key相关的值 。Map集合中的键对象不容许重复,也就说,任意两个键对象经过equals()方法比较的结果都是false.
9.Array list linked list
10.hashmap和hashtable
11.stringbuffer跟stringbuild
StringBuffer是可变类,任何对它所指代的字符串的改变都不会产生新的对象,StringBufferd支持并发操做,线性安全的,适 合多线程中使用.StringBuilder不支持并发操做,线性不安全的,不适合多线程中使用