- 博客(28)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 动态规划:0-1背包问题
0-1背包问题以下是我对0-1背包问题的理解与分析(包含代码)import java.util.Scanner;public class Test { public static void main(String[] args) { // TODO 自动生成的方法存根 System.out.println("请输入物品的个数n:"); Sca
2017-06-09 23:26:35
469
原创 java设计模式——迭代器模式
迭代器模式迭代器模式的定义: 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 何为“迭代”:指的是每一次对过程的重复,迭代器就是遍历集合,直到集合中的元素被遍历一遍 迭代器模式的参与者: (1)迭代器接口(iteator):它包含一些抽象方法,利用这些方法可以在集合元素之间游走 (2)具体迭代器(concreteiterator):实现迭代器接口的抽象方法,负责实现
2017-05-20 15:10:25
504
原创 oracle数据库触发器
instead of触发器instead of触发器介绍 instead of触发器代替触发动作,并在处理约束之前激发(对于每个触发操作,每个表或视图都只能有一个instead of触发器。而一个表对于每个触发操作可以有多个after触发器) instead of触发器的创建模板: create or replace trigger 触发器名 instead of 触发事件 on 表名|视图
2017-05-17 09:59:34
567
原创 关于几个数据库对象的查看
数据库对象的查看什么是数据库对象 数据库对象式数据库的组成部分:含有表(table),索引(index),视图(view),图表(Diagram)、缺省值(Default)、规则(Rule)、触发器(Trigger)、存储过程(StoredProcedure)、用户(User)等几种 如何查看用户创建的这些对象 很多时候,数据库管理员创建了一个数据库对象,但是一段儿时间后,发现已经忘了创建了哪
2017-05-17 09:51:38
1253
原创 java设计原则——高内聚低耦合
高内聚低耦合二者的定义如下: 内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 耦合性:又称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
2017-05-16 18:38:21
3636
原创 java设计模式——适配器模式三
适配器模式:双向适配器介绍:由名字可知,该适配器既可以将目标接口适配成被适配者,也可以将被适配者适配成目标接口(前者其实只是将目标接口与被适配者接口角色互换) 定义:在对象适配器的使用过程中,如果在适配器中同时包含对目标类和适配者类的对象引用(即同时依赖于被适配者类和目标接口),适配者可以通过调用目标接口中的方法,目标接口也可以通过它调用适配者类中的方法,那么该适配器就是一个双向适配器。 以下是
2017-05-15 17:43:00
470
原创 java设计模式——命令模式一
命令模式第一篇一:命令模式的定义: 将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 二:命令模式所含有得成员: (1)command(命令接口),它是所有命令的接口,声明执行命令的方法(面向接口编程,而非面向具体) (2)concretecommand(具体命令),命令的请求者(将请求封装成了对象——concretcommand),通常含
2017-05-09 18:23:59
377
原创 java设计模式——单件模式
设计模式:单件模式一单件模式定义: 确保一个类只有一个实例,并提供一个全局访问点。 (1)一个类只有一个实例就是在类内声明一个本类的对象引用。 (2)提供一个全局访问点就是在类内提供一个实例化该对象引用的公有静态方法 (3)要将类内的对象引用和全局访问点(实例化该对象引用的方法)声明为public和static。因为二者要通过类名在类外使用 (4)经全局访问点实例化后的对象引用,可以在类外
2017-05-07 20:20:39
553
原创 java设计模式——工厂模式三
工厂模式第三篇:工厂方法模式和抽象工厂模式一:两种模式的定义 工厂方法模式: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。工厂方法能够封装具体类型的实例化。工厂方法不一定必须要定义在“工厂类”中,他也可以封装在“客户类”中(就像工厂模式第二篇的代码示例中:将“工厂方法”pizzamake封装在“客户类”pizzastore中) 抽象工厂模式:
2017-05-06 20:28:25
401
原创 java设计模式——工厂模式二
工厂模式第二篇对工厂模式的个人理解: (1)工厂模式的核心在于“工厂”,通过“工厂类”的“工厂方法”创建“产品”对象(即让工厂方法返回“产品”对象)。工厂方法是“产品类”与“客户类”(需要某种产品的类)之间的桥梁。工厂方法返回一个具体的产品对象,以供客户类使用(往往客户类中含有一个抽象产品类的对象引用——然后将工厂方法返回的具体产品对象赋于该对象引用,在使用该对象引用调用具体产品类的方法) (2
2017-05-06 12:00:12
414
原创 java设计模式——装饰者模式
装饰者模式第一篇装饰者模式含有的几个成员: (1)装饰者:装饰者继承自被继承者,但同时又含有一个被装饰者的对象引用(用来确定塔装是哪一个对象),装饰者“有一个”组件(即装饰者含有一个被装饰者的对象引用,将被装饰者的一些方法委托于该引用——即通过该引用调用被装饰者的一些方法)。装饰者通过调用(继承自与具体被装饰者共同的)父类的一些方法(这些方法中通过被装饰者的对象引用调用被装饰者的方法)来实现装饰被
2017-05-04 21:45:03
357
原创 java设计模式——观察者模式
观察者模式一:观察者模式所含的两个重要元素: (1)观察者:将接收“主题”类传递进来的更新数据 (2)主题(被观察者):当数据更新时,将通知他的观察者对象列表中的所有对象。观察者对象接收到更新数据时将做出一系列反应,主题是真正含有数据的类。 注:观察者和被观察者(主题)之间是松耦合关系,被观察者(主题)只关注观察者实现了哪一个类,而不关心她是如何实现的,以及观察者中含有哪些方法。(主题之所以要
2017-05-03 12:22:21
407
原创 java设计模式——工厂模式一
java工厂方法模式工厂方法模式所包含的成员: (1)抽象产品(product):抽象类或者接口,用于定义具体产品必须实现的方法 (2)具体产品(concreteproduct):如果product是一个抽象类,那么具体产品是product的子类;如果product是一个接口,那么具体产品是实现该接口的类。 注:一般情况下,一个抽象产品是一个抽象类,而具体产品是派生出的众多继承该抽象产品类的不
2017-04-22 15:22:33
408
原创 java设计模式——适配器模式二
Java适配器模式——类适配器模式类适配器模式UML图示: public interface target { //目标接口 public void tspeak();}public interface adaptee { //被适配者类 public void aspeak();}public class adapter implements target
2017-04-22 14:30:25
450
原创 java设计模式——适配器模式一
java设计模式——适配器模式适配器模式的成员 (1)目标(target):目标是一个接口,该接口是客户想要使用的接口 (2)适配器(adapter):适配器是一个类,该类实现了目标接口和被适配者接口(这属于类适配器)。或者是:适配器类实现了目标接口,而与被适配者接口直接关联(这属于对象适配器:相对于类适配器更为灵活)。总而言之:适配器的职责是对被适配者接口与目标接口进行适配。 (3)被适配接
2017-04-22 11:04:26
428
转载 oracle关于权限的一些sql语句
如何查看某个角色被授予的权限Oracleselect * from dba_role_privs; 授予用户和其他角色的角色select * from dba_sys_privs; 授予用户和其他角色的系统权限select * from dba_tab_privs; 数据库中对象的所有授权参考:查看角色 权限 Oracle 谷歌DBA是用户名,是角色
2017-04-12 12:12:58
438
原创 oracle参数文件
oracle的参数文件1、简介:oracle中的参数文件是一个包含一系列参数以及参数对应的值的系统文件,它可以分为两种类型:pfile和spfile。他们是在数据库实例启动时加载的,决定了数据库的物理结构,内存,数据库的限制及系统大量的默认值,数据库的各种物理属性,指定数据控制文件名(当数据库实例由nomount启动到mount状态时,就会通过参数文件找到对应的控制文件,来装载对应的数据库)和
2017-04-09 11:47:14
1502
原创 高速缓冲存储器cache
一:高速缓冲存储器的诞生:(1)由于主存的访存速度和cpu的运算速度相差较大,所以需要一个介于他们两者之间的东西(高速缓冲存储器cache)去平衡两者的速度。 (2)由于I/O设备向主存请求的级别高于cpu访存,这就出现了cpu等待I/O设备访存的现象,致使cpu空等一段时间,甚至可能等待几个主存周期,从而降低了cp
2017-03-30 16:02:28
1477
原创 抽象类和接口的区别
抽象类:抽象类是一种有抽象方法的类,抽象方法只有声明,没有具体的实现,同时抽象类也可以有默认的方法实现。(即若一个类中有用abstract关键字修饰的抽象方法,则这个类就是抽象类,但是抽象类中可以有非抽象方法——这是与接口的不同之处之一,接口内部只能声明方法,而不能有具体的方法实现。)抽象类特点: 1. 抽象类不能被实例化,只能被子类继承。 2. 继承抽象类的
2017-03-18 20:48:29
795
原创 递归的概念
系统在实现子程序的调用时,要用栈方式管理调用子程序时的返回地址,子程序调用的内部实现为两个方面:1、通常,在一个算法中调用另一个算法时,系统需在运行被调用算法之前完成三件事:(1)将所有实参指针、返回地址等信息传递给被调用算法;(2)为被调用算法的局部变量分配存储区;(3)将控制转移到被调用算法的入口。2、在被调用算法返回调用算法时,系统也相应地要完成三件事:(1)保存被调
2017-03-15 20:09:07
1468
原创 linux的相关知识
1,X Window即X Window的图形用户接口,是一种计算机软件系统和网络协议,提醒了一个基础的用户图形界面(GUI)和丰富的输入设备能力联网计算机。
2017-02-22 10:33:47
347
原创 c#委托及事件响应第二篇
1、委托是c#的一个新增的类(同string和Integer等基本类型一样)(1)但是委托不同于string类的一个特性是:可以将一个方法绑定给多个委托,也可以给一个委托绑定多个方法,在程序调用这个委托的时候,程序将依次调用该委托所绑定的方法。(2)使用委托可以将多个方法绑定到同一个委托变量,在调用该变量时(之所以用调用这个词,是因为该变量实际上是一个方法,这就回到了委托的定义:委托是一个
2017-02-19 12:37:42
752
原创 c#委托及事件响应第一篇
private void button1_Click(object sender, System.EventArgs e) {}1,这是一个button的响应事件(click事件),以下是该事件的参数说明:一般情况下,事件的响应方法中都有两个参数,其中一个代表引发事件的对象即sender,由于引发事件的对象不可预知的,因此我们把其声明成为object类型,所有的对象都适用。
2017-02-16 19:52:39
623
原创 递归算法的理解
今天我对递归算法做了一个彻底的总结,总算是悟出了一些东西递归算法是软件设计中解决递归问题的思想。什么是递归。我们可以从字面意思去理解他的意思。递归递归,先递再归。递的意思就是递推,即从高向下逐步展开。归的意思就是回归,即从下向上进行。也就是说当你拿到了一个复杂的东西,你不知道怎么解决。你可以对他进行拆解,拆解到你能解决的情况,然后从你能够解决的情况入手逐步解决你上层不能解决的问题。打个比方,你
2017-01-16 10:21:35
3086
原创 冒泡排序
对于冒泡排序,自己通过手写代码有一个体会:标记掌控者排序的结束与进行,与其说其实一个冒泡排序,我感觉更不如说他为标记排序。说它为冒泡排序的原因是,这种算法进行时的状态就像是冒泡,只比较相邻元素的大小。每一趟找出序列中的最大值(最小值)置于序列末端(前端),以下是我的代码
2017-01-15 11:16:46
341
原创 直接选择排序
这是我自己写的选择排序算法,与前人写的选择排序有一定的差异。可以说我这是选择排序和冒泡排序的结合,每一趟找准最小元素的位置然后将其插入前面的有序序列的末尾,最终完成排序。以下是我写的代码
2017-01-14 22:55:52
420
原创 希尔排序(加强版的直接插入排序)
希尔排序又称为缩小增量排序,是直接插入排序的增强版。其核心思想是,每一趟对数列中的元素进行分组,然后各个分组进行直接插入排序
2017-01-14 21:56:41
345
汉诺塔问题的递归思想
2017-01-16
递归过程到底是如何进行的
2017-01-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人