摘要: Servlet生命周期分为实例化、初始化、响应请求调用service()方法、消亡阶段调用destroy()方法。 执行过程如下: 1)当浏览器发送一个请求地址,tomcat会接收这个请求 2)tomcat会读取项目中的web.xml中的配置 3)当请求地址符合servlet-mapping标签映射 阅读全文
posted @ 2017-08-02 16:16 IT改变世界 阅读(984) 评论(0) 推荐(0) 编辑
摘要: HashMap和Hashtable之间的区别 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。H 阅读全文
posted @ 2017-04-08 16:54 IT改变世界 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 进程:由程序段、相关的数据段和PCB三部分便构成了进程实体进程的特征:动态性、并发性、独立性、异步性进程的三种状态:就绪(Ready)状态 执行(Running)状态 阻塞(Block)状态 临界区:人们把在每个进程中访问临界资源的那段代码称为临界区。 同步机制应遵循的规则 (1)空闲让进 (2)忙 阅读全文
posted @ 2017-04-05 08:33 IT改变世界 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式的升级版--工厂方法模式 简单工厂模式:属于创建型模式,又叫静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 简单工厂类: //简单面包工厂类 public class BreadFactory{ public static BreadMaker MakeBread(int breadType){ ... 阅读全文
posted @ 2017-03-23 16:37 IT改变世界 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类 阅读全文
posted @ 2017-02-15 11:14 IT改变世界 阅读(229) 评论(1) 推荐(0) 编辑
摘要: 对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决我们的问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲 阅读全文
posted @ 2017-02-15 10:55 IT改变世界 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。 ◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 考 阅读全文
posted @ 2016-05-06 20:40 IT改变世界 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: ArrayList定义 ArrayList概述 ArrayList以数组实现,允许重复。超出限制时会增加50%的容量(grow()方法中实现,如下所示),每次扩容都底层采用System.arrayCopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建数组的大小为10. 阅读全文
posted @ 2016-05-02 09:56 IT改变世界 阅读(230) 评论(0) 推荐(0) 编辑
摘要: js里面的data对象的运行 很实用的东西,, 直接上代码: 阅读全文
posted @ 2016-05-02 09:38 IT改变世界 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨的大家庭中,最受开发者喜爱的五个Android库。希望通过对它们的了解,能够对你的开发工作有所帮助。 阅读全文
posted @ 2016-05-02 09:30 IT改变世界 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 特性(ACID) 原子性:原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对 阅读全文
posted @ 2017-08-10 17:00 IT改变世界 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 一. load加载方式 当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。 二.Get加载 阅读全文
posted @ 2017-08-10 16:42 IT改变世界 阅读(126) 评论(0) 推荐(0) 编辑
摘要: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。 MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的对象映射成数据库中的记录。 优缺点 简单易学、 灵活、解除sql与程序代码 阅读全文
posted @ 2017-08-10 16:41 IT改变世界 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例 阅读全文
posted @ 2017-08-10 16:38 IT改变世界 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 归并排序(Merging Sort)就是将两个或两个以上的有序表合并成一个有序表的过程。将两个有序表合并成一个有序表的过程称为2-路归并,2-路归并最为简单和常用。 算法思想: 假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[ n/2 ]个长度为2或1 阅读全文
posted @ 2017-08-10 16:25 IT改变世界 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 交换排序的基本思想是:两两比较待排序记录的关键字,一旦发现两个记录不满足次序要求时则进行交换,直到整个序列全部满足要求为止。 交换排序算法分为冒泡排序和快速排序 冒泡排序(Bubble Sort)是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,从而使关键字小的记 阅读全文
posted @ 2017-08-09 22:35 IT改变世界 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 插入排序算法分为直接插入、折半插入和希尔排序 1.直接插入排序 直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。 算法步骤 (1)设待排序的记录存放在数组list[1....n]中, (2)循环n-1次,每次使用顺序查找法, 阅读全文
posted @ 2017-08-09 10:41 IT改变世界 阅读(216) 评论(0) 推荐(0) 编辑