- 博客(179)
- 资源 (4)
- 收藏
- 关注
转载 虚拟IP原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。
2017-02-08 10:50:04
615
转载 Spring系列(6)---总结(完)
下面我们来看看IOC和AOP的一些优劣:IOC:优势:1)可以解耦一些逻辑关系,使得这种关系更加松散,而且可以在不重新编译程序的情况下通过配置信息的更改达到更改程序逻辑的目的;2)可以大量减少一些中间(比如典型的创建逻辑)类;3)带来了很大的灵活性和可扩展性。劣势:1)只适合逻辑比较简单,而且形式比较统一,量比较大的地方,对于复杂的逻辑使用配置文件完成,反而会增加系统的复杂
2015-01-28 12:05:17
717
转载 Spring系列(6)---总结(1)
Spring当然不仅仅只包括我们前面看到的这些技术,但其核心的思想主要是IOC+AOP这两块。在前面的几块中我们着重讲了AOP,最后简单介绍了一下IOC.这个系列介绍到这儿,基本涉及了Spring主要思想和技术,并建立了自己的一个简单的AOP模型。(一)我们首先来看看我们用到了那些关键性技术:1) 动态编译或IL指令注入 框架提供了这种技术的类库支持,如果没有这种库的支持
2015-01-28 12:03:39
607
转载 Spring系列(5)---IOC技术.
说实话,我对Spring技术还是不算很了解,IOC的技术我在实体框架技术中提到过,但IOC和AOP作为Spring技术的两个核心思想,我觉得在总结之前,还是有必要说明一下我所理解的IOC.我们知道,如果两个事务之间存在逻辑关系,而且你需要根据这个逻辑关系做事,(比如类A和类B,类A需要调用类B的方法,比如ORM等),那么该做的事情,其实一件都不会少的,只是我们可以利用一些技术手段来减少直接
2015-01-28 12:01:49
678
转载 Spring系列(3/4)----一个较为完善的模型(完)
接上一篇,我们继续来完善这个模型,我们为附加责任类定义了一个接口,这样,只要实现这个接口的类都可以注册,接收代理类的调用通知;同时为了更好的交互,我们还定义了一个调用参数接口,和一个具体的调用参数类,接下来,我们再看看代理类:/// /// 代理类,从AClass继承. /// public class ProxyAClass1 : AClass
2015-01-28 12:00:08
732
转载 Spring系列(3/4)----一个较为完善的模型(续)
接上篇:4、我们知道我们进行动态代理的目的是为了附加责任,也就是在目标类方法执行的时候,我们能增加一些附加的功能。我们前面的模型虽然可以达到这个目的,但通信信息不够。观察者虽然可以获取目标类,但无法知道当前执行的方法和参数值,这在有些情况下虽然没什么不利,但既然我们的目标其实就是监视目标类的方法的执行,能有目标类执行方法时的方法信息和当前实际参数的信息,当然是更好了,为此,我们可以专门增加
2015-01-28 11:59:31
469
转载 Spring系列(3/3)---一个较为完善的模型
上一篇,我们建立了一个可用的模型,但我们也看到了它的不足,下面,我们就来继续完善这个模型:1、首先,因为委托的目的其实是为了与附加责任类进行交互,而挂接了委托的附加责任类才会收到消息,从这点来看,是一个非常典型的观察者模式应用场景,因此我们觉得引入这个模式,好处是观察注册有专门的类来负责管理,在这里是代理类行使这个责任(后面的模型会转到代理类工厂),二是附加责任类以类的身份参与,而不再是简
2015-01-28 11:58:57
519
转载 Spring系列(3/2)---交互的改进
前面一篇,我们写了一个代理类,可以实现一些功能,但作为动态代理类的原型,还是有问题的。我们来改进一下原来的类,如下: /// /// 代理类,从AClass继承.这是必须的,否则AClass能用的地方, ProxyAClass1却没法用.这里的改进主要是将需要切入的委托,采用构造参数传递进去,有利于动态构造实例。 /// public cla
2015-01-28 11:55:41
559
转载 Spring系列(3/1)---交互的一种尝试
前一篇,我们知道可以利用委托和代理来实现为目标类增加额外责任,这里我们先用一个简单的例子说明如何去实现.//目标类,有3个公共方法,但由于非虚方法无法继承,所以能够切入的只有2个公共虚方法。虽然从生产代理的角度来讲,非虚公共方法也可以截获,//但要求代理类重写该方法,而一旦重写,根据方法的调用规则,在用目标类型调用这个方法时,其实是调不到代理类中的这个方法的,所以就没有机会截获和监视。
2015-01-28 11:55:19
445
转载 Spring系列(2)--为什么需要动态代理
前一篇我把我自己实现动态包装的工厂类实现贴了出来,这一篇就来讲讲为什么要进行动态的代理。理由看起来有以下几点:1、有的时候我们需要为一些类的方法增加一些额外的责任,因为这些责任是额外的,去改动这些类当然是不好的。 对于这点,大家可以很快的想到用装饰模式或者代理模式去实现。当然,如果责任固定,而且是事先可预料的,可以在代码中预先进行处理,例如增加一个
2015-01-28 11:53:36
687
转载 Spring系列(1)--创建动态代理类
象DotNet,Java之类的语言能够进行动态代理类的创建,得益于其本身并不是直接编译成机器代码,而是编译成中间语言,在运行时才解释或动态编译成目标机器语言。这也是为什么这些概念先在Java兴起的根本原因。产生动态代理类,一般都是利用Emit命名空间的指令,但这个对IL的要求比较高,我这里利用C#提供的动态编译功能实现,优点是直观,容易理解,不用熟悉IL指令,缺点当然是显得不怎么专业。
2015-01-28 11:51:26
698
转载 数据库的几个概念:主键,外键,索引,唯一索引
主键: 主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生表中搜索一条纪录如查找一个人,就只能根据学号去查找,这才能找出唯一的一个,这就是主键;如:id int(10) not null primary key auto_increment ;自增长的类型 ;外键: 定义数据表 假如某个电脑生产商,
2015-01-27 14:47:30
815
转载 从索引技术谈数据库查询索引建立和查询条件书写
索引的优势当然是提高检索速度,但并不是说数据库建立了索引就真的会提高检索速度.为什么呢?我们知道,索引本身是有序的,索引查找的时候一般是多分查找,(当然在内存用数组实现的索引则可以做到随机查找,但数据库一般很少会采用这种方式组织,一般都是利用B+树),所以索引的查找一般不会是常数级,由于索引本身数据量问题,也不是一次就能将所有索引数据加载在内存里,所以也可能会引起多次磁盘读,加上定位到目标
2015-01-27 14:05:25
854
转载 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
702
转载 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
569
转载 Oracle建立表空间和用户
Oracle建立表空间和用户 [sql] view plaincopy建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create session to 用户名; grant creat
2015-01-23 10:18:37
898
转载 Java中获取文件大小的正确方法
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/22387305,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法;另外一种是使用FileInputStream的available(
2015-01-12 14:40:14
703
转载 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
1285
转载 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
466
转载 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
3147
转载 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
4483
转载 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
769
转载 Mysql 的存储引擎,myisam和innodb的区别
这篇文章主要介绍了Mysql 的存储引擎,myisam和innodb的区别,需要的朋友可以参考下简单的表达。 MyISAM 是非事务的存储引擎。 innodb是支持事务的存储引擎。 innodb的引擎比较适合于插入和更新操作比较多的应用 而MyISAM 则适合用于频繁查询的应用 MyISAM --表锁。 innodb--设计合理的话是行锁。
2015-01-07 15:27:26
560
转载 深入理解MySQL的数据库引擎的类型
本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。 ISAMISAM是一个定义明确且历经时间考验的数
2015-01-07 15:25:33
540
转载 MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍、区别、创建和性能测试进行了详细的分析介绍,需要的朋友参考下。数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用M
2015-01-07 15:22:22
631
转载 oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集合或组合。视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立
2015-01-07 13:04:37
449
转载 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
782
转载 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
1622
转载 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
920
转载 怎么申请网站空间
网站空间的概念:虽然现在是一个信息发展迅速的年代,但是还是有很多人只了解网站的使用,而不知道一个网站是怎么样建立起来的。其实网站就是建立在网络服务器上的一组web文件,这些东西是要占用一定的硬盘空间的。这些就是我们通常所说的网站空间。那肯定大家也很关心一个企业网站究竟要占用多少的空间呢?一个企业网站的基本网页HTML文件和网页图片基本上需要1~30M的网站空间,产品的照片和各种介绍性页面的大小一般
2015-01-02 13:38:58
996
转载 Java 采用DES 加密和解密源码
Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性。 2) 实现的独立性和相互作用性。 算法的独立性是通过定义密码服务类来获得。用户只需了解密码算法的概念,而不用去关心如何实现这些概念。实现的独立性和相互作用性通过密码服务提供器来实现。密码服务提供器是实现一个或多个密码服务的一个或多个程序包。软件开发商根据一定接口,将各种算法实现后,打包成一个提供器,用户可以安装不同的提
2014-12-29 20:42:34
772
转载 JAVA之编码/解码-文件输入输出流
问题一:在java中读取文件时应该采用什么编码?Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换成String。在最后一步隐藏了一个编码的细节,new String(byte[]);会使用操作系统默认的
2014-12-26 17:43:04
842
转载 既然读文件要使用和文件编码一致的编码,那么javac编译文件也需要读取文件,它使用什么编码呢?
这个问题从来就没想过,也从没当做是什么问题。正是因为问题一而引发的思考,其实这里还是有东西可以挖掘的。下面分三种情况来探讨,这三种情况也是我们常用的编译java源文件的方法。 1.javac在控制台编译java类文件。 通常我们手动建立一个java文件Demo.java,并保存。此时Demo.java文件的编码为ANSI,中文操作系统下就是GBK.然后使用j
2014-12-26 17:41:15
1279
转载 java中读取文件时应该采用什么编码
Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换成String。在最后一步隐藏了一个编码的细节,new String(byte[]);会使用操作系统默认的字符集来解码字节数组,中文操作系统就是GBK。而我们从输
2014-12-26 17:38:22
2372
1
转载 Ubuntu下的mysql安装
今天同事突然找到我说需要在原有的Master上安装mysql服务,于是自己便放下手头的工作开始马不停蹄地忙活起来,下面简单记录一下今天的安装过程吧!一、验证原有主机上是否安装mysql: 这里主要是运行sudo netstat -tap | grep mysql命令查看是否有Mysql的端口,如果不加sudo的话因为权限无法顺利执行:二、安装mysql 确定
2014-12-25 16:02:58
357
转载 JAVA IO 流的关闭顺序!
java中的各种流由于使用了装饰器实现,所以,有时候关闭需要调用好几个流的close()方法。以前从老员工那里形成的习惯是,从后面的往前关,先关装饰器的,最后关最早的流。上几天有个帖子里又说要反过来顺序关闭,有说关最里面一个,有说关最外面一个,公说公有理,今天我就来小小测试一下。范围:局限在jdk官方提供的流,至于你自己实现的流有什么行为只有你知道。测试结论
2014-12-24 20:17:03
3619
1
转载 使用GZIP和Zip压缩Java数据流(转)
本文通过对数据压缩算法的简要介绍,然后以详细的示例演示了利用java.util.zip包实现数据的压缩与解压,并扩展到在网络传输方面如何应用java.util.zip包现数据压缩与解压综述许多信息资料都或多或少的包含一些多余的数据。通常会导致在客户端与服务器之间,应用程序与计算机之间极大的数据传输量。最常见的解决数据存储和信 息传送的方法是安装额外的存储设备和扩展现有的通讯能力。这样做是可
2014-12-24 15:49:38
2154
转载 MySql配置ODBC数据源详解
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。所以说mysql配置ODBC数据源也很重要。工具/原料事先配置相应的环境 mysql(mysql安装程序) mysql-connector-odbc-3.51.20-win32.exe或者mysql-connecto
2014-12-23 19:40:45
2093
3
转载 防止未登录用户操作—struts2拦截器简单实现
一般,我们的web应用都是只有在用户登录之后才允许操作的,也就是说我们不允许非登录认证的用户直接访问某些页面或功能菜单项。我还记得很久以前我的做法:在某个jsp页面中查看session中是否有值(当然,在用户登录逻辑中会将用户名或者用户对象存入session中),如果session中用户信息为空,那么redirect 到登录页面。然后在除了登录页面外的其它所有需要验证用户已登录的页面引入这个jsp
2014-12-22 21:14:51
1217
转载 Ubuntu安装虚拟机XP系统 实现文件的共享
1.准备工作 首先去以下网址下载相应版本的Virtualbox和相应版本的VirtualBox_Extension_Pack,后面这个是为了装好后,虚拟系统与主机进行交互用的.https://www.virtualbox.org/wiki/Downloads。2.安装Virtualbox 双击Virtualbox安装包,点击安装,输入密码,等待安装完成。
2014-12-22 21:09:22
673
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人