摘要: MVC是面试中经常被问到问题,如果能把MVC的原理简单清楚的描述出来,肯定会在面试官的心目中加分。如果在能画图的情况下,画出一张MVC的流程图,无疑能简化不少概念上的术语,如果不能也不要紧,只要把核心的内容说清楚就行。下面是MVC的几个关键性的概念,只要记下来就不怕以后面试再问到类似的问题了。MVC的概念MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是一种设计模式,它把应用程序分为三个核心模块:模型,视图,控制器,它们各自处理自己的任务。模型是负责业务逻辑的,一般采用javabean,server层,dao层。视图是负责显示的,一般采用JSP,FreeM 阅读全文
posted @ 2013-12-05 11:00 阿Rain 阅读(1963) 评论(0) 推荐(0) 编辑
摘要: 策略模式中体现了两个非常基本的面向对象设计的原则:1.封装变化的概念。2.编程中使用接口,而不是对接口的实现。策略模式的定义:定义一组算法,将每个算法都封装起来,并使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式的意义:策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是弱连接的关系。弱连接的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。策略模式的组成1.抽象策略角色:策略类,通常由一个接口或者抽象类实现。2.具体策略角色:包装了相关的算法和行为。3.环境角色:持有一个策略类的引用,最终给客户端调 阅读全文
posted @ 2013-11-28 09:03 阿Rain 阅读(670) 评论(2) 推荐(0) 编辑
摘要: 简单介绍一下我对Singleton的理解,说的不好请大家多多指点。单例模式的简单定义就是确保一个类只有一个实例,并提供一个全局访问点。单例模式有哪些用处呢?有一些对象其实我们只需要一个,比方说:线程池,缓存,对话框,处理偏好设置和注册表的对象,日志对象,充当打印机,显卡等设备的驱动程序的对象。事实上,这类对像只能有一个实例,如果制造出多个实例,就会导致许多问题产生,例如:程序的行为异常,资源使用过量,或者是不一致的结果。class Singleton{ private static Singleton singleton; private Singleton() { } public ... 阅读全文
posted @ 2013-11-27 08:58 阿Rain 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 在Java运行时环境中,对于任意一个类,能知道这个类有哪些属性和方法。对于任意一个对象,能调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。Java反射机制主要提供了以下功能。1.在运行时判断任意一个对象所属的类。2.在运行时构造任意一个类的对象。3.在运行时判断任意一个类所具有的成员变量和方法。4.在运行时调用任意一个对象的方法。反射机制是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其方法修饰符,父类,实现的接口,属性, 阅读全文
posted @ 2013-11-26 09:22 阿Rain 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 在Java中,生成随机数有两种方法。1是使用Random类。2是使用Math类中的random方法。我们现在做个例子,比如生成20个0到10之间的随机数。1.使用Random类的nextInt(n)方法,n代表0到n之间,包括0,不包括n。Random random = new Random();for(int i=0;i<20;i++){ System.out.println(random.nextInt(10));}2.使用Math类中的random方法,它生成的随机数是0.0到1.0之间的double。要生成int就需要类型转换。for(int i=0;i<10;i++){ 阅读全文
posted @ 2013-11-25 09:05 阿Rain 阅读(656) 评论(0) 推荐(1) 编辑
摘要: 冒泡排序的原理:假设要求的数组是正序,两两进行比较,如果前一个数比后一个数小,位置不变。如果前一个数比后一个数大,位置互换,再跟后一个数进行比较,直到最后。就是逐步把大数送到最后。举个例子:int[] array = {2,4,9,7,6,5};第一轮2和4进行比较,27,9和7的位置互换。再9和6进行比较,9>6,9和6的位置互换。再9和5进行比较,9>5,位置互换。第一轮比较的结果就是2 4 765 9。第二轮2和4进行比较,26,7和6的位置互换。再7和5进行比较,7>5,7和5的位置互换。第二轮的结果就是2 465 7 9。第三轮2和4进行比较,25,6和5的位置互换 阅读全文
posted @ 2013-11-21 15:31 阿Rain 阅读(1686) 评论(4) 推荐(0) 编辑
摘要: 本想在年初,整理心情,整理想法,不能在混下去了,重新开始写博客,总结经验和知识量。可是计划没有变化快,还没有写几篇,就经历了我从出生以来最大的磨难,我爸爸脑出血,倒下了,突然感觉天要塌下来了。之前可以说还没有“断奶”,处处依靠我爸爸,他的倒下,对我来说太不能够接受了,我每天都在想,如果这是一场噩梦,请这场噩梦快点醒来吧,但它一直没有醒来。就这几个月里,每天都去医院,有时每天要去几次,这几个月去医院的次数比我30年以前去的次数还要多。难道这是还债吗?也许我前30年生活过的太安逸了,压力太小了。经历了几个月,我的心情有些平复了,现在我的压力大了,上有老,下有小,老人生病,孩子刚20个月,不能每天哭 阅读全文
posted @ 2013-11-21 09:47 阿Rain 阅读(176) 评论(3) 推荐(0) 编辑
摘要: 以前博客是写着CSDN上的,7个月前写了一篇博客,内容如下:《七年后重新开始的博客》从2006年入行,到今年2013年,已有7个年头了,也混了7年。没有什么积累,也没有任何职业规划。现在已经是32岁的人了,以前有种说法是30以后年龄就大了,不能在编码了,应该转当项目经理了,但是如今哪有那么多的项目经理呀,还是老实的当个程序员吧,但是以后不能再这么混了,起码得在程序员前面加个高级两个字。所以得该总结自己的知识,首先从博客开始吧。很多年都没有写了,重新捡起,并且要坚持下去,不光是为自己,也为了我快14个月大的女儿,尽我所能给她最好的。-------------------------------- 阅读全文
posted @ 2013-11-20 13:34 阿Rain 阅读(163) 评论(3) 推荐(0) 编辑