简单总结集合,线程,ssm框架的基本概念

简单总结一下我认为身为一个程序员关于集合,线程,ssm小框架脱口而出的基本概念

集合:
Iterable --- collection --- list  --- linkedlist 链表实现   查改慢,增删快 线程不安全
      --- arraylist  数组实现   查改快,增删慢 线程不安全
      --- Vector  数组实现   线程安全
   ----set --- hashset 无序不重复 去重原理:重写hashcode和equals方法
           ---- treeset 有序不重复    实现comparable,comparator接口
map--- hashMap    都是键值对  线程不安全
   --- hashtable  线程安全
反射:
反射基于类模版
获取类模版有3种
1,类名.class
2,对象名.getClass()
3,Class.forname("全类名")
如何用反射的方法实例化一个类?
Class c = 。。。。。;
c.newInstance();  实例化一个类。
Constructory c = c.getDecalaredConstructor(aa,a,a)
c.newInstance() 通过构造函数实例化一个类。
Method m = c.getDeclaredMethod(xx,xx,xx)
m.invoke();  使用反射调用一个方法。

//使用反射的方法获得类中的方法 给方法赋值取值。
Field f = c.getDecalaredField(x,x,x)
f.set
f.get

线程
实现线程有两种方式
1,继承Thread
2,实现runable接口
启动线程的方法
1,run   顺序执行
2,start  并行执行
注意:不存在真正的并行执行。
sleep() 线程休眠    Thread类下的静态方法 不释放锁  一旦休眠进入阻塞状态
wait() 线程等待    Object类下的静态方法 释放锁   线程等待后进入就绪状态 只能放在有synchinoized修饰符下的方法或块下使用。需要notify方法来通知执行。
json
json是一种数据传输格式。
json的类型:
model
{"name":"aaa","age",18}
list
[{"name":"aaa","age",18},{"name":"aaa","age",18}]
map
{"list1":[{"name":"aaa","age",18},{"name":"aaa","age",18}],"list2":[{"name":"aaa","age",18},{"name":"aaa","age",18}]}
mybatis介绍
是一个持久层的orm框架
orm是什么? object relational mapping 对象关系映射。
特点:轻量,小巧,简单,易学。
mybaits 有哪些配置文件?
1,核心配置文件
提问:mybaits-config.xml  和 application.xml 哪个是mybaits的核心配置文件?
回答:哪个是mybaits的核心配置文件不由配置文件名称决定。由文件里的内容决定
核心配置文件里的元素都有哪些?
<configuration> 负责连接mysql
properties  有三中用法
1,properties 用resource 获取属性文件
2,properties 的子元素 property key value 的方式定义数据库连接信息。
3,即有resource,又有 property 时有优先级,resource的优先级高于property
settings  设置全局配置 log4j  自动映射aotumappin...
typealiaes  设别名
 <typealias 指定一个类,并为这个类设置别名。 alias用来设置别名 type 指定类的全类名。
 package 直接指定报名 该包名下的类,的类名就是别名

environments
 transactionManager 
 datasource
 environment
mappers 映射器
注意事项:核心配置文件中的元素顺序要按顺序,否则会报错。

2,sql映射文件
有哪些元素
mapper 有 namespace属性 指定dao接口的全类名。
CRUD  insert delete select update
resultMap  如何处理 一对一,一对多。
一对一:association 支持内部嵌套,意思就是association中可以有association 或者collection
一对多:collection 支持内部嵌套
如何复用association和collection  result?
将association和collection中的resullt 写到一个新的resultMap中 id=xxx  。用association和collection中的resultMap属性=xxx

spring
介绍:是一个轻量级的框架。是一个容器,可以整合别的框架。
spring核心概念:
IoC/DI  控制反正/依赖注入
什么是控制反转:将组建对象的控制器从代码本身转移到外部容器。
依赖注入:将类的创建和使用分开。
IoC的设计模式:简单工厂。
Aop:面向切面编程、面向方面编程。
特点:完全解耦。设计模式动态代理,
动态代理的两种方式,jdk,cglib
jdk方式的动态代理:要求有接口
cglib,不需要接口,但是需要jar包(如果用的spring,spring集成了cglib的jar包)

aop,要有
切面,
切点
前置,后置,环绕,异常增强。
使用aop有2种方式,1种是配置文件的方式,另一种是注解方式。======(注解方式一会讲)

ioc也有两种使用方式 1,注解,2,配置文件。

springmvc
什么是springmvc?
基于spring的框架
model2的框架。
处理请求和页面的框架。
mvc分别是什么意思?
model view Controller
模型试图控制器
springmvc配置文件中的常用元素有哪些
1,包扫描  context:compont-scan
2,注解驱动 mvc:annotation-driven
3,静态资源管理器 mvc:resource
4,试图解析器  resolveViewxxx  定义视图的前后缀 

使用@AspectJ注解实现aop
步骤,
1,在spring配置文件中添加context命名空间和约束。
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
2,<!-- 包扫描 -->
3,<!-- 开启aop注解驱动 -->
 <aop:aspectj-autoproxy />
注意:aspectj需要jdk5.0以上版本才能使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值