- 博客(29)
- 资源 (4)
- 收藏
- 关注
转载 Spring系列(6)---总结(完)
下面我们来看看IOC和AOP的一些优劣:IOC:优势:1)可以解耦一些逻辑关系,使得这种关系更加松散,而且可以在不重新编译程序的情况下通过配置信息的更改达到更改程序逻辑的目的;2)可以大量减少一些中间(比如典型的创建逻辑)类;3)带来了很大的灵活性和可扩展性。劣势:1)只适合逻辑比较简单,而且形式比较统一,量比较大的地方,对于复杂的逻辑使用配置文件完成,反而会增加系统的复杂
2015-01-28 12:05:17 679
转载 Spring系列(6)---总结(1)
Spring当然不仅仅只包括我们前面看到的这些技术,但其核心的思想主要是IOC+AOP这两块。在前面的几块中我们着重讲了AOP,最后简单介绍了一下IOC.这个系列介绍到这儿,基本涉及了Spring主要思想和技术,并建立了自己的一个简单的AOP模型。(一)我们首先来看看我们用到了那些关键性技术:1) 动态编译或IL指令注入 框架提供了这种技术的类库支持,如果没有这种库的支持
2015-01-28 12:03:39 571
转载 Spring系列(5)---IOC技术.
说实话,我对Spring技术还是不算很了解,IOC的技术我在实体框架技术中提到过,但IOC和AOP作为Spring技术的两个核心思想,我觉得在总结之前,还是有必要说明一下我所理解的IOC.我们知道,如果两个事务之间存在逻辑关系,而且你需要根据这个逻辑关系做事,(比如类A和类B,类A需要调用类B的方法,比如ORM等),那么该做的事情,其实一件都不会少的,只是我们可以利用一些技术手段来减少直接
2015-01-28 12:01:49 641
转载 Spring系列(3/4)----一个较为完善的模型(完)
接上一篇,我们继续来完善这个模型,我们为附加责任类定义了一个接口,这样,只要实现这个接口的类都可以注册,接收代理类的调用通知;同时为了更好的交互,我们还定义了一个调用参数接口,和一个具体的调用参数类,接下来,我们再看看代理类:/// /// 代理类,从AClass继承. /// public class ProxyAClass1 : AClass
2015-01-28 12:00:08 693
转载 Spring系列(3/4)----一个较为完善的模型(续)
接上篇:4、我们知道我们进行动态代理的目的是为了附加责任,也就是在目标类方法执行的时候,我们能增加一些附加的功能。我们前面的模型虽然可以达到这个目的,但通信信息不够。观察者虽然可以获取目标类,但无法知道当前执行的方法和参数值,这在有些情况下虽然没什么不利,但既然我们的目标其实就是监视目标类的方法的执行,能有目标类执行方法时的方法信息和当前实际参数的信息,当然是更好了,为此,我们可以专门增加
2015-01-28 11:59:31 438
转载 Spring系列(3/3)---一个较为完善的模型
上一篇,我们建立了一个可用的模型,但我们也看到了它的不足,下面,我们就来继续完善这个模型:1、首先,因为委托的目的其实是为了与附加责任类进行交互,而挂接了委托的附加责任类才会收到消息,从这点来看,是一个非常典型的观察者模式应用场景,因此我们觉得引入这个模式,好处是观察注册有专门的类来负责管理,在这里是代理类行使这个责任(后面的模型会转到代理类工厂),二是附加责任类以类的身份参与,而不再是简
2015-01-28 11:58:57 484
转载 Spring系列(3/2)---交互的改进
前面一篇,我们写了一个代理类,可以实现一些功能,但作为动态代理类的原型,还是有问题的。我们来改进一下原来的类,如下: /// /// 代理类,从AClass继承.这是必须的,否则AClass能用的地方, ProxyAClass1却没法用.这里的改进主要是将需要切入的委托,采用构造参数传递进去,有利于动态构造实例。 /// public cla
2015-01-28 11:55:41 524
转载 Spring系列(3/1)---交互的一种尝试
前一篇,我们知道可以利用委托和代理来实现为目标类增加额外责任,这里我们先用一个简单的例子说明如何去实现.//目标类,有3个公共方法,但由于非虚方法无法继承,所以能够切入的只有2个公共虚方法。虽然从生产代理的角度来讲,非虚公共方法也可以截获,//但要求代理类重写该方法,而一旦重写,根据方法的调用规则,在用目标类型调用这个方法时,其实是调不到代理类中的这个方法的,所以就没有机会截获和监视。
2015-01-28 11:55:19 413
转载 Spring系列(2)--为什么需要动态代理
前一篇我把我自己实现动态包装的工厂类实现贴了出来,这一篇就来讲讲为什么要进行动态的代理。理由看起来有以下几点:1、有的时候我们需要为一些类的方法增加一些额外的责任,因为这些责任是额外的,去改动这些类当然是不好的。 对于这点,大家可以很快的想到用装饰模式或者代理模式去实现。当然,如果责任固定,而且是事先可预料的,可以在代码中预先进行处理,例如增加一个
2015-01-28 11:53:36 645
转载 Spring系列(1)--创建动态代理类
象DotNet,Java之类的语言能够进行动态代理类的创建,得益于其本身并不是直接编译成机器代码,而是编译成中间语言,在运行时才解释或动态编译成目标机器语言。这也是为什么这些概念先在Java兴起的根本原因。产生动态代理类,一般都是利用Emit命名空间的指令,但这个对IL的要求比较高,我这里利用C#提供的动态编译功能实现,优点是直观,容易理解,不用熟悉IL指令,缺点当然是显得不怎么专业。
2015-01-28 11:51:26 672
转载 数据库的几个概念:主键,外键,索引,唯一索引
主键: 主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生表中搜索一条纪录如查找一个人,就只能根据学号去查找,这才能找出唯一的一个,这就是主键;如:id int(10) not null primary key auto_increment ;自增长的类型 ;外键: 定义数据表 假如某个电脑生产商,
2015-01-27 14:47:30 766
转载 从索引技术谈数据库查询索引建立和查询条件书写
索引的优势当然是提高检索速度,但并不是说数据库建立了索引就真的会提高检索速度.为什么呢?我们知道,索引本身是有序的,索引查找的时候一般是多分查找,(当然在内存用数组实现的索引则可以做到随机查找,但数据库一般很少会采用这种方式组织,一般都是利用B+树),所以索引的查找一般不会是常数级,由于索引本身数据量问题,也不是一次就能将所有索引数据加载在内存里,所以也可能会引起多次磁盘读,加上定位到目标
2015-01-27 14:05:25 822
转载 Linux ssh登录命令
ssh命令用于远程登录上Linux主机。常用格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以用ssh -h查看。举例不指定用户:ssh 192.168.0.11指定用户:ssh -l root 192.168.0.11ssh root@192.168.0.11如果修改过ssh
2015-01-26 10:47:47 646
转载 Linux下SSH命令使用方法详解
1、查看SSH客户端版本有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH:$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003AD:WOT2015 互联网运维与开发者大会 热销抢票1、查看SSH客户端版本
2015-01-26 10:45:45 525
转载 Oracle建立表空间和用户
Oracle建立表空间和用户 [sql] view plaincopy建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create session to 用户名; grant creat
2015-01-23 10:18:37 865
转载 Java中获取文件大小的正确方法
本文出处:http://blog.csdn.net/chaijunkun/article/details/22387305,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法;另外一种是使用FileInputStream的available(
2015-01-12 14:40:14 673
转载 Linux下Mysql更改数据存储路径
MYSQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:1、home目录下建立data目录cd /homemkdir data2、把MySQL服务进程停掉:mysqladmin -u root -p shutdown3、把/var/lib/mysql整个目录移到/home/datamv /var/lib/mys
2015-01-12 14:04:46 1247
转载 Linux下修改Mysql的用户(root)的密码
修改的用户都以root为列。一、拥有原来的myql的root的密码;方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password "test123"Enter password: 【输入原来的密码】方法二:通过登录mysql系统,# mysql -uroot -pEnter password:
2015-01-12 11:01:06 433
转载 linux下在mysql数据库中创建和删除用户
第一步:进入mysqlmysql -uroot msyql -p 回车输入root用户的密码(安装mysql时自己指定的)创建一个test用户,密码位test,“%“代表联网中的所有用户都能用test用户名访问数据库(所有数据库中的所有表);grant all on *.* to 'test'@'%' identified by 'test';并将/etc/mysql/my
2015-01-12 11:00:25 3111
转载 linux下手动启动 oracle 数据库的方法
一、在Linux下启动Oracle登录到CentOS,切换到oracle用户权限# su – oracle二、查看监听器状态#lsnrctl status三、如果未启动监听器,启动监听器#lsnrctl start四、启动监听器oracle@debian:~$ lsnrctl start listener_name # 在默认情况下,就是 listener 了
2015-01-10 16:58:38 4422
转载 ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr]错误处理
先说一句废话:终于在 Debian 上安装 oracle 11g 成功了!关于 oracle 在 debian 上的安装,我是参考了这个帖子安装的(见后)http://bbs.chinaunix.net/viewthread.php?tid=1619826&extra=page%3D1%26amp%3Bfilter%3Ddigest用户环境设置也是参照该帖子而来:~
2015-01-10 16:53:05 748
转载 Mysql 的存储引擎,myisam和innodb的区别
这篇文章主要介绍了Mysql 的存储引擎,myisam和innodb的区别,需要的朋友可以参考下简单的表达。 MyISAM 是非事务的存储引擎。 innodb是支持事务的存储引擎。 innodb的引擎比较适合于插入和更新操作比较多的应用 而MyISAM 则适合用于频繁查询的应用 MyISAM --表锁。 innodb--设计合理的话是行锁。
2015-01-07 15:27:26 539
转载 深入理解MySQL的数据库引擎的类型
本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。 ISAMISAM是一个定义明确且历经时间考验的数
2015-01-07 15:25:33 514 1
转载 MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍、区别、创建和性能测试进行了详细的分析介绍,需要的朋友参考下。数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用M
2015-01-07 15:22:22 608
转载 oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集合或组合。视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立
2015-01-07 13:04:37 425
转载 Java字符串处理String、StringBuilder、StringBuffer类效率分析
字符串操作是编写程序中最常见的行为,本文对String、StringBuilder、StringBuffer三个类在字符串处理方面的效率进行分析。Java中最常见也是应用最广泛的类就是String类。String:Strings are constant; their values cannot be changed after they are created.这是JDK对Strin
2015-01-06 21:40:57 767
转载 mysql主从同步配置测试步骤图例
mysql主从同步配置测试步骤图例目的:测试主从mysql之间的数据库同步效果测试环境:Master(主): RHEL 5.5 x86-64 Mysql.5.0.77 ip: 10.86.21.147Slave(从): RHEL 5.5 x86-64 Mysql.5.0.77 ip: 10.86.21.146测试数据库名
2015-01-06 13:09:53 1594
转载 mysql数据库的主从同步
数据库备份方案mysql数据库的主从同步一. 实验环境部署主服务器(mysql master) IP:192.168.1.107 端口3306从服务器(mysql slave) IP: 192.168.1.127 端口3306I. 主服务器的操作1. 关于主服务器的相关配置1.1 设置server-id值并开启binlog参
2015-01-06 11:55:08 886
转载 怎么申请网站空间
网站空间的概念:虽然现在是一个信息发展迅速的年代,但是还是有很多人只了解网站的使用,而不知道一个网站是怎么样建立起来的。其实网站就是建立在网络服务器上的一组web文件,这些东西是要占用一定的硬盘空间的。这些就是我们通常所说的网站空间。那肯定大家也很关心一个企业网站究竟要占用多少的空间呢?一个企业网站的基本网页HTML文件和网页图片基本上需要1~30M的网站空间,产品的照片和各种介绍性页面的大小一般
2015-01-02 13:38:58 913
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人