`
文章列表
近期在研究谷歌出的一个轻量级的di框架guice,整合实现jsr311标准的jersey框架,网上这方面的资料不多,所以记录下学习过程以及抛出问题的,大家一起学习讨论。 Pom配置文件:   web.xml的配置: <listener> <listener-class>com.nd.sdp.guice.WafGuiceServletContext</listener-class> </listener> <filter> <filter-name>guiceFilter</fi ...

Mysql主从结构

一、mysql主从的原理 1、Replication 线程 Mysql的 Replication 是一个异步的复制过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。 要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary Log(mys ...
Abator 能自动生成DAO,DTO和sqlMap,大大提高开发效率。 1. 介绍 Abator 是一款iBATIS代码生成工具。它从数据库获取信息,然后产生如下文件。 1) 数据库表的SqlMap.xml file 文件,如UserSQL.xml; 2) 数据库表的Java Bean Model,如User.java; 3) 包含一个综合主键的数据库表的主键model,如UserKey.java; 4) 包含DAO层 selectByExample方法的example文件, UserExample.java; 5) 提供插入、更新、查询、删除方法的DAO接口  UserDAO.java; ...
Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。 JNDI方式创建DataSource     以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件 ...
最近在学习怎么建设一个高性能的web网站,查看了一些资料,整理如下: 第一: 搭建科学的系统架构 需要从严格的软件工程管理的角度进行认真规划,有步骤有逻辑地进行开发。对于大型网站来说, 所采用的技术涉及面极其 ...
1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资 ...
什么是shell Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是 ...
1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。 ●如 ...
一、负载均衡技术 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。 1、实现原理 实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具体控制访问某个数据库了,然后还可以根据数据库的当前负载采取有效的均衡策略,来调整每次连接到哪个数据库。 2、实现多据库数据同步 对于负载均衡,最重要的就是所有服务器的数据都是实时同步的。这是 ...

MySQL 性能优化

公司网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 MySQL 的优化,第一步自然想到的是 MySQL 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 MySQL 默认的系统参数能够让 MySQL运行得非常顺畅。 通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的: (1)、back_log: 要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。 back_log值指出在MySQL暂时停止回答新请求之前的短 ...
Spring Mvc处理流程: 1.客户端通过浏览器请求提交到DispatcherServlet 2.DispatcherServlet查找一个或多个HandlerMapping,找到处理请求的Controller 3.DispatcherServlet讲请求提交到Controller 4.Controller调用业务逻辑处理后,返回ModelAndView 5.DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView指定的视视图 6.视图负责将结果显示到客户端
package com.eric.design.decorator; //单向适配器模式就是在主模块上接入另外一个模块,用继承法 //装饰器模式特点:主模块注入到扩展模块中 interface IRead{ public void read(); } class ReadStrFromFile implements IRead{//主模块 public void read(){ System.out.println("ReadStrFromFile.read()"); } } class ReadStrFromNet implement ...
package com.eric.design.adapter; //双向适配器模式 interface IAa{ public void funA1(); public void funA2(); } class Aa implements IAa{ public void funA1(){ System.out.println("Aa:funA1"); } public void funA2(){ System.out.println("Aa:funA2"); } } interface IBb{ ...
package com.eric.design.adapter; //如果将类B接到类A上用,这叫做单向适配器模式,A主动,B被动 //单向适配器模式要点:继承方法 //被动方以后可能被切换,所以为了方便,最好面向接口编程, class A{ public void funA(){ System.out.println("A:funA()"); } } interface IExtendModule{//定义一个接口,管理所有的扩展模块(被动方模块) public void extendFun(); } class B impleme ...
单态设计模式的特点 1、单态类确保自己有却只有一个实例。 2、单态类必须自己创建自己的实例。 3、单态类必须为其他对象提供唯一的实例。 单例模式的优点: 在内存中只有一个对象,节省内存空间。 避免频繁的创建销毁对象,可以提高性能。 避免对共享资源的多重占用。 可以全局访问。 代码: package Singleton; //单例实现方法一 class FileDao{ private static FileDao fileDao = new FileDao(); public static FileDao getFileDao(){ return fi ...
Global site tag (gtag.js) - Google Analytics