spring环境搭建: 一:导入spring2.5所需的包,在classpath目录下建一个名为"beans.xml"模板文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLS…
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁(实际上就是对哈希表加锁). 2. ConcurrentHashMap的内部结构: ConcurrentHashMap为了提高本身…
1,ioc的概念 Inverse of control ,控制反转,实际的意义是调用类对接口实现类的依赖,反转给第三方的容器管理,从而实现松散耦合: ioc的实现方式有三种,属性注入,构造函数注入,接口注入,常用的是前面两种,后面的对类的侵入性太大,一般不用: spring就是一个第三方的依赖管理+容器,很轻松高效的实现了实例的创建,依赖关系的管理等底层功能,此外,还有Guice,plexus等第三方容器. 2,反射 每个对象在jre中都有一个Class对象,保存着它的元数据信息,通过Class…
//todo 5,spring MVC的本地化解析,文件上传,静态资源处理,拦截器,异常处理等 spring MVC 默认使用AcceptHeaderLocalResolver,根据报文头的Accept-Language参数来确定本地化类型: 此外还可以使用CookieLocalResolver和SessionLocalResolver,如果想从每次请求的参数中获取本次请求对应的本地化类型,采用LocalChangerIntercepter拦截器: 有空写个实现国际化的实例... spring实…
4,spring MVC的视图 Controller得到模型数据之后,通过视图解析器生成视图,渲染发送给用户,用户就看到了结果. 视图:view接口,来个源码查看:它由视图解析器实例化,是无状态的,所以线程安全. spring mvc提供是视图种类如图所示,根据需要选择合适的视图: 视图解析器:值提供一个把视图名称,结合本地化得到视图实例的方法: spring mvc提供的具体视图解析器有,除去两个抽象的,一共有14个:用户可选择多个视图解析器,通过orderNo指定优先级,默认的ContenN…
2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面对它的参数给点简单的说明,每个参数可以同时使用,他们之间是与的关系 参数名 意义 补充说明 value url的全称 支持ant风格和占位符(入参中使用@PathVariable取得占位符的数据),实现REST风格的关键 param 请求参数 限定参数名称 method 请求方法 最佳实践是get方…
1,spring MVC的流程 优秀的展现层框架-Spring MVC,它最出彩的地方是注解驱动和支持REST风格的url.   流程编号 完成的主要任务 补充 1 用户访问web页面,发送一个http请求到服务器端的DispatcherServlet 或发送一个ajax请求 2 服务器启动的时候加载spring-mvc的配置文件,扫描@Controller注解,得到一个HanderMapping (姑且把它叫做url,处理适配器映射,即Map<String,Class> ,String:用户…
1. 为了更符合要求: 这次的数据就看成是学生对象. 传智播客 bj 北京校区 jc  基础班 林青霞 27     风清扬 30      jy  就业班   赵雅芝 28  武鑫 29 sh 上海校区  jc 基础班  郭美美 20  犀利哥 22  jy 就业班   罗玉凤 21  马征 23   gz 广州校区  jc 基础班  王力宏 30  李静磊 32  jy 就业班  郎朗 31  柳岩 33        xa 西安校区  jc 基础班  范冰冰 27  刘意 30  jy 就…
1. HashMap嵌套HashMap  传智播客          jc    基础班                      陈玉楼  20                      高跃     22          jy    就业班                      李杰     21                      曹石磊  23  先存储元素,然后遍历元素 2. 代码示例: package cn.itcast_05; import java.util.Hash…
1. Collection集合的基本功能测试: package cn.itcast_01; import java.util.ArrayList; import java.util.Collection; /* * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢? * 数…
1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢?数组和StringBuffer.但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求,因为数组的长度是固定的,这个时候,为了适应变化的需求…
原文:http://android.eoe.cn/topic/android_sdk 拼写检查器框架 Android平台提供了一个拼写检查器的框架,来方便你在你的应用中实现并使用拼写检查.这个框架是Android平台提供的文字服务API之一. 要在你的应用中使用该框架,你需要创建一个特殊的AndroidService来生成一个拼写检查器会话对象.这个会话对象会基于你提供的文字,来返回拼写检查器生成的拼写建议. 以下的图表显示了拼写检查器服务的生命周期: http://developer.andr…
至于Hashtable的实现原理,直接参考网友的博客,总结很全面: 深入Java集合学习系列:Hashtable的实现原理…
1. 哈希表数据结构(数组): 2. 哈希表确定元素是否相同: (1)判断的是两个元素的哈希值是否相同                     如果相同,再判断两个对象内容是否相同 (2)判断哈希值相同,其实判断的是对象的hashCode的方法.         判断内容相同,其实使用的equals()方法 注意:如果哈希值不同,是不需要判断equals() 3. 哈希冲突: (1)哈希冲突的含义:         哈希表,可以快速的查询一个对象在内存里的位置,进行引用.        hash…
1. Collection add() remove() contains() iterator() size() 遍历: 增强for 迭代器 |--List get() 遍历: 普通for |--Set 2. Map put() remove() containskey(),containsValue() keySet() get() value() entrySet() size() 遍历: 根据键找值 根据键值对对象分别找键和值…
1. 到底使用那种集合.    看需求 是否是键值对象形式: 是:Map 键是否需要排序: 是:TreeMap 否:HashMap 不知道,就使用HashMap. 否:Collection 元素是否唯一: 是:Set   元素是否需要排序:    是:TreeSet    否:HashSet         不知道,就使用HashSet       否:List    要安全吗:  是:Vector(其实我们也不用它,后面我们讲解了多线程以后,我在给你回顾用谁)       否:ArrayLis…
1. 集合 (1)Collection(单列集合) List(有序,可重复):                         ArrayList:底层数据结构是数组,查询块,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删块.线程不安全,效率高. Set(无序,唯一): HashSet:底层数据结构是哈希表,哈希表依赖于两个方法:hashCode()和equals().   执行顺序: 首先判…
1. 模拟斗地主洗牌和发牌并对牌进行排序的原理图解: 2. 代码实现: 思路: • 创建一个HashMap集合 • 创建一个ArrayList集合 • 创建花色数组和点数数组 • 从0开始往HashMap里面存储编号,并存储对应的牌 同时往ArrayList里面存储编号即可. • 洗牌(洗的是编号) • 发牌(发的也是编号,为了保证编号是排序的,就创建TreeSet集合接收) • 看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌) package cn.itcast_04;…
1. 模拟斗地主洗牌和发牌 分析:     A:创建一个牌盒     B:装牌     C:洗牌     D:发牌     E:看牌 2. 代码实现: package cn.itcast_03; import java.util.ArrayList; import java.util.Collections; /* * 模拟斗地主洗牌和发牌 * * 分析: * A:创建一个牌盒 * B:装牌 * C:洗牌 * D:发牌 * E:看牌 */ public class PokerDemo { pub…
1. ArrayList存储自自定义对象并排序的案例: ArrayList存储自自定义对象,并使用Collections对ArrayList存储基本包装类的元素排序. 2. 代码实现: (1)Student.java: package cn.itcast_02; /** * @author Administrator * */ public class Student implements Comparable<Student> { private String name; private i…
1. Collections类概述: 针对集合操作的工具类,都是静态方法.  2. Collection 和 Collections的区别: Collections是个java.util下的类,它包含有各种有关集合操作的静态方法. Collection是个java.util下的接口,它是各种集合结构的父接口. List, Set就是继承自Collection接口. 3. Collections类的成员方法(常用的): public static <T> void sort(List<T&…
1. HashMap和Hashtable区别 ? • Hashtable:线程安全,效率低.不允许null键和null值 • HashMap:线程不安全,效率高.允许null键和null值 package cn.itcast_07; import java.util.Hashtable; /* * 1:Hashtable和HashMap的区别? * Hashtable:线程安全,效率低.不允许null键和null值 * HashMap:线程不安全,效率高.允许null键和null值 * */ p…
1. ArrayList集合嵌套HashMap集合并遍历.  需求:         假设ArrayList集合的元素是HashMap.有3个.         每一个HashMap集合的键和值都是字符串.         元素我已经完成,请遍历. 结果:      周瑜---小乔      吕布---貂蝉       郭靖---黄蓉      杨过---小龙女      令狐冲---任盈盈     林平之---岳灵珊 2. 代码示例: package cn.itcast_05; import…
1. ArrayList集合嵌套HashMap集合并遍历. 需求:假设ArrayList集合的元素是HashMap.有3个.每一个HashMap集合的键和值都是字符串.元素我已经完成,请遍历. 结果:    三国演义    吕布    周瑜    笑傲江湖    令狐冲    林平之    神雕侠侣    郭靖    杨过 2. 代码示例: package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; im…
1. 首先我们看看统计字符串中每个字符出现的次数的案例图解: 2. 代码实现: (1)需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1) 分析:   A: 定义一个字符串(可以改进为键盘录入)   B: 定义一个TreeMap集合            键: Character            值:Integer   C: 把字符串转换为字符数组   D: 遍历字符数组,得到每一个字符   E: 拿刚才得…
1. TreeMap(TreeMap<Student,String>)的案例 2. 案例代码: (1)Student.java: package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.…
1. TreeMap类的概述: 键是红黑树结构,可以保证键的排序和唯一性. 2. TreeMap案例: TreeMap<String, String> 代码示例: package cn.itcast_04; import java.util.Set; import java.util.TreeMap; /* * TreeMap:是基于红黑树的Map接口的实现. * * HashMap<String,String> * 键:String * 值:String */ public cl…
1. LinkedHashMap类的概述 LinkedHashMap:Map接口的哈希表(保证唯一性) 和 链接(保证有序性)列表实现,具有可预知的迭代顺序. 2. 代码示例: package cn.itcast_03; import java.util.LinkedHashMap; import java.util.Set; /* * LinkedHashMap:是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序. * 由哈希表保证键的唯一性 * 由链表保证键盘的有序(存储和取出的顺序一…
1. HashMap集合(HashMap<Student,String>)的案例 HashMap<Student,String>键:Student      要求:如果两个对象的成员变量值都相同,则为同一个对象.值:String HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap 中键作为对象必须重写Object的hashCode()方法和equals()方法 HashMap 底层是哈希表,哈希表的实现依赖于hashCode()…
1. HashMap集合(HashMap<String,Student>)的案例 HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap的底层是利用hash算法算出键对应的哈希码,然后我们把值存放在这个哈希码对应的存储位置.当我们需要取出这个值的时候,我们利用hash算法算出键对应的哈希码,然后就可以快速定位到哈希码对应的存储地方的值. 哈希表结构主要作用:快速定位查找. 2. 代码示例: (1)Student.java: package cn…