摘要: 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet之类集合的最大不同处,HashSet之类的集合不可以按 阅读全文
posted @ 2017-07-20 16:59 legends 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 要实现comparable/comparator的接口。 阅读全文
posted @ 2017-07-20 16:48 legends 阅读(790) 评论(1) 推荐(0) 编辑
摘要: Collection:List列表,Set集合 Map:hashMap,hashTable,TreeMap Collection:是单列集合 List 元素是有序的、可重复的 有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。 可以根据元素的整数索引(在列表中的位置)访问元 阅读全文
posted @ 2017-07-20 16:43 legends 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 主要相同点:lock能完成synchronized所实现的所有功能 主要不同点:lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而lock一定要求程序员手工释放,并且必须在finally从句中释放。lock还有更强大的功能,例如,它的tryLo 阅读全文
posted @ 2017-07-20 16:01 legends 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一个程序中可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个线程上都关联有要执行的代码,即可以有多段程序代码同时运行,每个程序至少都有一个线程,即main方法执行的那个线程。如果只是一个cup,它怎么能够同时执行多段程序呢,从宏观上来看,CPU一会执行a线索,一会执行b线索,切换时间 阅读全文
posted @ 2017-07-20 15:52 legends 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: 通过继承抽象类实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。 阅读全文
posted @ 2017-07-18 17:33 legends 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Servlet的生命周期分为三个阶段: 1,初始化阶段,调用init()方法; 2,响应客户端请求阶段,调用service()方法 2,终止阶段,调用destory()方法 Servlet初始化阶段 在下列时候Servlet容器装载到Servlet; 1,Servlet容器启动时自动装载某些Serv 阅读全文
posted @ 2017-07-18 17:13 legends 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 线程同步: 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。 实现同步机制的方法: 1:同步代码块 Synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据 2:public Sy 阅读全文
posted @ 2017-07-17 18:23 legends 阅读(1749) 评论(0) 推荐(0) 编辑
摘要: 在服务器上,通过session来区分每一个上网用户,用户只要连上服务器,就会立即分配一个Session 给用户 Session 主要方法: 服务器上通过session给每一个用户分配一个不会重复的session ID,sessionID 是由服务器统一管理的,人为不能控制。 session.getI 阅读全文
posted @ 2017-07-17 16:41 legends 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: Overload是重载的意思,Override是覆盖的意思。 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数列表或者参数类型不同) 重写Override表示子类中的方法可以与父类的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将 阅读全文
posted @ 2017-07-17 16:15 legends 阅读(185) 评论(0) 推荐(0) 编辑